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

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

▶ 株式会社日立ソリューションズの特許一覧

特開2024-66929変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム
<>
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図1
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図2
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図3
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図4
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図5
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図6
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図7
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図8
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図9
  • 特開-変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024066929
(43)【公開日】2024-05-16
(54)【発明の名称】変換用計算機、NCプログラム変換方法、及びNCプログラム変換プログラム
(51)【国際特許分類】
   G05B 19/4093 20060101AFI20240509BHJP
   B23Q 15/00 20060101ALI20240509BHJP
   G05B 19/404 20060101ALI20240509BHJP
【FI】
G05B19/4093 F
B23Q15/00 301J
G05B19/404 E
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022176732
(22)【出願日】2022-11-02
(71)【出願人】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】河野 一平
(72)【発明者】
【氏名】粂野 紀忠
(72)【発明者】
【氏名】毛戸 康隆
【テーマコード(参考)】
3C269
【Fターム(参考)】
3C269AB05
3C269BB03
3C269CC02
3C269EF10
3C269EF39
3C269EF63
3C269EF93
3C269MN42
(57)【要約】
【課題】NCプログラムを、適切な加工を行うことのできるNCプログラムに変換する技術を提供する。
【解決手段】変換用計算機10において、CPU11を、変換元用NCプログラム146中の加工処理における加工機の工具とワークとが干渉する位置であって、工具の最も基端側の位置である干渉位置を特定し、前記加工処理における前記工具により前記ワークを加工する際の切削力を算出し、前記切削力と、前記工具の剛性とに基づいて、前記干渉位置における前記工具のたわみ変形量である第1たわみ変形量を算出し、変換元用NCプログラム146の前記加工処理における前記工具の移動経路の補正量を、0よりも大きく、前記第1たわみ変形量に所定の許容量を加えた値以下に設定して、変換先用NCプログラム147を生成するように構成する。
【選択図】図4
【特許請求の範囲】
【請求項1】
プロセッサを含み、補正前NCプログラムを変換して補正後NCプログラムを生成する変換用計算機であって、
前記プロセッサは、
前記補正前NCプログラム中の加工処理における加工機の工具とワークとが干渉する位置であって、工具の最も基端側の位置である干渉位置を特定し、
前記加工処理における前記工具により前記ワークを加工する際の切削力を算出し、
前記切削力と、前記工具の剛性とに基づいて、前記干渉位置における前記工具のたわみ変形量である第1たわみ変形量を算出し、
前記補正前NCプログラムの前記加工処理における前記工具の移動経路の補正量を、0よりも大きく、前記第1たわみ変形量に所定の許容量を加えた値以下に設定して、前記補正後NCプログラムを生成する
変換用計算機。
【請求項2】
前記所定の許容量は、前記干渉位置が前記工具の加工可能範囲内である場合には、前記干渉位置における削り側の許容公差である
請求項1に記載の変換用計算機。
【請求項3】
前記所定の許容量は、前記干渉位置が前記工具の加工可能範囲外である場合には、前記干渉位置における前記工具の折損が発生しない許容押し込み量である
請求項1に記載の変換用計算機。
【請求項4】
前記プロセッサは、
前記切削力と、前記工具の剛性とに基づいて、前記工具の先端における第2たわみ変形量を算出し、
前記第2たわみ変形量が、前記第1たわみ変形量に所定の許容量を加えた値よりも小さい場合には、前記補正前NCプログラムの前記加工処理における前記工具の移動経路の補正量を、前記第2たわみ変形量に設定することにより、前記補正後NCプログラムを生成する
請求項1に記載の変換用計算機。
【請求項5】
補正前NCプログラムを変換して補正後NCプログラムを生成する変換用計算機によるNCプログラム変換方法であって、
前記補正前NCプログラム中の加工処理における加工機の工具とワークとが干渉する位置であって、工具の軸方向における最も基端側の位置である干渉位置を特定し、
前記加工処理における前記工具により前記ワークを加工する際の切削力を算出し、
前記切削力と、前記工具の剛性とに基づいて、前記干渉位置における前記工具のたわみ変形量である第1たわみ変形量を算出し、
前記補正前NCプログラムの前記加工処理における前記工具の移動経路の補正量を、0よりも大きく、前記第1たわみ変形量に所定の許容量を加えた値以下に設定することにより、前記補正後NCプログラムを生成する
NCプログラム変換方法。
【請求項6】
補正前NCプログラムを変換して補正後NCプログラムを生成するコンピュータに実行させるNCプログラム変換プログラムであって、
前記コンピュータを、
前記補正前NCプログラム中の加工処理における加工機の工具とワークとが干渉する位置であって、工具の軸方向における最も基端側の位置である干渉位置を特定させ、
前記加工処理における前記工具により前記ワークを加工する際の切削力を算出させ、
前記切削力と、前記工具の剛性とに基づいて、前記干渉位置における前記工具のたわみ変形量である第1たわみ変形量を算出させ、
前記補正前NCプログラムの前記加工処理における前記工具の移動経路の補正量を、0より大きく、前記第1たわみ変形量に所定の許容量を加えた値以下に設定することにより、前記補正後NCプログラムを生成させるように機能させる
NCプログラム変換プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御(NC)用のNCプログラムを変換する技術に関する。
【背景技術】
【0002】
近年、NCプログラムをNC切削加工機に入力することによって、被加工物(以後、ワークと呼ぶことがある)の加工を行うことがある。
【0003】
例えば、回転工具を用いた加工においては、回転工具等のたわみによって、加工誤差が生じることがあり、予め加工誤差を打ち消すようにNCプログラムにおいて工具の移動経路を修正する技術が知られている。
【0004】
例えば、特許文献1には、回転工具に対する切削力の作用に起因して発生する被削物の加工誤差を予測する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2016-218641号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えば、移動経路の修正方法としては、工具の先端におけるたわみ変形量を予測し、そのたわみ変形量を打ち消すようにNCプログラムにおいて移動経路を修正することが行われる。
【0007】
このように、移動経路を修正した場合においては、例えば、ワークと工具の干渉が発生するケースもあり、例えば、ワークを削り過ぎてしまったり、工具に負荷がかかり、工具を折損してしまったりする虞があった。
【0008】
本発明は、上記事情に鑑みなされたものであり、その目的は、NCプログラムを、適切な加工を行うことのできるNCプログラムに変換する技術を提供することにある。
【課題を解決するための手段】
【0009】
一観点に係る変換用計算機は、プロセッサを含み、補正前NCプログラムを変換して補正後NCプログラムを生成する変換用計算機であって、前記プロセッサは、前記補正前NCプログラム中の加工処理における加工機の工具とワークとが干渉する位置であって、工具の最も基端側の位置である干渉位置を特定し、前記加工処理における前記工具により前記ワークを加工する際の切削力を算出し、前記切削力と、前記工具の剛性とに基づいて、前記干渉位置における前記工具のたわみ変形量である第1たわみ変形量を算出し、前記補正前NCプログラムの前記加工処理における前記工具の移動経路の補正量を、0よりも大きく、前記第1たわみ変形量に所定の許容量を加えた値以下に設定して、前記補正後NCプログラムを生成する。
【発明の効果】
【0010】
本発明によると、NCプログラムを、適切な加工を行うことのできるNCプログラムに変換することができる。
【図面の簡単な説明】
【0011】
図1図1は、比較例に係るNCプログラムによる切削加工を説明する図である。
図2図2は、一実施形態の概要を説明する図である。
図3図3は、一実施形態に係る加工処理システムの全体構成図である。
図4図4は、一実施形態に係る変換用計算機の構成図である。
図5図5は、一実施形態に係るパス補正処理のフローチャートである。
図6図6は、一実施形態に係る最大隣接高さを説明する図である。
図7図7は、一実施形態に係るワークの切削加工の一例を示す図である。
図8図8は、一実施形態に係るワークの切削加工を行う補正前のNCプログラムの記述を示す図である。
図9図9は、一実施形態に係る補正前NCプログラムによる工具のパスを説明する図である。
図10図10は、一実施形態に係る補正後NCプログラムの記述を示す図である。
【発明を実施するための形態】
【0012】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
一実施形態の概要を説明するにあたって、まず、比較例に係るNCプログラムによる切削加工について説明する。
【0014】
図1は、比較例に係るNCプログラムによる切削加工を説明する図である。ここで、図1は、略L字状の被切削加工物(ワーク)Wと、工具TLの側面図(YZ平面図)である。
【0015】
図1においては、工具TLは、例えば、エンドミル等の回転工具である。図1の切削加工では、工具TLは、Z軸のプラス側(基端側)においてNC切削加工機20(図3参照)の主軸に回転可能に固定され、回転されながらX軸のプラス方向に移動されることにより、ワークWの加工部分が切削される。
【0016】
この切削加工においては、理想的には、図1(A)に示すような状態で加工することが好ましいが、実際には、図1(B)に示すように、工具TLにY軸のマイナス方向に切削力が加えられることとなり、結果として工具TLには、工具TL等のたわみによる変形が発生する。例えば、工具TLの先端には、たわみ変形量Bdが発生する
【0017】
そこで、NCプログラムにおいて、工具TLの先端におけるたわみ変形量Bdだけ工具TLの移動経路(パス)を補正することが行われることがある。
【0018】
このように、NCプログラムにおける工具TLのパスを補正した場合には、図1(C)に示すように、工具TLとワークWとの干渉が発生してしまう虞がある。このように干渉が発生すると、ワークWとの干渉部分が工具TLの刃物部TLaである場合には、ワークWを削り過ぎてしまい、また、干渉部分が工具TLの刃物部TLaの外側であれば、ワークWの切削を妨げたり、過度な力が工具TLに加えられてしまって工具TLを折損してしまったりする虞がある。
【0019】
次に、一実施形態の概要について説明する
【0020】
図2は、一実施形態の概要を説明する図である。図2に係る切削加工は、図1において想定している切削加工と同様である。
【0021】
本実施形態においては、ワークWの形状、工具形状等を入力として切削加工をシミュレートして、加工部分の形状等から工具TLに加えられる切削力を算出する。次いで、図2(A)に示すように、切削加工を行う場合において、工具TLとワークWとの干渉が発生する、工具TLの最も基端側の位置(干渉位置)を特定する。ここで、干渉位置は、例えば、工具TLの先端からのZ軸方向の距離(高さ)である最大隣接高さHで表される。
【0022】
次いで、NC切削加工機20の主軸剛性と、工具TLの形状・材質と、算出された切削力とに基づいて、図2(B)に示すように、干渉位置(最大隣接高さHの位置:最大隣接高さ位置)における工具TLのたわみ変形量δmaxを算出する。ここで、たわみ変形量は、工具TLのたわみによる変形量だけでなく、NC切削加工機20の主軸のたわみによる変形量を含んでもよい。
【0023】
次いで、たわみ変形量δmaxと、最大隣接高さ位置でのY軸のプラス方向への許容量Pと、を加算した値以下であり且つ0より大きい値をパスの補正量CとしたNCプログラムに補正する。ここで、許容量Pとしては、最大隣接高さ位置において工具TLの刃物部TLaが干渉する場合には、その位置での削り側の許容公差としてもよく、また、最大隣接高さ位置において工具TLの刃物部TLa以外が干渉する場合には、その位置での工具TLに折損を発生させないような許容量としてもよい。
【0024】
このようにNCプログラムを補正することにより、ワークWの加工精度を向上しつつ、干渉位置において、削り過ぎてしまったり、工具TLを折損させてしまったりする状況を適切に防止することができる。
【0025】
<システム構成>
図3は、一実施形態に係る加工処理システムの全体構成図である。
【0026】
加工処理システム1は、変換用計算機10と、複数のNC切削加工機20(加工機の一例)と、複数の現場用計算機30とを備える。変換用計算機10と、複数のNC切削加工機20と、複数の現場用計算機30とが、ネットワーク40を介して接続されている。ネットワーク40は、有線ネットワークでも無線ネットワークでもよい。本実施形態では、場所Aと場所Bとのそれぞれに、NC切削加工機20と、現場用計算機30とが配置され、場所Cに、変換用計算機10が配置されている。なお、変換用計算機10は、場所A又は場所Bのいずれかに配置されてもよい。また、複数のNC切削加工機20と、複数の現場用計算機30とが同一の場所に配置されていてもよい。
【0027】
変換用計算機10は、或るNC切削加工機20用のNCプログラム(変換元用NCプログラム:補正前NCプログラム)を他のNC切削加工機20用のNCプログラム(変換先用NCプログラム:補正後NCプログラム)に変換する処理を実行する。変換用計算機10の詳細については、後述する。
【0028】
現場用計算機30は、現場の作業者により操作される計算機であり、例えば、プロセッサ、記憶資源等を備えるPC(Personal Computer)によって構成される。なお、ここで言う現場は、図3ではNC切削加工機20が設置された場所(例えば工場内、建物、フロア等)が典型例である。ただし、現場用計算機30は、変換用計算機10の画面表示用として用いるのであれば、NC切削加工機20が設置された場所以外で使用されてもよい。
【0029】
なお、以後の説明では、現場用計算機30は変換したNCプログラムのダウンロード処理及び画面表示や、変換用入力画面等の画面表示を担当し、実際の変換処理は変換用計算機10が担当することを例として説明している。しかし、多少の利便性は低下するものの、各計算機が担当する役割(一部の役割も含めて)お互いに交換又は統合可能である。また、変換用計算機10は複数の計算機で構成されていてもよい。従って、以後の説明では、「変換システム」という言葉を使うことがある。当該システムは1以上の計算機(現場用計算機30又は変換用計算機10)を含み、下記で説明する変換用計算機10と現場用計算機30が担当する処理を行うシステムである。なお、現場用計算機30で実現する処理の一部は省略されてもよい。
【0030】
NC切削加工機20は、例えば、マシニングセンタであり、加工処理を実行する本体部22と、本体部22の加工処理を制御するNCコントローラ21と、本体部22で使用される1以上の工具セットの工具TLを収容可能な収容部の一例としてのツールマガジン25とを備える。
【0031】
ツールマガジン25は、それぞれ1つの工具TLを収容可能な複数のスロット(SL:25a,25b,25c)を有する。
【0032】
NCコントローラ21は、内部に記憶されているNCプログラムに従って、本体部22の加工処理や工具の交換処理を制御する。
【0033】
本体部22は、処理ヘッド部23と、ステージ24と、工具交換部26とを含む。処理ヘッド部23は、工具TLを装着可能であり、且つ回動可能な主軸を備える。なお、処理ヘッド部23は、主軸それ自体であってもよい。ステージ24は、加工処理の対象となるワークWを載置して移動可能である。工具交換部26は、処理ヘッド部23から工具TLを外して、ツールマガジン25の空きスロットに収容する。また、工具交換部26は、工具TLをツールマガジン25のスロットから取り出し、処理ヘッド部23に装着する。工具交換部26の一例は、工具自動交換装置(ATC)のチェンジアーム(ATCアームとも呼ばれる)である。なお、前述のツールマガジン25も工具自動交換装置の構成物である。NCプログラムは内部に工具交換命令を意味する一連の命令(NCプログラムの用語ではコードや、コードにパラメータを追加したワードと呼ばれる)を記述可能であり、当該工具交換命令には、ツールマガジン25内のスロット(意味は後術する)の位置を示すスロット番号が含まれている。工具交換部26は工具交換命令を読み込んだNCコントローラ21の指示により工具交換命令のパラメータに含まれるスロット番号で指定されたスロットから工具TLを取り出し、処理ヘッド部23に取り付ける。
【0034】
NC切削加工機20においては、ツールマガジン25に収容可能な工具TLの数には制限があるが、予め1以上の工具セット50を用意しておき、実行する加工処理に応じて、ツールマガジン25に収容する工具セットを入れ替えることにより、種々の加工処理に対応することができる。
【0035】
本実施形態では、工具TLは、ワークWを切削するためのエンドミル、ドリル、バイト等の刃物部TLaと、刃物部TLaを処理ヘッド部23に装着するためのホルダTLbとを含んだものとしているが、例えば、処理ヘッド部23に刃物部TLaをそのまま装着できる場合には、ホルダTLbを含んでいなくてもよく、少なくとも刃物部TLaを含んでいればよい。
【0036】
なお、以後の説明では、変換対象とするNCプログラム(即ち、変換元用NCプログラム)を使用して加工を行っていた加工機と、当該加工機に対応する工具セットと、を少なくとも含む存在を「変換元環境」と呼ぶことがある。また、変換されたNCプログラム(即ち、変換先用NCプログラム)を使用して加工を予定する加工機と、当該加工機に対応する工具セットと、を少なくとも含む存在を「変換先環境」と呼ぶことがある。なお、変換元環境及び変換先環境には、それぞれの場所に含まれる物理的又は論理的な存在(例えば、その場所の温度や、温度センサ、湿度、湿度センサ、或いはその場所で加工機が設置された床、場所を構成する建物)が含まれてもよい。なお、「加工機に対応する工具セット」とは、加工機の工具マガジンに格納済の工具セットに加えて、将来工具マガジンに格納して使用する可能性のある工具セットも含む。典型的には加工機に対応する工具セットは、加工機と同じ場所に設置されている。
【0037】
次に、変換用計算機10について詳細に説明する。
【0038】
図4は、一実施形態に係る変換用計算機の構成図である。
【0039】
<<ハードウェア>>
変換用計算機10は、一例としてはパーソナルコンピュータ、汎用計算機である。変換用計算機10は、CPU11、ネットワークインターフェース12(図ではNet I/Fと省略)、ユーザインターフェース13(図ではUser I/F)、記憶部の一例としての記憶資源14、及びこれら構成物を接続する内部ネットワークを含む。
【0040】
CPU11は、プロセッサの一例であり、記憶資源14に格納されたプログラムを実行することができる。プロセッサとしては、GPU(Graphics Processing Unit)を用いてもよく、所定の処理を実行する主体であれば他の半導体デバイスでもよい。記憶資源14は、CPU11で実行対象となるプログラムや、このプログラムで使用する各種情報、NC切削加工機20で使用するNCプログラム等を格納する。記憶資源14としては、例えば、半導体メモリ、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)等であってよく、揮発タイプのメモリでも、不揮発タイプのメモリでもよい。
【0041】
ネットワークインターフェース12は、ネットワーク40を介して外部の装置(例えば、現場用計算機30、NC切削加工機20のNCコントローラ21等)と通信するためのインターフェースである。
【0042】
ユーザインターフェース13は、例えば、タッチパネル、ディスプレイ、キーボード、マウス等であるが、作業者(ユーザ)からの操作を受け付け、情報表示ができるのであれば、他のデバイスであってもよい。ユーザインターフェース13は、これら複数のデバイスで構成されてもよい。
【0043】
<<データ等>>
記憶資源14は、NCプログラム変換プログラムの一例としての変換プログラム141と、構成情報取得プログラム142と、加工機構成情報143と、工具セット情報144と、個別工具情報145と、変換元用NCプログラム146と、変換先用NCプログラム147と、変換履歴情報148とを格納する。なお、記憶資源14は、これ以外の情報を格納してもよい。次の段落から各データやプログラムの詳細について説明する。なお、各情報、又は各情報の一部の項目は省略してもよい。
【0044】
*加工機構成情報143。加工機構成情報143は、例えば、各NC切削加工機20に関する情報を格納するテーブルとして構成される。加工機構成情報143は、各NC切削加工機20ごとに、以下に示す各情報を含む。
(a1)NC切削加工機20の識別子(加工機ID)。加工機IDとして、NCコントローラ21の識別子や、NCコントローラ21のネットワークアドレスを代用してもよい。
(a2)NC切削加工機20の型番。
(a3)NC切削加工機20の設置場所。
(a4)NC切削加工機20の使用実績、例えば、使用時間等。
(a5)NC切削加工機20の所定の部位の温度。所定の部位としては、NC切削加工機20の主軸や、ステージ24であってもよい。
(a6)NC切削加工機20の所定の部位の剛性に関する情報(例えば、部位のヤング率や、たわみ量等)。所定の部位としては、NC切削加工機20の処理ヘッド部23の主軸や、ステージ24であってもよい。
(a7)NC切削加工機20の所定の部位の形状。所定の部位の形状としては、NC切削加工機20の主軸の長さや、ステージ24の長さであってもよい。
(a8)ツールマガジン25に収容可能な最大の工具数、すなわち、スロットの数。
(a9)経年変化や設置環境に合わせて設定されるオフセット値。このオフセット値は、NCプログラムにおける工具移動時の座標を微修正するために使用される値であり、例えば経年劣化でステージが微妙に傾いた等の状況を補正するために使用される値である。
(a10)NCコントローラ21のメーカ、型番等。NCコントローラ21は、メーカや型番に応じて、NCプログラムの記述形式が多少異なる場合があり、このような状況を判断するために用いられる。
(a11)主軸やステージ等のコンポーネントのがたつき、移動精度(例えば、ステージのバックラッシュ量等)、直線度、平面度、平行移動度、装置稼働時の振動幅や振動周波数。
【0045】
本実施形態では、(a1)、(a2)、(a4)、(a5)、(a8)、(a9)、及び(a10)の情報については、例えば、NC切削加工機20のNCコントローラ21から取得する一方、(a3)、(a6)、(a7)、及び(a11)については、作業者による入力情報から取得している。なお、情報を取得する方法はこれに限られず、(a1)、(a2)、(a4)、(a5)、(a8)、(a9)、及び(a10)の少なくとも一部について、作業者によるユーザインターフェース13を介しての入力情報から取得するようにしてもよく、また、(a3)、(a6)、(a7)、及び(a11)の中のNCコントローラ21から取得可能な情報については、NCコントローラ21から取得するようにしてもよい。なお、NCコントローラ21から取得するとした情報についても、代替のデバイス(例えば別な計算機や、センサ自体)から取得してもよい。
【0046】
*工具情報(工具セット情報144及び個別工具情報145)
工具セット情報144は、1以上の工具TLで構成されるグループ(セット)を管理するための情報である。工具セット情報144は、工具セットの識別情報(工具セットID)と、セットを構成する1以上の工具TLの識別子、又は型番の集合である。
【0047】
個別工具情報145は、各工具に関する情報である。個別工具情報145は、以下に示す各情報を含む。
(b1)工具TLの識別子(工具ID:例えば、シリアル番号等)。工具TLの識別子としては、刃物部TLaやホルダTLbに個体IDが与えられている場合は、その値であってもよく、付されていない場合には、構成情報取得プログラム142を実行するCPU11が自動付与してもよい。
(b2)工具TLの型番(工具特定情報の一例)。例えば、工具TLを構成する刃物部TLaとホルダTLbとのそれぞれの型番。なお、工具TLが、刃物部TLaのみで構成される場合には、刃物部TLaの型番のみでよい。また、刃物部TLaが複数の部品で構成される場合には、それらすべての型番であってもよく、一部の型番であってもよい。
(b3)工具TL(例えば、刃物部TLaと、ホルダTLbのそれぞれ)についての材質、形状、剛性(ヤング率、たわみ量等)、使用履歴、温度等。ここで、工具TLの材質、形状によって剛性が変化するので、これらの情報も剛性に関する情報である。なお、明記しない限りは、「形状」とは、一般的に言うところの図面やCADデータが示す立体形状や断面形状に加えて、長さ、刃物部TLaがホルダTLbから突出する長さ(刃物飛び出し長さ)、刃物部TLaの太さ、刃物部TLaの直線度、といった形状から得られる代表的な値も含むものとする。
(b4)工具が収容されるべきツールマガジン25の配置位置(スロット)の情報(位置情報、スロット番号)。
なお、本実施形態では、(b1)~(b4)の情報については、例えば、作業者によるユーザインターフェース13を介しての入力情報から取得するようにしているが、NCコントローラ21から取得可能な情報については、NCコントローラ21から取得するようにしてもよい。
【0048】
*変換元用NCプログラム146は、変換元のNC切削加工機20(変換元NC切削加工機20という。)において、加工処理に使用しているNCプログラムである。変換元用NCプログラム146は、変換元NC切削加工機20による加工処理によって得られる目的物の加工精度を所定の精度に維持するために、変換元NC切削加工機20の特性や状態等に合わせてチューニングされている場合がある。
【0049】
*変換先用NCプログラム147は、変換先のNC切削加工機20(変換先NC切削加工機20という。)に合うように、変換元用NCプログラム146を変換して得られたNCプログラムである。なお、いずれの変換元用NCプログラム146に対しても変換処理が行われていない場合には、変換先用NCプログラム147は、存在しない。
【0050】
*変換履歴情報148は、変換元用NCプログラム146を変換先用NCプログラム147に変換する際の変換処理の履歴を管理する情報である。変換履歴情報148は、例えば、変換処理を識別する識別情報と、その変換処理時に使用した各種情報(入力された情報等)とを対応付けた情報である。
【0051】
その他、記憶資源14には下記の情報を格納してもよい。
*ワークW情報。本情報は、例えばワークWの加工前の形状データ、材質、剛性、ワークWの加工目標形状データ等の情報。加工目標形状データとは、NCプログラムによって加工する時の目標とする形状を示すデータである。当該目標形状にワークWを加工できた場合は誤差がゼロであることを意味する。
*加工機構成情報143、工具セット情報144、個別工具情報145以外の、変換前環境又は変換先環境の情報。本情報を明示するために「その他変換前環境情報」や「その他変換前環境情報」と呼ぶことがある。
【0052】
<変換用計算機で動作するプログラム>
<<変換プログラム141>>
変換プログラム141は、CPU11に実行されることにより、以下の処理を実行する。ここで、CPU11が変換プログラム141を実行することにより、変換部が構成される。
*変換プログラム141は、変換用入力画面を介して変換開始の指示がされた場合に、変換用入力画面に入力された各種情報を加工機構成情報143、工具セット情報144、及び個別工具情報145に反映させ、変換用入力画面に入力された各種情報と、加工機構成情報143、工具セット情報144、及び個別工具情報145に含まれる、変換先環境の情報或いは変換元環境の情報とに基づいて、変換対象の変換元用NCプログラム146を変換先用NCプログラム147に変換する変換処理を実行し、得られた変換先用NCプログラム147を記憶資源14に格納する。
【0053】
変換元用NCプログラム146を変換先用NCプログラム147に変換する変換処理においては、例えば、変換プログラム141は、変換先NC切削加工機20の剛性、又は変換先NC切削加工機20で使用される工具セット50の工具TLの剛性、に関する情報に基づいて、変換元用NCプログラム146の命令を変更或いは追加したデータを、変換先用NCプログラム147とする。なお、追加又は変更する命令としては、工具径補正、工具長補正、工具摩耗補正、送り速度、又は切削速度とすることで、工具TLによるワークWの加工回数が増える等の大幅な加工作業が変わることを回避してもよい。しかし、ワークWの加工回数が増えるような命令(例えばためし削りに相当する命令)を追加してもよい。
【0054】
例えば、変換元用NCプログラム146を変換先用NCプログラム147に変換する変換処理においては、変換プログラム141は、工具TLのパスを補正するパス補正処理(図5参照)を実行する。
【0055】
また、変換プログラム141は、変換元NC切削加工機20のNCコントローラ21と、変換先NC切削加工機20のNCコントローラ21とで、NCプログラムについての記述形式の少なくとも一部が異なっている場合には、変換元用NCプログラムの記述における、記述形式が異なる部分について、変換先NC切削加工機20のNCコントローラ21用の記述形式に変換する。これにより、変換先NC切削加工機20のNCコントローラ21において支障なく加工処理を行うことができる。
【0056】
*変換プログラム141は、変換処理後に、ダウンロードを確認するためのダウンロード確認画面を表示させ、ダウンロードの指示がされた場合に、変換先用NCプログラム147を、変換先NC切削加工機20のNCコントローラ21又は変換先NC切削加工機20のある場所の現場用計算機30に送信する。
【0057】
<<構成情報取得プログラム142>>
構成情報取得プログラム142は、CPU11に実行されることにより、以下の処理を実行する。
*構成情報取得プログラム142は、NCコントローラ21からNC切削加工機20に関する各種情報を取得する。取得する情報としては、上記した(a1)、(a2)、(a4)、(a5)、(a8)、(a9)、及び(a10)の情報がある。
*構成情報取得プログラム142は、変換用入力画面をユーザインターフェース13に表示させ、変換用入力画面を介して作業者からの各種情報(作業者から取得するNC切削加工機20に関する情報((a3)、(a6)、(a7)、及び(a11))、及び工具セット50に関する情報((b1)~(b4)の情報))を取得する。
【0058】
次に、変換用計算機10による処理動作について説明する。
【0059】
(処理1)構成情報取得プログラム142(厳密には、構成情報取得プログラム142を実行するCPU11)は、ネットワーク40を介して接続された各NC切削加工機20のNCコントローラ21から、取得可能な各NC切削加工機20に関する各種情報(例えば、(a1)、(a2)、(a4)、(a5)、(a8)、(a9)、及び(a10))を取得する。なお、本処理は、以下で説明する処理2以降の処理を行う度に行う必要はない。
【0060】
(処理2)次いで、構成情報取得プログラム142は、変換用入力画面を表示させて、変換用入力画面を介して、下記指定を受け付ける。
*変換対象である変換元用NCプログラム146の指定。
*変換元用NCプログラム146によってワークWの加工処理を行っていたNC切削加工機20(変換元NC切削加工機)を特定する情報(加工機ID)の指定。
*変換元用NCプログラム146による加工処理において使用していた工具セットを特定する情報(工具セットID)の指定。
*変換元用NCプログラム146を変換させた変換先用NCプログラム147により新たにワークWの切削加工を行わせるNC切削加工機(変換先NC切削加工機20)を特定する情報(加工機ID)の指定。
*変換先NC切削加工機20で使用する工具セットを特定する情報(工具セットID)の指定。
これとともに、構成情報取得プログラム142は、変換元NC切削加工機20及び変換先NC切削加工機20に関する各種情報((a3)、(a6)、(a7)、及び(a11))や、変換元NC切削加工機20で使用されていた工具セット50や、変換先NC切削加工機20で使用する工具セット50に関する情報((b1)~(b4)の情報)の入力(直接入力又は選択入力)を受け付ける。
【0061】
(処理3)ユーザから変換開始の指示を受け付けると、構成情報取得プログラム142は、変換プログラム141に変換開始指示を送信する。ここで、変換開始指示には、変換用入力画面に入力(直接入力又は選択入力)された各種情報が含まれる。
【0062】
(処理4)変換プログラム141は、変換開始指示を受け取ると、指定された変換元用NCプログラム146(補正前NCプログラム)を読み込んで、変換開始指示に含まれる情報(少なくとも変換先NC切削加工機20又は、変換先NC切削加工機20で使用される工具セットの剛性に関する情報)に基づいて、変換元用NCプログラム146を変換先用NCプログラム147(補正後NCプログラム)に変換し、変換された変換先用NCプログラム147を記憶資源14に格納する。
【0063】
(処理5)次いで、変換プログラム141は、ダウンロード確認画面を表示させる。なお、ダウンロード確認画面は処理4完了後に自動的に表示させる代替として、現場用計算機30の利用者の当該計算機への操作に応じて表示させてもよい。この後、ダウンロードの指示を受け付けた場合に、変換プログラム141は、変換先用NCプログラム147を、変換先NC切削加工機20のNCコントローラ21又は変換先NC切削加工機20のある場所の現場用計算機30に送信する。
【0064】
例えば、変換先用NCプログラム147をNCコントローラ21に送信するようにする場合においては、NCコントローラ21が受信した変換先用NCプログラム147を格納し、以降の加工処理において、この変換先用NCプログラム147を実行可能となる。一方、変換先用NCプログラム147を現場用計算機30に送信するようにする場合においては、現場用計算機30が変換先用NCプログラム147を格納する。この後、現場用計算機30の変換先用NCプログラム147を、ネットワーク40を経由して、又は記録媒体等を介してNCコントローラ21に格納させることにより、NCコントローラ21に変換先用NCプログラム147を実行させることができるようになる。
【0065】
<変換プログラムによる変換処理の具体例>
次に、変換用計算機10による処理動作の具体例について説明する。
【0066】
図5は、一実施形態に係るパス補正処理のフローチャートである。パス補正処理は、変換処理において実行される処理である。
【0067】
まず、変換プログラム141は、処理対象の変換元用NCプログラム146の全ブロックと、素材形状、工具形状との情報を受け付ける(S1)。ここで、ブロックとは、変換元用NCプログラム146により実行する加工処理において、NC切削加工機20に対して1回に指示することのできる命令(アドレス)を含む記述部分を示す。ブロックには、同時に指示することのできる1以上の命令(アドレス)が含まれる。アドレスとしては、例えば、命令の種類を示すコードと、命令の内容に関するパラメータとが含まれるものがある。なお、変換元用NCプログラム146の容量が大きくて、メモリのワーク領域に全てのブロックを呼び出すことができなければ、処理の進行に応じて読み出すブロックを切り替えるようにすればよい。
【0068】
次いで、変換プログラム141は、読み出したブロックのうちのワークWへの切削加工を行うブロック(対象ブロックという)のそれぞれに対して、以下の処理(ステップS2~S7)を行う、
【0069】
対象ブロックに対して、変換プログラム141は、対象ブロックによる切削加工における工具TLに加えられる切削力を算出する(S2)。具体的には、変換プログラム141は、ワークWの形状、工具形状等を入力として切削加工をシミュレートして、加工部分の形状等から工具TLに加えられる切削力を算出する。
【0070】
次いで、変換プログラム141は、切削力に基づいて、工具TLについてのパスの補正量として、暫定の補正量を決定する(S3)。ここで、暫定の補正量は、例えば、工具TLの先端に発生するたわみ変形量(第2たわみ変形量)である。
【0071】
次いで、変換プログラム141は、対象ブロックでの切削加工を行う場合において、工具TLとワークWとの干渉が発生する位置であって工具TLの最も基端側の干渉位置についての工具TLの先端からのZ軸方向の距離である最大隣接高さHを算出する(S4)。なお、干渉が発生するか否かは、ワークWと、工具TLとの間隔が所定の値よりも小さい場合であることに基づいて判定してもよい。
【0072】
次いで、変換プログラム141は、NC切削加工機20の主軸剛性と、工具の形状・材質と、算出された切削力とに基づいて、最大隣接高さHの位置(最大隣接高さ位置)での工具TLのたわみ変形量δmax(第1たわみ変形量)を算出する(S5)。
【0073】
次いで、変換プログラム141は、暫定の工具の補正量が、たわみ変形量δmaxに所定の許容量を加算した値よりも小さいか否かを判定する(S6)。ここで、所定の許容量としては、例えば、最大隣接高さ位置が工具TLの刃物部TLaの加工可能なZ軸方向の範囲、すなわち加工可能な範囲(加工可能範囲)内であれば、その最大隣接高さ位置での削り側の許容公差としてもよく、最大隣接高さ位置が工具TLの刃物部TLaのZ軸方向の範囲外(加工可能範囲外)であれば、工具TLをワークWに押し込んでも折損しない押し込み量(許容押し込み量)としてもよい。
【0074】
この結果、暫定の工具の補正量が、たわみ変形量δmaxに所定の許容量を加算した値よりも小さい場合(S6:Yes)には、ワークWと工具TLが干渉しても問題ないと考えられるので、変換プログラム141は、暫定の補正量を変更しないで処理をステップS8に進める。一方、暫定の工具補正量が、たわみ変形量δmaxに所定の許容量を加算した値よりも小さくない場合(S6:No)には、ワークWと工具TLとの干渉が問題であると考えられるので、変換プログラム141は、補正量をたわみ変形量δmaxに所定の許容量を加算した値に決定し(S7)、処理をステップS8に進める。ステップS7では、補正量を、0よりも大きく、たわみ変形量δmaxに所定の許容量を加算した値以下の範囲の値に決定してもよい。
【0075】
ステップS8では、変換プログラム141は、それぞれの対象ブロックを、決定されている補正量(ステップS7を実行していない場合には、ステップS3で決定した暫定の補正量:ステップS7を実行した場合には、ステップS7で決定した補正量)を反映したブロックに更新し、更新したブロックを含む変換先用NCプログラム147を記憶資源14のストレージに格納する。
【0076】
このパス補正処理によると、切削加工のブロックが適切な補正量に補正された変換先用NCプログラム147を作成することができる。
【0077】
次に、最大隣接高さHについての具体例を説明する。
【0078】
図6は、一実施形態に係る最大隣接高さを説明する図である。
【0079】
例えば、図6(A)に示すように、ワークWの加工面の上部に面取りされた面取り部601がある場合には、最大隣接高さHは、面取り部の下までの高さとなる。図6(B)に示すように、ワークWの中間部分に工具TLと接触しない非接触部602がある場合には、最大隣接高さHは、工具TLがワークWと接触する最も高い位置までの高さとなる。図6(C)に示すように、ワークWが工具TLの先端以外で加工される場合には、最大隣接高さHは、工具TLがワークWと接触する最も高い位置までの高さとなる。図6(D)に示すように、工具TLの先端がテーパ形状となっている場合には、最大隣接高さHは、工具TLがワークWと接触する最も高い位置までの高さとなる。図6(E)に示すように、工具TLの先端の刃物部TLaが基端側よりも太い、段付き工具である場合には、最大隣接高さHは、刃物部TLaがワークWと接触する最も高い位置までの高さとなる。
【0080】
次に、ワークWに対する具体的な加工処理を例に挙げて変換元用NCプログラムの変換処理について説明する。
【0081】
図7は、一実施形態に係るワークの切削加工の一例を示す図である。
【0082】
この切削加工は、図7(A)に示す加工前のワークWに対して、図7(B)に示すように、1段目の加工部分701を切削し、次に、図7(C)に示すように、2段目の加工部分702を切削し、次に、図7(D)に示すように、3段目の加工部分703を切削する処理である。
【0083】
図8は、一実施形態に係るワークの切削加工を行う補正前NCプログラムの記述を示す図である。図8は、図7に示す切削加工を行う補正前NCプログラムの一例である。
【0084】
図8に示す補正前NCプログラムは、Gコードで記述されている。補正前NCプログラムにおいて、各行がブロックを示し、ブロックにおけるN+数字2桁は、ブロックの番号を示している。また、ブロックのG+数字2桁は、Gコードに対応する。例えば、G00は、位置決めの命令であり、G01は、設定した速度で直線に移動させる直線補間の命令である。例えば、N04のブロックは、工具TLをX100、Y10の座標に送り速度500(mm/min)で直線補間させることを意味する。
【0085】
図9は、一実施形態に係る補正前NCプログラムによる工具のパスを説明する図である。図9は、図8に示す補正前NCプログラムを実行した場合の工具のパスを示している。図9(A)は、ワークWの上面図(XY平面図)であり、図9(B)は、ワークWの側面図(YZ平面図)であり、図9(C)は、ワークWの側面図(XZ平面図)である。
【0086】
図8に示す補正前NCプログラムが実行されると、N01のブロックにより、工具TLは、原点からX-20.Y0.Z10の位置まで直線移動される(図9(A)、図9(B)、図9(C))。次いで、N02のブロックにより、工具TLは、Z-10の位置まで直線移動される(図9(B)、図9(C))。次いで、N03のブロックにより、工具TLは、Y10の位置まで直線移動される(図9(A)、図9(B))。
【0087】
次いで、N04のブロックにより、工具TLは、X100.Y10の位置まで送り速度500で直線移動される(図9(A)、図9(C))。このブロックを実行することにより、図7(B)に示す1段目の加工部分701の切削が行われる。
【0088】
次いで、N05のブロックにより、工具TLは、Z10の位置まで直線移動される(図9(B)、図9(C))。次いで、N06のブロックにより、工具TLは、X-20.Y0の位置まで直線移動される(図9(A)、図9(B)、図9(C))。次いで、N07のブロックにより、工具TLは、Z-20の位置まで直線移動される(図9(B)、図9(C))。次いで、N08のブロックにより、工具TLは、Y10の位置まで直線移動される(図9(A)、図9(B))。
【0089】
次いで、N09のブロックにより、工具TLは、X100.Y10の位置まで送り速度500で直線移動される(図9(A)、図9(C))。このブロックを実行することにより、図7(C)に示す2段目の加工部分702の切削が行われる。
【0090】
次いで、N10のブロックにより、工具TLは、Z10の位置まで直線移動される(図9(B)、図9(C))。次いで、N11のブロックにより、工具TLは、X-20.Y0の位置まで直線移動される(図9(A)、図9(B)、図9(C))。次いで、N12のブロックにより、工具TLは、Z-30の位置まで直線移動される(図9(B)、図9(C))。次いで、N13のブロックにより、工具TLは、Y10の位置まで直線移動される(図9(A)、図9(B))。
【0091】
次いで、N14のブロックにより、工具TLは、X100.Y10の位置まで送り速度500で直線移動される(図9(A)、図9(C))。このブロックを実行することにより、図7(D)に示す3段目の加工部分703の切削が行われる。
【0092】
次いで、N15のブロックにより、工具TLは、Z10の位置まで直線移動され(図9(B)、図9(C))、加工処理は終了される。
【0093】
次に、図8に示す補正前NCプログラムに対して、上記したパス補正処理が実行されて得られる補正後NCプログラムについて説明する。
【0094】
図10は、一実施形態に係る補正後NCプログラムの記述を示す図である。
【0095】
図8に示す補正前NCプログラムに対してパス補正処理が実行されると、ワークWを切削加工するブロックであるN04、N09、N14について、パスを補正する補正量が反映されたブロックに補正される。
【0096】
具体的には、図10に示すように、N04のブロックについては、N04 G01 X100.Y[10.+0.01]F500に示すように、パスのY座標が補正量0.01だけ補正され、N09のブロックについては、N09 G01 X100.Y[10.+0.01]F500に示すように、パスのY座標が補正量0.01だけ補正され、N14のブロックについては、N04 G01 X100.Y[10.+0.01]F500に示すように、パスのY座標が補正量0.01だけ補正される。なお、図10の例では、各ブロックの補正量が同一の値となっているが、各補正量は、パス補正処理で決定された補正量であり、同一であるとは限らない。
【0097】
<作用・効果>
このように補正された補正後NCプログラムを利用すると、NC切削加工機20での切削加工処理において、ワークWを削り過ぎでしまったり、工具TLを折損させてしまったりする状況の発生を適切に防止することができる。
【0098】
<バリエーション>
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。また、下記で説明した処理は組み合わせて用いてもよい。
【0099】
<<現場用計算機の他の利用形態>>
また、上記実施形態では、変換用入力画面、ダウンロード確認画面を変換用計算機10のユーザインターフェース13に表示させて、入力を受け付ける例を説明していたが、本発明はこれに限られず、変換用入力画面、ダウンロード確認画面を、いずれかの現場用計算機30に表示させて、入力を受け付けるようにしてもよく、例えば、変換先のNC切削加工機20がある場所の現場用計算機30に表示させて入力を受け付けるようにしてもよい。また、変換用入力画面の一部を、変換元のNC切削加工機20がある場所の現場用計算機30に表示させて入力を受け付けるようにし、変換用入力画面の残りの部分を、変換先のNC切削加工機20がある場所の現場用計算機30に表示させて入力を受け付けるようにしてもよい。
【0100】
<<<その他>>>
また、上記実施形態において、CPU11が行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は不揮発性の記録メディア(例えば可搬型の記録メディア)であってもよい。
【0101】
変換元用NCプログラムは、CAMプログラムで目標形状データから生成した直後であって、かつ加工機で切削する前のNCプログラムであってもよい。なお、この場合の工具セットは、CAMプログラムでNCプログラムを生成したときの工具データを入力してもよい。また、工具経路の補正量の決定は、上述の主軸剛性又は工具の剛性以外に、ワークWの剛性や、ワークWの切削中の熱膨張量(逆な言い方をすれば切削後の熱収縮量)に基づいて行ってもよい。
【0102】
上記説明では主に加工機としてマシニングセンタを例として説明したが、NC制御可能であれば他の加工機であってもよい。
【0103】
上記説明では、現場用計算機と変換用計算機とのデータ送受信を一部省略して説明したが、当然ながら、現場用計算機と変換用計算機との間ではデータ送受信が行われている。例えば、変換プログラム141が変換用計算機で実行され、そして、現場用計算機でユーザインターフェース表示や当該操作による情報表示又は情報入力を行う場合は、現場用計算機に構成情報取得プログラムが担当する処理の一部を担うプログラムが、現場用計算機で実行される。そして、当該一部を担うプログラムが、入力された情報を変換用計算機に送信したり、又は変換用計算機から送信された表示用情報を当該一部を担うプログラムが受信し、ユーザインターフェース表示を行ったりする。
【符号の説明】
【0104】
1 加工処理システム、10 変換用計算機、11 CPU、12 ネットワークインターフェース、13 ユーザインターフェース、14 記憶資源、20 NC切削加工機、21 NCコントローラ、30 現場用計算機、50 工具セット、W ワーク、TL 工具
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10