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

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

▶ ファナック株式会社の特許一覧

特許7464712ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム
<>
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図1
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図2
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図3
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図4
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図5
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図6
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図7
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図8
  • 特許-ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-01
(45)【発行日】2024-04-09
(54)【発明の名称】ポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラム
(51)【国際特許分類】
   G05B 19/4097 20060101AFI20240402BHJP
   G05B 19/4069 20060101ALI20240402BHJP
   G05B 19/4093 20060101ALI20240402BHJP
【FI】
G05B19/4097 C
G05B19/4069
G05B19/4093 F
【請求項の数】 11
(21)【出願番号】P 2022533987
(86)(22)【出願日】2021-06-28
(86)【国際出願番号】 JP2021024326
(87)【国際公開番号】W WO2022004645
(87)【国際公開日】2022-01-06
【審査請求日】2023-02-07
(31)【優先権主張番号】P 2020115870
(32)【優先日】2020-07-03
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】齊藤 極
(72)【発明者】
【氏名】花岡 修
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開平11-123657(JP,A)
【文献】特開2003-271215(JP,A)
【文献】特開2004-265024(JP,A)
【文献】特開2019-082852(JP,A)
【文献】特開2020-071734(JP,A)
【文献】米国特許出願公開第2005/0102054(US,A1)
【文献】米国特許出願公開第2009/0326892(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/46
(57)【特許請求の範囲】
【請求項1】
機械に依存しない加工指令が入力される加工指令入力部と、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得するCNC情報取得部と、
加工目標に関する加工目標情報が入力される加工目標入力部と、
前記CNC情報取得部で取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断する、使用可能機能判断部と、
前記加工指令に基づいて、前記使用可能機能判断部で使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成する、加工プログラム生成部と、
前記加工プログラム生成部で生成された加工プログラムに基づき加工結果をシミュレートする加工シミュレーション部と、
前記加工目標に応じて、前記加工シミュレーション部から出力される加工シミュレーション結果を評価する加工シミュレーション結果評価部と、
前記加工シミュレーション結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する加工プログラム出力部と、
を含む、
ポストプロセッサ。
【請求項2】
前記CNC情報取得部は、前記CNC装置のパラメータ情報を取得し、
前記加工プログラム生成部は、前記CNC装置のパラメータ情報に含まれる前記CNC装置の一つ以上のパラメータの値を変更する指令を含む前記加工プログラムを生成する、
請求項1に記載のポストプロセッサ。
【請求項3】
前記CNC情報取得部は、前記CNC装置のパラメータ情報を取得し、
前記加工シミュレーション部は、前記CNC装置のパラメータ情報に含まれる前記CNC装置の1つ以上のパラメータが異なる複数の条件で加工シミュレーションを行い、
前記加工プログラム出力部は、前記加工シミュレーション結果の評価に基づいて、加工に用いる加工プログラムを選択し、前記CNC装置の一つ以上のパラメータの値を変更する指令を前記加工プログラムに挿入して出力する、
請求項1に記載のポストプロセッサ。
【請求項4】
前記CNC情報取得部は、前記CNC装置のパラメータ情報を取得し、
前記加工シミュレーション部は、前記CNC装置のパラメータ情報に含まれる前記CNC装置の1つ以上のパラメータが異なる複数の条件で加工シミュレーションを行い、
前記加工シミュレーション結果の評価に基づいて、前記CNC装置の1つ以上のパラメータの番号と該パラメータの値との組から成るCNCパラメータ情報を出力する、CNCパラメータ情報出力部を備える、
請求項1に記載のポストプロセッサ。
【請求項5】
加工後の目標形状情報が入力される目標形状情報入力部を備え、
前記加工シミュレーション結果評価部は、前記加工シミュレーション結果と前記目標形状情報に基づいて前記加工シミュレーション結果を評価する、
請求項1から4のいずれか1項に記載のポストプロセッサ。
【請求項6】
前記加工指令入力部は、加工が1つ以上の加工工程の集合として記述された加工指令が入力され、
前記加工目標入力部は、加工工程ごとに異なる加工目標が入力され、
前記加工プログラム生成部は、加工工程ごとの加工プログラムを生成する、
請求項1から5のいずれ1項に記載のポストプロセッサ。
【請求項7】
前記CNC装置に内蔵されている、
請求項1から6のいずれか1項に記載のポストプロセッサ。
【請求項8】
加工前の素材形状の情報が入力される素材形状情報入力部、又は加工に用いる工具の工具形状の情報が入力される工具形状情報入力部を備え、
前記加工シミュレーション部は、前記加工前の素材形状の情報又は前記工具形状の情報を用いて加工シミュレーションを行う
請求項1から7のいずれか1項に記載のポストプロセッサ。
【請求項9】
請求項1から6のいずれか1項に記載のポストプロセッサと、該ポストプロセッサと接続されるCNC装置を有し、該ポストプロセッサから出力された加工プログラムに基づいて加工物のCNC機械加工を行うCNC加工機械と、
を備えたCNC加工システム。
【請求項10】
機械に依存しない加工指令が入力され、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得し、
加工目標に関する加工目標情報が入力され、
取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断し、
前記加工指令に基づいて、使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成し、
生成された加工プログラムに基づき加工結果を加工シミュレーションし、
前記加工目標に応じて、加工シミュレーションの結果を評価し、
前記加工シミュレーションの結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する、
ポストプロセッサの加工プログラム生成方法。
【請求項11】
ポストプロセッサとしてのコンピュータに、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得する処理と、
取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断する処理と、
機械に依存しない加工指令に基づいて、使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成する処理と、
生成された加工プログラムに基づき加工結果を加工シミュレーションする処理と、
入力された加工目標に応じて、加工シミュレーションの結果を評価する処理と、
前記加工シミュレーションの結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する処理と、
を実行させる加工プログラム生成用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ポストプロセッサ、加工プログラム作成方法、CNC加工システム及び加工プログラム生成用プログラムに関する。
【背景技術】
【0002】
コンピュータ数値制御装置(CNC装置)により制御され、工具もしくは加工物(ワーク)を作製するためのテーブルを動かしワークを作製する工作機械において、機械の動作は加工プログラム(Gコード等)で与えられる。
しかし、加工プログラムは機械メーカ、又は機械のオプションにより異なっているため、CAM(Computer Aided Manufacturing)装置は機械に依存しない加工指令であるCL(Cutter location)データを出力し、CLデータはポストプロセッサにより個々の機械に応じた加工プログラムに変換される。
そのため、CNCの機能を活用した加工プログラムが生成できるかどうかは、ポストプロセッサの性能に依存する。
【0003】
CNC装置が、仕上削りおよび荒削りのような特定の実行すべき加工工程を工作機械に実行させるために、CNC装置が制御サブプログラムを呼び出して使用する方法が特許文献1に記載されている。
具体的には、特許文献1には、制御装置(CNC装置となる)において特定の実行すべき加工工程のために制御サブプログラムを指定する使用可能性情報が読み込まれることが記載されている。そして、特許文献1には、使用可能な制御サブプログラムおよび運動情報に基づいて、実行すべき加工工程のために当該加工工程に付属する制御サブプログラムが使用可能である場合に、当該加工工程に付属する制御サブプログラムの呼出しのための制御サブプログラム呼出し要求が制御命令として発生させられることが記載されている。
【0004】
また、部分プログラムのシミュレーション時に使用された工作機械の構成と実際の加工プロセスの際の実際の工作機械の構成との不一致に起因する加工プロセス時の誤りを回避する方法が特許文献2に記載されている。
具体的には、特許文献2には、工作機械の加工プロセスが部分プログラムにより制御可能であり、工作機械の現在の構成が求められ、現在の構成と、部分プログラム内に格納されている工作機械のシミュレーション構成とが比較され、現在の構成とシミュレーション構成との不一致時に警報が発生されることが記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2010-123122号公報
【文献】特開2009-123209号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
現在のポストプロセッサは、CNC装置と連携しておらず、CNC装置のアップデート又はオプションの追加を行った場合は、CNC装置とは別にポストプロセッサを更新しなければ追加された機能を利用することが出来ない。
また、ユーザが、CNC装置の機能を把握しておらず、有用な機能が選択されない場合がある。
【0007】
よって、ポストプロセッサがCNC装置の情報を参照することにより、CNC装置の情報に基づき使用機能を選択して加工プログラムを生成することが望まれる。さらに、ポストプロセッサが加工シミュレータで加工結果を予測することにより、加工目標に最適な加工プログラムを出力することも望まれる。
【課題を解決するための手段】
【0008】
(1) 本開示の第1の態様は、機械に依存しない加工指令が入力される加工指令入力部と、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得するCNC情報取得部と、
加工目標に関する加工目標情報が入力される加工目標入力部と、
前記CNC情報取得部で取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断する、使用可能機能判断部と、
前記加工指令に基づいて、前記使用可能機能判断部で使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成する、加工プログラム生成部と、
前記加工プログラム生成部で生成された加工プログラムに基づき加工結果をシミュレートする加工シミュレーション部と、
前記加工目標に応じて、前記加工シミュレーション部から出力される加工シミュレーション結果を評価する加工シミュレーション結果評価部と、
前記加工シミュレーション結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する加工プログラム出力部と、
を含む、
ポストプロセッサである。
【0009】
(2) 本開示の第2の態様は、上記(1)に記載のポストプロセッサと、該ポストプロセッサと接続されるCNC装置を有し、該ポストプロセッサから出力された加工プログラムに基づいて加工物のCNC機械加工を行うCNC加工機械と、
を備えたCNC加工システムである。
【0010】
(3) 本開示の第3の態様は、機械に依存しない加工指令が入力され、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得し、
加工目標に関する加工目標情報が入力され、
取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断し、
前記加工指令に基づいて、使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成し、
生成された加工プログラムに基づき加工結果を加工シミュレーションし、
前記加工目標に応じて、加工シミュレーションの結果を評価し、
前記加工シミュレーションの結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する、
ポストプロセッサの加工プログラム生成方法である。
【0011】
(4) 本開示の第4の態様は、ポストプロセッサとしてのコンピュータに、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得する処理と、
取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断する処理と、
機械に依存しない加工指令に基づいて、使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成する処理と、
生成された加工プログラムに基づき加工結果を加工シミュレーションする処理と、
入力された加工目標に応じて、加工シミュレーションの結果を評価する処理と、
前記加工シミュレーションの結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する処理と、
を実行させる加工プログラム生成用プログラムである。
【発明の効果】
【0012】
本開示の各態様によれば、ポストプロセッサがCNC装置の情報を参照することにより、CNC装置の情報に基づき使用機能を選択して加工プログラムを生成することができる。
また、ポストプロセッサが加工シミュレータで加工結果を予測することにより、加工目標に最適な加工プログラムを出力することができる。
【図面の簡単な説明】
【0013】
図1】本開示の第1実施形態のポストプロセッサを含むCNC加工システムの一構成例を示すブロック図である。
図2】本開示の第1実施形態のポストプロセッサの一構成例を示すブロック図である。
図3】CNC工作機械のCNC機能に関する情報の一例を示す図である。
図4】直方体上に円筒を設けたワークを示す斜視図である。
図5】目標形状の特定の要素間の目標寸法と幾何公差を説明するためのワークを示す図である。
図6】指令経路に対して、忠実に動く場合の工具経路と、指令経路に対して、滑らかになるようにスムージングした工具経路とを示す図である。
図7】ポストプロセッサの動作を示すフローチャートである。
図8】本開示の第2実施形態のポストプロセッサの一構成例を示すブロック図である。
図9】加工前の素材形状を用いて加工後の形状を求める加工シミュレーション部の動作を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を用いて詳細について説明する。
(第1実施形態)
まず、本開示の第1実施形態のポストプロセッサを含むCNC(Computerized Numerical Control)加工システムの構成について説明する。
図1は、本開示の第1実施形態のポストプロセッサを含むCNC加工システムの一構成例を示すブロック図である。図2は本開示の第1実施形態のポストプロセッサの一構成例を示すブロック図である。
図1に示すように、CNC加工システムは、CAD (computer aided design)装置10、メインプロセッサ20、ポストプロセッサ30、及びCNC工作機械40を備えている。CNC工作機械40は、CNC装置410、モータ制御装置420、主軸モータ431及び送り軸モータ432を備えている。CNC工作機械40は、主軸モータ431及び送り軸モータ432以外にも機械加工に必要な部材を備えているが、図1では主軸モータ431及び送り軸モータ432のみを示している。
【0015】
CAD装置10はコンピュータの画面上に製図を行うCADソフトウェアを、CPU(Central Processing Unit)を用いて動作させる。ワークは2次元CAD又は3次元CADで製図が行われる。2次元CADを用いる場合には、X、Yの平面上に、加工物の正面図、上面図、側面図等を作製する。3次元CADを用いる場合には、X、Y及びZの立体空間上に、加工物の立体像を作成する。
【0016】
メインプロセッサ20は、CADデータに基づき、加工形状が得られるように工具や工作機械の動きを設定し、その動きをCL(カッターロケーション)データに変換する。
ポストプロセッサ30は、メインプロセッサ20によって作成されたCLデータに基づいて加工プログラム(NCデータ)を生成する。ポストプロセッサ30は、CNC装置410と有線または無線により、直接もしくは間接的に通信可能なように接続され、CNC装置410の情報を参照して加工プログラムを生成する。ポストプロセッサ30の詳細な構成は後述する。
【0017】
メインプロセッサ20とポストプロセッサ30とは別に設けられても、CAM装置として一体化されて構成されてもよい。
メインプロセッサ20とポストプロセッサ30はそれぞれ、メインプロセッサ20として動作させるメインプロセッサソフトウェアとポストプロセッサ30として動作させるポストプロセッサソフトウェアとを、コンピュータのCPUを用いて動作させて、メインプロセッサ20とポストプロセッサ30として機能させてもよい。2つのソフトウェアは同一のコンピュータで動作させても、別なコンピュータで動作させてもよい。
【0018】
なお、ポストプロセッサ30、ポストプロセッサ30とメインプロセッサ20、又はポストプロセッサ30とメインプロセッサ20とCAD装置10は、CNC工作機械40に含まれてもよい。
【0019】
CNC工作機械40は、例えば加工プログラムに基づいてCNC機械加工を行う3軸加工機である。3軸加工機は、CNC装置410が加工プログラムに基づいてモータ制御装置420を制御し、モータ制御装置420が主軸モータ431及び送り軸モータ432を駆動して機械加工を行う。CNC工作機械40は3軸加工機に限定されず、例えば5軸加工機でもよい。
【0020】
CNC装置410は、プログラム解析部411、指令出力部412、及び記憶部413を備えている。
【0021】
プログラム解析部411は、ポストプロセッサ30によって作成された加工プログラム(NCデータ)からX軸、Y軸及びZ軸の移動の指令及び主軸の回転の指令を含むブロックを逐次読みだして解析し、解析結果に基づいてX軸、Y軸及びZ軸の移動と主軸の回転を指令する指令データを作成し、指令出力部412に出力する。
【0022】
指令出力部412は、プログラム解析部411から出力された指令データに基づいて、各軸の速度を計算し、算出結果に基づくデータをモータ制御装置420の主軸モータ制御部421と、X軸、Y軸及びZ軸の3つの送り軸モータ制御部422とへ出力する。
【0023】
記憶部413は、CNC装置410のパラメータ情報、CNC装置410のオプション情報及びCNC装置410の仕様に関する情報を記憶する。記憶部413に記憶する情報はCNC装置410のパラメータ情報、オプション情報及びCNC装置410の仕様に関する情報の内の1又は2つの情報であってもよい。
CNC装置410のパラメータ情報は、例えば、軸構成及び各軸の可動範囲に関するパラメータ、各軸の速度、加速度、及び加加速度の制御に用いる時定数等のパラメータ、並びに各軸の位置の制御に用いる許容位置偏差等のパラメータのうちの少なくとも一つのパラメータである。
CNC装置410のオプション情報は、例えば、CNC装置410で使用可能なCNC機能に関する情報である。CNC装置410で使用可能なCNC機能に関する情報は、CNC装置410で使用可能なCNC機能の有無、及びCNC機能がある場合はCNC機能の内容を含んでいる。
CNC装置410の仕様に関する情報は、例えば、CNC装置410のメーカ、型式に関する情報、及び/又はソフトウェアのバージョンに関する情報である。
【0024】
モータ制御装置420は、主軸モータ制御部421及び送り軸モータ制御部422を備えている。
主軸モータ制御部421は、指令出力部412からの出力に基づいて、主軸モータ431の回転位置のフィードバック値を用いて、一般的なフィードバック制御により主軸モータ431の回転動作を制御する。
X軸、Y軸及びZ軸の3つの送り軸モータ制御部422は、指令出力部412からの出力に基づいて、X軸、Y軸及びZ軸の3つの送り軸モータ432の送り位置のフィードバック値を用いて、3つの送り軸モータ432の送り動作を制御する。主軸モータ制御部421と、3つの送り軸モータ制御部422との内部構成は当業者によく知られているので詳細な説明及び図示を省略する。
【0025】
主軸モータ431は、ボールエンドミル等の工具を回転させる。送り軸モータ432はX軸方向、Y軸方向及びZ軸方向の3つのモータからなる。X軸方向及びY軸方向のモータは、ボールねじ等を介して、ワークを作製するための基板が載せられたテーブルをX軸方向及びY軸方向にそれぞれ直線移動させる。Z軸方向のモータは工具又はテーブルをZ軸方向に直線移動させる。なお、3軸加工機の構成は係る構成に限定されず、例えば、工具を固定し、送り軸モータ432がテーブルをX軸方向、Y軸方向及びZ軸方向に直線移動させたり、テーブルを固定し、送り軸モータ432が工具をX軸方向、Y軸方向及びZ軸方向に直線移動させたりしてもよい。X軸方向、Y軸方向及びZ軸方向のモータはリニアモータを用いてもよい。
【0026】
以上、CNC加工システムの構成について説明した。次に、ポストプロセッサ30について図2を用いて、更に詳細に説明する。
【0027】
<ポストプロセッサ30>
図2に示すように、ポストプロセッサ30は、CNC情報取得部301、使用可能機能判断部302、加工目標入力部303、加工指令入力部304、加工プログラム生成部305、加工シミュレーション部306、加工シミュレーション結果評価部307及び加工プログラム出力部308を備えている。ポストプロセッサ30はCNC装置410に内蔵されていてもよい。
【0028】
CNC情報取得部301は、CNC装置410と通信し、記憶部413からCNC装置410のオプション情報及びCNC装置410の仕様に関する情報の少なくとも一つを取得して使用可能機能判断部302に出力する。また、CNC情報取得部301は、記憶部413からCNC装置410のパラメータを取得して、使用可能機能判断部302及び加工プログラム生成部305の一方又は両方に出力してもよい。なお、CNC装置410のオプション情報、CNC装置410の仕様に関する情報及びCNC装置410のパラメータを総称して「CNC情報」ともいう。
【0029】
使用可能機能判断部302は、CNC情報取得部301で取得した、CNC装置410のオプション情報又はCNC装置410の仕様に関する情報に基づき、CNC装置410で使用可能なCNC機能を判断して、加工プログラム生成部305に出力する。
CNC情報取得部301が、オプション情報として、CNC装置410で使用可能なCNC機能に関する情報を取得した場合、使用可能機能判断部302は、CNC装置410で使用可能なCNC機能の有無を判断し、CNC機能がある場合はCNC機能を取り出す。取り出されるCNC機能としては、例えば、スムージング機能及び高速加工用機能がある。
【0030】
使用可能機能判断部302は、オプション情報を用いなくとも、CNC装置410の仕様に関する情報を用いてCNC装置410で使用可能なCNC機能を判断することができる。具体的には、使用可能機能判断部302は、CNC装置410の仕様に関する情報として、例えば、CNC装置410のメーカ、型式に関する情報、及び/又はソフトウェアのバージョンに関する情報を用いて、自身が記憶するCNC装置410の機能の一覧表を参照して、スムージング機能FAと高速加工用機能が、CNC装置410で使用可能なCNC機能であることを判断することができる。
【0031】
また、使用可能機能判断部302は、CNC装置410の仕様に関する情報を用いて、自身が記憶するCNC装置410の機能の一覧表を参照してCNC装置410で使える複数の機能を特定し、CNC装置410のパラメータに含まれる、CNC装置410の複数の機能がそれぞれ有効か否かを示すNCパラメータを参照してCNC装置410で使用可能なCNC機能を判断することができる。
具体的には、使用可能機能判断部302は、CNC装置410の仕様に関する情報として、例えば、CNC装置410のメーカ、型式に関する情報、及び/又はソフトウェアのバージョンに関する情報を用いて、自身が記憶するCNC装置410の機能の一覧表を参照して、図3に示す、スムージング機能FA、スムージング機能FB、コーナー部減速機能及び高速加工用機能を、CNC装置410で使える機能として特定する。次に、使用可能機能判断部302は、CNC装置410のパラメータに含まれる、CNC装置410の機能が有効か否かを示すNCパラメータを参照して、スムージング機能FAと高速加工用機能がCNC装置410で使用可能なCNC機能であることを判断することができる。図3では、スムージング機能FAと高速加工用機能については機能が有効であることを示すパラメータがONになっており、他の機能についてはOFFになっており、使用可能機能判断部302は、スムージング機能FAと高速加工用機能をCNC装置410で使用可能なCNC機能として選択できる。
【0032】
加工目標入力部303は、ユーザが入力した、加工を行う際の加工目標を、加工プログラム生成部305及び加工シミュレーション結果評価部307に出力する。
加工目標は、例えば、加工に要する時間、加工精度、加工品質、これらの少なくとも2つに優先度を付けて組み合わせたもの、の少なくとも1つを含むようにしてもよい。加工に要する時間は、例えば、加工時間の最短又は加工目標時間である。加工精度は、例えば、目標形状との寸法差又は目標形状との幾何公差である。加工品質は、例えば、面粗度の許容値である。
加工目標が複数ある場合は、必ず満たさなければならない目標と、必ずしも満たさなくても良い目標とを設定しても良い。ただし、必ずしも満たさなくて良い目標の優先度は、必ず満たさなければならない目標の優先度よりも低く設定する。
加工精度もしくは加工品質を加工目標に含める場合には、その目標が適用される目標形状上の位置も合わせて入力してもよい。
【0033】
表1は、図4に示す、直方体上に円柱を設けたワークを作製する場合における、加工目標となる加工時間、加工精度、加工品質の各値、優先度、及び加工適用箇所を示している。
【表1】
図4は直方体上に円筒を設けたワークを示す斜視図である。図4において、ワーク50は直方体の平面PS2上に、平面PS1と円筒面CSとを有する円筒が設けられている。
表1では、加工目標として、加工時間、加工精度及び加工品質が設定されている。また、表1では、加工時間、加工精度及び加工品質の値としてそれぞれ、最短、円筒面CSの直径D=20±0.01mm、面粗度Ra3.2未満が設定され、優先度が加工精度、加工品質、加工時間の順で設定され、加工精度、加工品質の優先度の順位の設定が必須であることが設定されている。また、表1では、加工精度が円筒面CSに、加工品質が平面PS1、平面PS2に設定されている。
【0034】
加工目標の加工精度は、例えば、以下の情報に基づいて指定することができる。
・目標形状の特定の要素間の目標寸法(例えば図5の面SAと面SCとの目標距離)
・目標形状の特定の要素間の幾何公差(例えば図5の面SBと面SDの目標平行度)
より具体的には、図5に示すように、面SAと面SCとの距離を目標寸法LAとして、目標寸法LAと加工後寸法の寸法差を評価する場合には、面SAおよび面SCに対応する加工後形状の面SA’および面SC’を決定する。面SA’および面SC’の決定方法としては、目標形状の面SAに対して位置と向きとが最も近い加工後形状の面を面SA’とする方法がある。
面SC’についても同様に決定することができる。図5において、面SA’と面SC’の距離を加工後寸法LA’とし、目標寸法LAと加工後寸法LA’との差を寸法差とする。
【0035】
また、面SBと面SDと平行度を幾何公差として評価する場合には、同様に面SB’と面SD’を決定し、面SB’に対する面SD’の角度を加工後の幾何公差として算出する。
【0036】
また、加工目標の加工品質については、例えば、面粗度の許容値などで指定することができる。なお、シミュレーションにより面粗度を算出する方法は、例えば、”Simulation of Surface roughness and profile in high-speed end milling”, Ki Yong Lee, Myeong Chang Kang, Yung Ho Jeong, Deuk Woo Lee, Jeong Suk Kim, Journal of Materials Processing Technology 113 (2001) 410-415に記載されているように、当業者にとって公知であり、詳細な説明は省略する。
【0037】
加工指令入力部304は、入力された、機械に依存しない加工指令を加工プログラム生成部305に出力する。ここで、機械に依存しない加工指令の例としては、CLファイル(Cutter Locationファイル)が挙げられる。図1に示す構成では、CLファイルはメインプロセッサ20から入力される。
【0038】
加工プログラム生成部305は、加工指令に基づいて一つ以上の加工プログラムを生成する。その際に、加工プログラム生成部305は、使用可能機能判断部302で使用可能と判断した少なくとも一つの機能を使用した、又は機能を使用しない加工プログラムを生成する。上記の例では、使用可能機能判断部302により使用可能と判断される機能は、スムージング機能FAと高速加工用機能であるため、使用可能機能判断部302は、次の加工プログラム(a)~(d)を生成することができる。
(a)機能を使用しない加工プログラム
(b)スムージング機能FAを使用した加工プログラム
(c)高速加工用機能を使用した加工プログラム
(d)スムージング機能FAと高速加工用機能を使用した加工プログラム
【0039】
ただし、加工プログラム生成部305は、加工プログラム(a)~(d)の全てを作成しなくともよい。加工プログラム(a)~(d)の全てではなく、いずれか1つ以上のプログラムを作成する場合として、例えば次のような場合(A)、(B)が挙げられる。
(A)加工プログラム生成部305が、CNC装置410の仕様に関する情報を参照可能であり、併用できない機能の組み合わせが分かる場合
例えば、加工プログラム生成部305は、スムージング機能FAと高速加工用機能が併用できないことが分かる場合、加工プログラム(d)を生成せず、加工プログラム(a)~(c)を生成するようにしてもよい。
(B)加工プログラム生成部305がCNC装置410の仕様に関する情報および後述の加工目標情報を参照可能であり、かつ、各CNC機能の効果が予め分かる場合
例えば、加工プログラム生成部305は、加工の目標が「加工時間最短」のみであり、高速加工用機能の効果が加工時間の短縮であることが分かっている場合、加工プログラム(c)および(d)のみを作成するようにしてもよい。
【0040】
加工プログラム生成部305は、CNC情報取得部301で取得したCNC装置410のパラメータの値を一つ以上変更する指令を含む加工プログラムを生成してもよい。例えば、加工プログラム生成部305は、加工プログラム(a)~(d)の内の2つ以上の加工プログラムにおいて、互いにCNC装置410のパラメータの値が一つ以上異なるように変更する指令を含めることができる。
ここで、CNC装置410のパラメータにおいて、当該パラメータの値を指令によって変更できるパラメータとしては、例えば、以下のものがある。
・各軸の速度、加速度、加加速度の制御に用いる時定数等のパラメータ
・各軸の位置の制御に用いる許容位置偏差等のパラメータ
【0041】
上記のパラメータの値を適宜設定することで、加工時に機械が以下のような特性を満たすように決めることができる。
・速度を重視する場合、加工速度が高速となるようなパラメータの値を設定することができる。
・精度を重視する場合、指令された経路からの誤差が小さくなるようなパラメータの値を設定することができる。
・滑らかさを重視する場合、各軸の加速度もしくは加加速度が小さくなるようなパラメータの値を設定することができる。
【0042】
以下、加工プログラム生成部305が、パラメータの値を決める具体的な方法について例を挙げて説明する。
CNC装置410は、概ね加工プログラムに指令された工具経路、指令速度の通りに工具を動かそうとするが、実際の工具経路と、加工プログラムで指令された工具経路と、が、次の要因(a)、(b)が発生するために、必ずしも一致しない。
(a)指令速度が速い場合、又は指令された経路のカーブが急な場合等に、指令速度で指令された経路を通るときに、カーブでの加速度が大きくなり過ぎて、例えば軸を駆動するモータの性能を超えることがある。さらに、このような場合、例えば振動が発生することがある。
(b)一般に工具経路は折れ線で記述されるため、例えば目的の形状が滑らかな曲面であっても、指令経路は多角形となる。そのため、加工結果が滑らかな曲線になるように、あえて指令経路から外れる場合がある。
【0043】
要因(a)への対応として、加工プログラム生成部305は、上記パラメータの値を変更することで機械が(1a)、(2b)もしくはその中間的な動作をするように決めることができる。
(1a:速度重視) 指令された経路から外れたり、振動が発生しても良いのでなるべく速度を落とさないようにパラメータの値を設定することができる。そうすることで、加工時間を短くすることが可能となる。反面、満足な寸法精度が出ないケース、また加工面がガタガタになるケースが起こり得る。
(2a:精度重視) 速度を落としても良いので、指令経路通りに、振動も起きないように進むようにパラメータの値を設定することができる。そうすることで、寸法精度が良く加工面も綺麗に加工することが可能となる。反面、加工時間が長くなるケースが起こり得る。
要因(b)への対応としては、加工プログラム生成部305は、上記パラメータの値を変更することで機械が(1b)、(2b)もしくはその中間的な動作をするように決めることができる。
(1b:指令経路重視) 折れ線の角が出るように、指令経路通りに動くようにパラメータの値を設定することができる。反面、加工面がカクカクになるケースが起こり得る。
(2b:滑らかさ重視) 工具経路が滑らかになるようにパラメータの値を設定することで、スムージングすることが可能となる。反面、寸法精度が悪くなるケースが起こり得る。
図6は、指令経路に対して、忠実に動く場合の工具経路と、指令経路に対して、滑らかになるようにスムージングした工具経路とを示す図である。指令経路に対して、忠実に動く場合の工具経路では、カクカクの面(角張った面)になるが、寸法Lの精度はよい。一方、滑らかになるようにスムージングした工具経路では、滑らかな面になるが、寸法Lの精度はよくない。
【0044】
以上のように、機械が、上述した、速度重視、精度重視、又は滑らかさ重視の特性を満たすためには、加工プログラム生成部305は上記動作(1a)、(2a)と、上記動作(1b)、(2b)とを、表2のように組み合わせてパラメータの値を決めるようにしてもよい。
【表2】
【0045】
ここで、加工プログラム内におけるパラメータを変更する指令の記載例について簡単に説明する。
加工プログラム内におけるパラメータの値を変更する指令については、表3に示すように、個々のパラメータに値を設定する指令と、表4に示すように、動作に関連するパラメータをまとめて予め登録した値に変更する指令と、の2種類の方法がある。
【表3】
表3において、No.1322のパラメータは軸ごとに異なる値を設定でき、変更する軸の番号をPで指定する。Pは軸を示し、例えばP1はX軸、P2は軸、P3はZ軸を示す。
【表4】
【0046】
上記のように加工プログラム内において、パラメータの値を変更する指令を挿入する方法は、プログラムの途中で機械の動作を変更することが可能となる利点がある。従って、加工プログラムに応じて機械設定を変える場合又は、荒加工と仕上げ加工のように一連の加工中に機械設定を変更させる必要がある場合には、この方法が適している。
ただし、機械設定を修正する場合は該当する命令を全て書き換える必要がある。特に、複数のプログラムを同一の機械設定で加工したい場合、全てのプログラムの指令を書き換える必要が生じる。
【0047】
加工シミュレーション部306は、加工プログラム生成部305で生成された各加工プログラムに基づき、加工結果をシミュレーションし、加工シミュレーション結果情報を出力する。
加工シミュレーション結果情報は、例えば、加工後の形状に関する情報、及び/又は加工時間に関する情報を含む。
加工プログラムに基づき、加工結果をシミュレーションする技術は、例えば、特許第5149421号に記載されるように、既知の技術であるので、詳細な説明を省略する。
なお、加工シミュレーションにおいて、CNC装置410のパラメータの情報を利用する場合は、加工シミュレーション部306は既に説明したCNC装置410のパラメータの情報を参照するようにしてもよい。
【0048】
加工プログラム生成部305が、CNC装置410のパラメータの値を一つ以上変更する指令を含む加工プログラムを生成する場合、加工シミュレーション部306は、加工プログラム生成部305で生成された少なくとも一つの加工プログラムについて、CNC装置410のパラメータの値が異なる2つ以上の条件で加工シミュレーションを行うことができる。具体的には、加工プログラム生成部305が、各軸の速度、加速度、又は加加速度の制御に用いる時定数等のパラメータについて、異なる2つ以上の条件を設定した場合、加工シミュレーション部306はそれぞれの条件について加工シミュレーションを行う。
こうすることで、加工シミュレーション部306は、加工シミュレーションに用いたCNC装置410のパラメータの値毎に、当該パラメータの値を適用したシミュレーション結果を紐づけて出力することができる。
【0049】
加工シミュレーション結果評価部307は、加工シミュレーション部306から出力される加工シミュレーション結果を、加工目標入力部303から出力される加工目標に基づいて評価し、採点する。
具体的には、加工目標が「加工時間最短」であれば、加工シミュレーション結果に対して、加工時間が短い順に高い得点が与えられる。
なお、加工の目標が、複数の目標の組み合わせで与えられた場合は、優先度の高い目標を満たすものほど高い得点が与えられる。
図4及び表1に示した例では、まず円筒面CSの精度が優先度第1位の目標なので、円筒面CSの直径Dが20±0.01mmを満たす加工シミュレーション結果が選別される。ここで、目標を満たす結果が無かった場合は、円筒面CSの直径Dが最も目標に近い結果に最高得点が与えられ評価は終了する。
続いて、選別された加工シミュレーション結果の中から、優先度第2位の平面PS1,PS2の面粗度Ra3.2未満を満たす結果が選別される。ここでも、目標を満たす結果が無ければ、目標に最も近い結果に最高得点が与えられ、評価は終了する。
最後に、選別された結果の中から、加工時間の短い順に得点が与えられる。
【0050】
加工シミュレーション結果の中に、必ず満たすべき目標をすべて満たすものが無かった場合は、加工シミュレーション結果評価部は、目標を満たす加工プログラムが無いことを評価結果と合わせて出力するようにしてもよい。
【0051】
加工プログラム出力部308は、加工シミュレーション結果評価部307で最も高い得点を付けられた加工シミュレーション結果を出した加工プログラムを、加工に使用する加工プログラムとして、CNC装置410に出力する。CNC装置410は加工プログラムをDNC(直接数値制御)運転に使用する。
また、加工シミュレーションに用いたCNC装置410のパラメータの値毎に、当該パラメータの値を適用した加工プログラムをシミュレーションした場合、加工プログラム出力部308は、加工シミュレーション結果評価部307により最も高い得点を付けられた加工シミュレーション結果に対応する、パラメータの値に紐づけられた加工プログラムに、CNC装置410のパラメータの値を、当該パラメータの値に変更する指令を挿入して、出力してもよい。
【0052】
以上説明した実施形態において、加工指令入力部304は、加工が1つ以上の加工工程の集合として記述された加工指令を入力としてもよい。加工が一つ以上の加工工程の集合として記述された加工指令の例としてはSTEP NCデータモデルに則って記載された加工指令がある。このような加工指令の詳細は、特許第6646027号、特に、段落0034及び図4に記載されている。
【0053】
加工指令入力部304に、加工が1つ以上の加工工程の集合として記述された加工指令が入力された場合、加工目標入力部303、加工指令入力部304、加工プログラム生成部305、加工シミュレーション部306、加工シミュレーション結果評価部307及び加工プログラム出力部308は次の処理を行う。
加工指令入力部304が、加工が1つ以上の加工工程の集合として記述された加工指令を入力とした場合、加工プログラム生成部305は、この加工指令を解読し、加工工程に分解する。そして、加工プログラム生成部305は、分解された個々の加工工程につき、使用するNC機能の組み合わせが異なる1つ以上の加工プログラムを生成する。
【0054】
加工目標入力部303に入力される加工目標情報には、加工工程ごとの加工目標が記載されていてもよい。この場合、各加工工程に、その加工工程に対応する加工目標が適用される。加工目標が加工工程ごとに記載されていない場合は、全加工工程に同一の加工目標が適用される。
加工シミュレーション部306は各工程について加工シミュレーションを行い、加工シミュレーション結果評価部307では、各加工工程について加工シミュレーション結果の評価を行う。
加工プログラム出力部308では、加工工程ごとに最も評価の高い加工シミュレーション結果を出した加工プログラムを選択し、それらの加工プログラムを、加工指令に記載された加工工程の順序に従い結合することで、加工全体の加工プログラムを生成し、加工工程全体の加工プログラムを出力する。
【0055】
以上、ポストプロセッサ30に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、ポストプロセッサ30は、CPU(Central Processing Unit)等の演算処理装置を備える。また、ポストプロセッサ30は、アプリケーションソフトウェア又はOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置又は、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
【0056】
そして、ポストプロセッサ30において、演算処理装置が補助記憶装置からアプリケーションソフトウェアやOSを読み込み、読み込んだアプリケーションソフトウェア又はOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェア又はOSに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0057】
次に、ポストプロセッサ30の動作についてフローチャートを用いて説明する。図7はポストプロセッサ30の動作を示すフローチャートである。
ステップS11において、CNC情報取得部301は、CNC情報を取得し、使用可能機能判断部302は、CNC情報取得部301が取得したCNC情報に基づいてCNC装置の使用可能機能を判断する。
【0058】
ステップS12において、加工プログラム生成部305は、加工指令に基づいて、使用可能機能判断部302で使用可能と判断した機能の中から機能を選択し又は機能を選択しないで加工プログラムを生成する。
ステップS13において、加工プログラム生成部305で生成された各加工プログラムに基づき、加工結果をシミュレーションし、加工シミュレーション結果情報を出力する。加工シミュレーション結果情報は、例えば、加工後の形状に関する情報、及び/又は加工時間に関する情報を含む。
【0059】
ステップS14において、加工シミュレーション結果評価部307は、加工目標入力部303から出力される加工目標に基づき、加工シミュレーション結果を評価し、採点する。
【0060】
ステップS15において、加工シミュレーション結果評価部307は、加工シミュレーション結果が加工目標を満たすかどうかを判断する。加工シミュレーション結果の中に、加工目標を満たすものが無かった場合は、加工シミュレーション結果評価部307は、目標を満たす加工プログラムが無いことを評価結果と合わせて出力し、処理を終了する。
【0061】
ステップS16において、加工シミュレーション結果が加工目標を満たす場合は、加工プログラム出力部308は、加工シミュレーション結果評価部307で最も高い得点を付けられた加工シミュレーション結果を出した加工プログラムを、加工に使用する加工プログラムとして、CNC装置に出力し、処理を終了する。
【0062】
以上説明した第1実施態様によれば、ポストプロセッサがCNC装置の情報を参照することにより、CNC装置の情報に基づき使用機能を選択して加工プログラムを生成することができる。また、ポストプロセッサが加工シミュレータで加工結果を予測することにより、加工目標に最適な加工プログラムを出力することができる。
【0063】
(第2実施形態)
図8は本開示の第2実施形態のポストプロセッサの一構成例を示すブロック図である。図8に示すように、本実施形態のポストプロセッサ30Aは、図2に示したポストプロセッサ30に対して、CNCパラメータ情報出力部309、外部記憶装置310、目標形状情報入力部311、素材形状情報入力部312、及び工具形状情報入力部313が加えられている。図2に示したポストプロセッサ30と同一構成部材については同一符号を付して説明を省略する。
本実施形態における、CNC加工システムの構成は、図1に示したポストプロセッサ30がポストプロセッサ30Aに置き換えられる点を除いて図1に示したCNC加工システムの構成と同じである。
【0064】
第1実施形態では、加工プログラム出力部308が、加工シミュレーション結果評価部307で最も高い得点を付けられた加工シミュレーション結果を出した加工プログラムに、CNC装置410のパラメータの値を、加工シミュレーション結果に紐づけられたCNC装置410のパラメータの値に変更する指令を挿入して、出力していた。
本実施形態では、加工プログラムにCNC装置410のパラメータの値に変更する指令を挿入するのではなく、CNC装置410のパラメータ情報を出力するCNCパラメータ情報出力部309を設ける。CNCパラメータ情報出力部309は、加工シミュレーション結果評価部307で最も高い得点を付けられた加工シミュレーション結果を出した際に使用されたCNC装置410のパラメータの番号とパラメータの値との組からなるCNC装置410のパラメータ情報をCNC装置410に出力する。加工プログラム出力部308は加工シミュレーション結果評価部307で最も高い得点を付けられた加工シミュレーション結果を出した加工プログラムのみを出力する。
CNCパラメータ情報出力部309によって、加工プログラムとは別にCNC装置410のパラメータ情報を出力し、これを用いて機械のパラメータを変更する方法では、加工を始める前にCNC装置410のパラメータ情報を読み込み、CNCの全パラメータを一括で変更する。表5にCNC装置410のパラメータ情報の一例を示す。
【表5】
表5において、Aは軸番号を示し、A1はX軸、A2はY軸、A3はZ軸を示す。また、表5において、Pはパラメータの値を示す。
【0065】
CNCパラメータ情報出力部309が、加工プログラムとは別にCNC装置410のパラメータ情報を出力し、これを用いて機械のパラメータを変更する方法では、機械設定を変更する場合にCNC装置410のパラメータ情報のみを修正すれば良く、個々のプログラムを修正する必要がないという利点がある。この方法は、加工プログラムを変更せず機械設定のみ変えたい場合や、複数の加工プログラムを同じ機械設定で動作させたい場合に適している。ただし、加工前にパラメータを一括で設定するため、加工の途中で機械の設定を変えることはできない。
【0066】
CNC装置410のパラメータ情報はCNC装置410に出力されるのではなく、外部記憶装置310にファイルとして出力されても良い。また、加工プログラムはCNC装置410に出力されるのではなく、外部記憶装置310にファイルとして出力されても良い。
【0067】
加工目標入力部303から入力される加工目標に加工精度が含まれており、加工精度が、目標形状との許容誤差で指定されている場合がある。そして、加工シミュレーション結果評価部307は、加工シミュレーション部306で予測された加工後形状と目標形状との比較が必要となる場合がある。かかる場合に、目標形状情報入力部311が設けられてもよい。
目標形状情報入力部311は、ユーザが入力した、加工後の目標形状情報を、加工シミュレーション結果評価部307に出力する。目標形状情報は、例えば、CADデータである。CADデータは、図1に示したCAD装置10から入力される。
【0068】
CADデータ以外であっても、加工後の目標形状を三次元的に表現可能ならばどのようなデータでもよい。
CADデータ以外で、3次元形状を表現可能なデータの例としては、CSG(Constructive Solid Geometry)データ、多面体要素モデルデータ、ボクセルデータ、ポリゴンメッシュ及び点群データがある。
CSGデータは、三次元形状を、基本的な形状の集合として表現した情報である。CSGデータは、例えば、基本形状の種類(平面、球、立方体、円筒など)と、その寸法(平面の輪郭線、球の直径、立方体の縦横高さ、円筒の直径と長さなど)と、その位置および姿勢と、重なり具合(足し合わせ、差分、共通部分など)との情報である。
多面体要素モデルデータは、多面体の集合として表現された、目標形状の情報である。
ボクセルデータは、立方体の集合として表現された目標形状の情報である。
ポリゴンメッシュは、多角形の集合として表現された、目標形状の表面情報である。
点群データは、点群で表現された、目標形状の表面情報である。
【0069】
素材形状情報入力部312は、加工シミュレーション部306のシミュレーション加工において、加工プログラムの他に加工前の素材形状の情報を必要とする場合に、ユーザが入力した加工前の素材形状の情報を加工シミュレーション部306に出力する。
加工前の素材形状は、加工プログラムを実行する前の被削物の三次元形状に関する情報である。ブロックから加工するのであれば、加工前の素材形状は直方体となる。また、鋳物から加工するのであれば、加工前の素材形状は鋳物の形状となる。荒加工の後に仕上げ工程を行うなど、前工程で何らかの加工がなされる場合は、加工前の素材形状は、直前の工程が完了した時点での被削物の形状情報となる。
工前の素材形状の情報のデータの形式は、例えば、目標形状情報と同じく、CADデータを用いることができるが、三次元形状を表現可能な形式であればどのような形式でもよい。
【0070】
加工シミュレーション部306は、加工プログラムに従って工具が移動した際に通過する領域を計算する。この領域は図9に示すように、加工時に工具によって削り取られる部分なので、素材形状情報入力部312から出力される加工前の素材形状から、工具の通過する領域を除いた物が加工後の形状となる。図9は、加工前の素材形状を用いて加工後の形状を求める加工シミュレーション部の動作を示す図である。
【0071】
工具形状情報入力部313は、加工シミュレーション部306のシミュレーション加工において、加工プログラムの他に加工に用いる工具の工具形状の情報を必要とする場合に、ユーザが入力した工具形状の情報を加工シミュレーション部306に出力する。
【0072】
目標形状情報、素材形状情報及び工具形状情報は、メインプロセッサ20又はCAD装置10とは別にユーザによってポストプロセッサ30Aに入力される場合と、メインプロセッサ20が出力するCLデータに目標形状情報、素材形状情報及び工具形状情報が含まれている場合とがある。
例えば、ISO-14649により規定されているSTEP NCの規格を用いれば、メインプロセッサ20が出力するCLデータの中に上記の情報を全て含めることが可能である。このような加工指令を入力とした場合は、別途、目標形状情報、素材形状情報及び工具形状情報を入力する必要はない。
目標形状情報、素材形状情報及び工具形状情報がCLデータに含まれず、CLデータが工具の移動経路の情報しか含んでいないような場合には、別途、目標形状情報、素材形状情報及び工具形状情報をポストプロセッサに入力する。
【0073】
本実施形態において、CNCパラメータ情報出力部309、外部記憶装置310、目標形状情報入力部311、素材形状情報入力部312、及び工具形状情報入力部313のうちから1又は2以上の構成部を選択して設けてもよい。すなわち、図8に示したポストプロセッサ30Aは、図1に示したポストプロセッサ30に、例えば、CNCパラメータ情報出力部309のみを加えた構成、CNCパラメータ情報出力部309と外部記憶装置310とを加えた構成、目標形状情報入力部311のみを加えた構成、素材形状情報入力部312又は工具形状情報入力部313を加えた構成等が可能である。
【0074】
以上、本発明の各実施形態について説明したが、ポストプロセッサ30、30Aはその機能の全部又は一部はソフトウェアで実現することができる。しかしポストプロセッサ30.30Aの機能をハードウェア、又はソフトウェアとハードウェアの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。ポストプロセッサ30、30Aがハードウェアで構成される場合、ポストプロセッサ30、30Aの各構成部の一部又は全部を、例えば、LSI(Large Scale Integrated circuit)、ASIC(Application Specific Integrated Circuit)、ゲートアレイ、FPGA(Field Programmable Gate Array)等の集積回路(IC)で構成することができる。
【0075】
ポストプロセッサ30、30Aがソフトウェアによって実現する場合、ポストプロセッサ30、30Aを動作させる、図7に示したような動作を記述した、ハードディスク装置、ROM等の第1記憶部に記憶されたポストプロセッサアプリケーションに従い、演算に必要な情報をRAM等の第2記憶部に記憶し、CPUが処理を実行することでポストプロセッサ30、30Aの動作をプログラムで実行ことができる。ポストプロセッサアプリケーションは、プログラムが記録されたコンピュータ読み取り可能な媒体からハードディスク等の第1記憶部に読み込むことができる。
コンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。コンピュータ可読媒体は非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を含む。コンピュータ可読媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ等)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
【0076】
上述した各実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0077】
本開示によるポストプロセッサ、加工プログラム生成方法、CNC加工システム及び加工プログラム生成用プログラムは、上述した実施形態を含め、次のような構成を有する各種各様の実施形態を取ることができる。
【0078】
(1) 機械に依存しない加工指令が入力される加工指令入力部(例えば、加工指令入力部304)と、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得するCNC情報取得部(例えば、CNC情報取得部301)と、
加工目標に関する加工目標情報が入力される加工目標入力部(例えば、加工目標入力部303)と、
前記CNC情報取得部で取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断する、使用可能機能判断部(例えば、使用可能機能判断部302)と、
前記加工指令に基づいて、前記使用可能機能判断部で使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成する、加工プログラム生成部(例えば、加工プログラム生成部305)と、
前記加工プログラム生成部で生成された加工プログラムに基づき加工結果をシミュレートする加工シミュレーション部(例えば、加工シミュレーション部306)と、
前記加工目標に応じて、前記加工シミュレーション部から出力される加工シミュレーション結果を評価する加工シミュレーション結果評価部(例えば、加工シミュレーション結果評価部307)と、
前記加工シミュレーション結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する加工プログラム出力部(例えば、加工プログラム出力部308)と、
を含む、
ポストプロセッサ。
【0079】
このポストプロセッサによれば、ポストプロセッサがCNC装置の情報を参照することにより、CNC装置の情報に基づき使用機能を選択して加工プログラムを生成することができる。また、ポストプロセッサが加工シミュレータで加工結果を予測することにより、加工目標に最適な加工プログラムを出力することができる。
【0080】
(2) 前記CNC情報取得部は、前記CNC装置のパラメータ情報を取得し、
前記加工プログラム生成部は、前記CNC装置のパラメータ情報に含まれる前記CNC装置の一つ以上のパラメータの値を変更する指令を含む前記加工プログラムを生成する、
(1)に記載のポストプロセッサ。
【0081】
このポストプロセッサによれば、プログラムの途中で機械の動作を変更することが可能となる。
【0082】
(3) 前記CNC情報取得部は、前記CNC装置のパラメータ情報を取得し、
前記加工シミュレーション部は、前記CNC装置のパラメータ情報に含まれる前記CNC装置の1つ以上のパラメータが異なる複数の条件で加工シミュレーションを行い、
前記加工プログラム出力部は、前記加工シミュレーション結果の評価に基づいて、加工に用いる加工プログラムを選択し、前記CNC装置の一つ以上のパラメータの値を変更する指令を前記加工プログラムに挿入して出力する、
(1)に記載のポストプロセッサ。
【0083】
このポストプロセッサによれば、プログラムの途中で機械の動作を変更することが可能となる。
【0084】
(4) 前記CNC情報取得部は、前記CNC装置のパラメータ情報を取得し、
前記加工シミュレーション部は、前記CNC装置のパラメータ情報に含まれる前記CNC装置の1つ以上のパラメータが異なる複数の条件で加工シミュレーションを行い、
前記加工シミュレーション結果の評価に基づいて、前記CNC装置の1つ以上のパラメータの番号と該パラメータの値との組から成るCNCパラメータ情報を出力する、CNCパラメータ情報出力部(例えば、CNCパラメータ情報出力部309)を備える、
(1)に記載のポストプロセッサ。
【0085】
このポストプロセッサによれば、機械設定を変更する場合にCNC装置のパラメータ情報のみを修正すれば良く、個々のプログラムを修正する必要がなくなる。
【0086】
(5) 加工後の目標形状情報が入力される目標形状情報入力部を備え、
前記加工シミュレーション結果評価部は、前記加工シミュレーション結果と前記目標形状情報に基づいて前記加工シミュレーション結果を評価する、
(1)から(4)のいずれかに記載のポストプロセッサ。
【0087】
(6) 前記加工指令入力部は、加工が1つ以上の加工工程の集合として記述された加工指令が入力され、
前記加工目標入力部は、加工工程ごとに異なる加工目標が入力され、
前記加工プログラム生成部は、加工工程ごとの加工プログラムを生成する、
(1)から(5)のいずれかに記載のポストプロセッサ。
【0088】
(7) 前記CNC装置に内蔵されている、
(1)から(6)のいずれかに記載のポストプロセッサ。
【0089】
(8) 加工前の素材形状の情報が入力される素材形状情報入力部、又は加工に用いる工具の工具形状の情報が入力される工具形状情報入力部を備え、
前記加工シミュレーション部は、前記加工前の素材形状の情報又は前記工具形状の情報を用いて加工シミュレーションを行う
(1)から(7)のいずれかに記載のポストプロセッサ。
【0090】
(9) (1)から(6)のいずれか1項に記載のポストプロセッサと、該ポストプロセッサと接続されるCNC装置を有し、該ポストプロセッサから出力された加工プログラムに基づいて加工物のCNC機械加工を行うCNC加工機械(例えば、CNC工作機械40)と、
を備えたCNC加工システム。
【0091】
このCNC加工システムによれば、ポストプロセッサがCNC装置の情報を参照することにより、CNC装置の情報に基づき使用機能を選択して加工プログラムを生成することができる。また、ポストプロセッサが加工シミュレータで加工結果を予測することにより、加工目標に最適な加工プログラムを出力することができる。
【0092】
(10) 機械に依存しない加工指令が入力され、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得し、
加工目標に関する加工目標情報が入力され、
取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断し、
前記加工指令に基づいて、使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成し、
生成された加工プログラムに基づき加工結果を加工シミュレーションし、
前記加工目標に応じて、加工シミュレーションの結果を評価し、
前記加工シミュレーションの結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する、
ポストプロセッサの加工プログラム生成方法。
【0093】
この加工プログラム生成方法によれば、ポストプロセッサがCNC装置の情報を参照することにより、CNC装置の情報に基づき使用機能を選択して加工プログラムを生成することができる。また、ポストプロセッサが加工シミュレータで加工結果を予測することにより、加工目標に最適な加工プログラムを出力することができる。
【0094】
(11) ポストプロセッサとしてのコンピュータに、
CNC装置と通信し、該CNC装置のオプション情報又は該CNC装置の仕様に関する情報を取得する処理と、
取得した、前記CNC装置のオプション情報又は前記CNC装置の仕様に関する情報に基づいて加工に使用可能な機能を判断する処理と、
機械に依存しない加工指令に基づいて、使用可能と判断された少なくとも一つの機能を使用した、又は該機能を使用しない加工プログラムを少なくとも一つ生成する処理と、
生成された加工プログラムに基づき加工結果を加工シミュレーションする処理と、
入力された加工目標に応じて、加工シミュレーションの結果を評価する処理と、
前記加工シミュレーションの結果の評価に基づいて、加工に用いる加工プログラムを選択し出力する処理と、
を実行させる加工プログラム生成用プログラム。
【0095】
この加工プログラム生成用プログラムによれば、ポストプロセッサがCNC装置の情報を参照することにより、CNC装置の情報に基づき使用機能を選択して加工プログラムを生成することができる。また、ポストプロセッサが加工シミュレータで加工結果を予測することにより、加工目標に最適な加工プログラムを出力することができる。
【符号の説明】
【0096】
10 CAD装置
20 メインプロセッサ
30、30A ポストプロセッサ
40 CNC工作機械
301 CNC情報取得部
302 使用可能機能判断部
303 加工目標入力部
304 加工指令入力部
305 加工プログラム生成部
306 加工シミュレーション
307 加工シミュレーション結果評価部
308 加工プログラム出力部
309 CNCパラメータ情報出力部
310 外部記憶装置
311 目標形状情報入力部
312 素材形状情報入力部
313 工具形状情報入力部
410 CNC装置
411 プログラム解析部
412 指令出力部
413 記憶部
420 モータ制御装置
421 主軸モータ制御部
422 送り軸モータ制御部
431 主軸モータ
432 送り軸モータ
図1
図2
図3
図4
図5
図6
図7
図8
図9