実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
<システム構成>
図1は、一実施形態に係る加工処理システムの全体構成図である。
加工処理システム1は、変換用計算機10と、複数のNC切削加工機20(加工機の一例)と、複数の現場用計算機30とを備える。変換用計算機10と、複数のNC切削加工機20と、複数の現場用計算機30とが、ネットワーク40を介して接続されている。ネットワーク40は、有線ネットワークでも無線ネットワークでもよい。本実施形態では、場所Aと場所Bとのそれぞれに、NC切削加工機20と、現場用計算機30とが配置され、場所Cに、変換用計算機10が配置されている。なお、変換用計算機10は、場所A又は場所Bのいずれかに配置されてもよい。また、複数のNC切削加工機20と、複数の現場用計算機30とが同一の場所に配置されていてもよい。
変換用計算機10は、或るNC切削加工機20用のNCプログラム(変換元用NCプログラム:補正前NCプログラム)を他のNC切削加工機20用のNCプログラム(変換先用NCプログラム:補正後NCプログラム)に変換する処理を実行する。変換用計算機10の詳細については、後述する。
現場用計算機30は、現場の作業者により操作される計算機であり、例えば、プロセッサ、記憶資源等を備えるPC(Personal Computer)によって構成される。なお、ここで言う現場は、図1ではNC切削加工機20が設置された場所(例えば工場内、建物、フロア等)が典型例である。ただし、現場用計算機30は、変換用計算機10の画面表示用として用いるのであれば、NC切削加工機20が設置された場所以外で使用されてもよい。
なお、以後の説明では、現場用計算機30は変換したNCプログラムのダウンロード処理及び画面表示や、変換用入力画面等の画面表示を担当し、実際の変換処理は変換用計算機10が担当することを例として説明している。しかし、多少の利便性は低下するものの、各計算機が担当する役割(一部の役割も含めて)お互いに交換又は統合可能である。また、変換用計算機10は複数の計算機で構成されていてもよい。従って、以後の説明では、「変換システム」という言葉を使うことがある。当該システムは1以上の計算機(現場用計算機30又は変換用計算機10)を含み、下記で説明する変換用計算機10と現場用計算機30が担当する処理を行うシステムである。なお、現場用計算機30で実現する処理の一部は省略されてもよい。
NC切削加工機20は、例えば、マシニングセンタであり、加工処理を実行する本体部22と、本体部22の加工処理を制御するNCコントローラ21と、本体部22で使用される1以上の工具セットの工具TLを収容可能な収容部の一例としてのツールマガジン25とを備える。
ツールマガジン25は、それぞれ1つの工具TLを収容可能な複数のスロット(SL:25a,25b,25c)を有する。
NCコントローラ21は、内部に記憶されているNCプログラムに従って、本体部22の加工処理や工具の交換処理を制御する。
本体部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に取り付ける。
NC切削加工機20においては、ツールマガジン25に収容可能な工具TLの数には制限があるが、予め1以上の工具セット50を用意しておき、実行する加工処理に応じて、ツールマガジン25に収容する工具セットを入れ替えることにより、種々の加工処理に対応することができる。
本実施形態では、工具TLは、ワークWを切削するためのエンドミル、ドリル、バイト等の刃物部TLaと、刃物部TLaを処理ヘッド部23に装着するためのホルダTLbとを含んだものとしているが、例えば、処理ヘッド部23に刃物部TLaをそのまま装着できる場合には、ホルダTLbを含んでいなくてもよく、少なくとも刃物部TLaを含んでいればよい。
なお、以後の説明では、変換対象とするNCプログラム(即ち、変換元用NCプログラム)を使用して加工を行っていた加工機と、当該加工機に対応する工具セットと、を少なくとも含む存在を「変換元環境」と呼ぶことがある。また、変換されたNCプログラム(即ち、変換先用NCプログラム)を使用して加工を予定する加工機と、当該加工機に対応する工具セットと、をすくなくとも含む存在を「変換先環境」と呼ぶことがある。なお、変換元環境及び変換先環境には、それぞれの場所に含まれる物理的又は論理的な存在(例えば、その場所の温度や、温度センサ、湿度、湿度センサ、或いはその場所で加工機が設置された床、場所を構成する建物)が含まれてもよい。なお、「加工機に対応する工具セット」とは、加工機の工具マガジンに格納済の工具セットに加えて、将来工具マガジンに格納して使用する可能性のある工具セットも含む。典型的には加工機に対応する工具セットは、加工機と同じ場所に設置されている。
次に、変換用計算機10について詳細に説明する。
図2は、一実施形態に係る変換用計算機の構成図である。
<<ハードウェア>>
変換用計算機10は、一例としてはパーソナルコンピュータ、汎用計算機である。変換用計算機10は、プロセッサの一例としてのCPU11、ネットワークインターフェース12(図ではNet I/Fと省略)、ユーザインターフェース13(図ではUser I/F)、記憶部の一例としての記憶資源14、及びこれら構成物を接続する内部ネットワークを含む。
CPU11は、記憶資源14に格納されたプログラムを実行することができる。記憶資源14は、CPU11で実行対象となるプログラムや、このプログラムで使用する各種情報、NC切削加工機20で使用するNCプログラム等を格納する。記憶資源14としては、例えば、半導体メモリ、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)等であってよく、揮発タイプのメモリでも、不揮発タイプのメモリでもよい。
ネットワークインターフェース12は、ネットワーク40を介して外部の装置(例えば、現場用計算機30、NC切削加工機20のNCコントローラ21等)と通信するためのインターフェースである。
ユーザインターフェース13は、例えば、タッチパネル、ディスプレイ、キーボード、マウス等であるが、作業者(ユーザ)からの操作を受け付け、情報表示ができるのであれば、他のデバイスであってもよい。ユーザインターフェース13は、これら複数のデバイスで構成されてもよい。
<<データ等>>
記憶資源14は、加工機構成情報1421と、工具セット情報1422と、個別工具情報1423と、変換元用NCプログラム1424と、変換先用NCプログラム1425と、変換履歴情報1426とを格納する。なお、記憶資源14は、これ以外の情報を格納してもよい。次の段落から各データやプログラムの詳細について説明する。なお、各情報、又は各情報の一部の項目は省略してもよい。
*加工機構成情報1421。加工機構成情報1421は、例えば、各NC切削加工機20に関する情報を格納するテーブルとして構成される。加工機構成情報1421は、各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)主軸やステージ等のコンポーネントのがたつき、移動精度(例えば、ステージのバックラッシュ量等)、直線度、平面度、平行移動度、装置稼働時の振動幅や振動周波数。
本実施形態では、(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から取得するとした情報についても、代替のデバイス(例えば別な計算機や、センサ自体)から取得してもよい。
*工具情報(工具セット情報1422及び個別工具情報1423)
工具セット情報1422は、1以上の工具TLで構成されるグループ(セット)を管理するための情報である。工具セット情報1422は、工具セットの識別情報(工具セットID)と、セットを構成する1以上の工具TLの識別子、又は型番の集合である。
個別工具情報1423は、各工具に関する情報である。個別工具情報1423は、以下に示す各情報を含む。
(b1)工具TLの識別子(工具ID:例えば、シリアル番号等)。工具TLの識別子としては、刃物部TLaやホルダTLbに個体IDが与えられている場合は、その値であってもよく、付されていない場合には、構成情報取得プログラム1412を実行する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から取得するようにしてもよい。
*変換元用NCプログラム1424は、変換元のNC切削加工機20(変換元NC切削加工機20という。)において、加工処理に使用しているNCプログラムである。変換元用NCプログラム1424は、変換元NC切削加工機20による加工処理によって得られる目的物の加工精度を所定の精度に維持するために、変換元NC切削加工機20の特性や状態等に合わせてチューニングされている場合がある。
*変換先用NCプログラム1425は、変換先のNC切削加工機20(変換先NC切削加工機20という。)に合うように、変換元用NCプログラム1424を変換して得られたNCプログラムである。なお、いずれの変換元用NCプログラム1424に対しても変換処理が行われていない場合には、変換先用NCプログラム1425は、存在しない。
*変換履歴情報1426は、変換元用NCプログラム1424を変換先用NCプログラム1425に変換する際の変換処理の履歴を管理する情報である。変換履歴情報1426は、例えば、変換処理を識別する識別情報と、その変換処理時に使用した各種情報(入力された情報等)とを対応付けた情報である。
その他、記憶資源14には下記の情報を格納してもよい。
*ワークW情報。本情報は、例えばワークWの加工前の形状データ、材質、剛性、ワークWの加工目標形状データ等の情報。加工目標形状データとは、NCプログラムによって加工する時の目標とする形状を示すデータである。当該目標形状にワークWを加工できた場合は誤差がゼロであることを意味する。
*加工機構成情報1421、工具セット情報1422、個別工具情報1423以外の、変換前環境又は変換先環境の情報。本情報を明示するために「その他変換前環境情報」や「その他変換前環境情報」と呼ぶことがある。
<変換用計算機で動作するプログラム>
<<変換プログラム1411>>
変換プログラム1411は、CPU11に実行されることにより、以下の処理を実行する。ここで、CPU11が変換プログラム1411を実行することにより、変換部が構成される。
*変換プログラム1411は、後述する変換用入力画面100(図3参照)の変換開始ボタン120が押下された場合に、変換用入力画面100に入力された各種情報を加工機構成情報1421、工具セット情報1422、及び個別工具情報1423に反映させ、変換用入力画面100に入力された各種情報と、加工機構成情報1421、工具セット情報1422、及び個別工具情報1423に含まれる、変換先環境の情報或いは変換元環境の情報とに基づいて、変換対象の変換元用NCプログラム1424を変換先用NCプログラム1425に変換する変換処理を実行し、得られた変換先用NCプログラム1425を記憶資源14に格納する。
変換元用NCプログラム1424を変換先用NCプログラム1425に変換する変換処理においては、例えば、変換プログラム1411は、変換先NC切削加工機20の剛性、又は変換先NC切削加工機20で使用される工具セット50の工具TLの剛性、に関する情報に基づいて、変換元用NCプログラム1424の命令を変更或いは追加したデータを、変換先用NCプログラム25とする。なお、追加又は変更する命令としては、工具径補正、工具長補正、工具摩耗補正、送り速度、又は切削速度とすることで、工具TLによるワークWの加工回数が増える等の大幅な加工作業が変わることを回避してもよい。しかし、ワークWの加工回数が増えるような命令(例えばためし削りに相当する命令)を追加してもよい。
また、変換元用NCプログラム1424を変換先用NCプログラム1425に変換する変換処理においては、変換プログラム1411は、変換元NC切削加工機20のNCコントローラ21と、変換先NC切削加工機20のNCコントローラ21とで、NCプログラムについての記述形式の少なくとも一部が異なっている場合には、変換元用NCプログラムの記述における、記述形式が異なる部分について、変換先NC切削加工機20のNCコントローラ21用の記述形式に変換する。これにより、変換先NC切削加工機20のNCコントローラ21において支障なく加工処理を行うことができる。
変換プログラム1411は、変換先用NCプログラム1425内に、コメントとして、変換先NC切削加工機20の加工機IDと、変換先NC切削加工機20で使用すると指定された工具セットの各工具TLの型番(或いは識別子)と、各工具TLの配置位置情報(スロット番号)とを記載するようにしてもよい。例えば、コメントとして、「MC2:SL1:ML7x、・・・」と記載してもよい。ここで、MC2は、加工機IDであり、SL1は、スロット番号であり、ML7xは、ミルの型番である。このコメントを参照することにより、変換先用NCプログラム1425が、どのNC切削加工機20を対象とし、どのような工具をどのスロットに格納すればよいのかを把握することができる。また、変換先用NCプログラム1425内に、コメントとして、使用すると指定された各工具TLの用途と、各工具TLの配置位置情報とを記載するようにしてもよい。このようなコメントを追加することで変換先用NCプログラム1425のデータ量が増加するが、必ず変換先NCプログラムと一体で管理できるため、想定していないNC切削加工機20や工具TLを間違って使うことを軽減できる。なお、以後の説明では本段落で説明したコメントを「変換先装置又は工具コメント」と呼ぶ場合がある。
また、変換プログラム1411は、変換先用NCプログラム1425内に、コメントとして、変換処理のID(変換履歴ID)を格納するようにし、変換履歴IDと、変換用入力画面100に入力された各種情報とを対応付けた変換履歴情報1426を記憶資源14に格納する。変換先用NCプログラム1425内のコメントとして格納された変換履歴IDを変換履歴情報1426と突き合わせることにより、変換時に考慮した各種値を把握することができ、変換先用NCプログラム1425による加工処理の精度が不十分である場合における原因追及を行うことができる。なお、以後の説明では本段落のようなコメントを「履歴コメント」と呼ぶ場合がある。
なお、変換プログラム1411による変換処理を多重に行う場合が考えられる。例えば、1回目に変換した変換先用NCプログラム1425を、さらに別なNC切削加工機20又は工具セット向けに変換したい場合である。このような場合に上記「変換先装置又は工具コメント」と「履歴コメント」はその変換多重度分だけ変換先用NCプログラム1425に存在してもよい。しかし、一番最後の変換によって生成されたこれらコメントのみを残し、それより前のこれらコメントは削除することが好ましい。特に「変換先装置又は工具コメント」では作業者が見るべきものは最後の変換で付与されたコメントだけだからである。
*変換プログラム1411は、変換処理後に、後述するダウンロード確認画面200(図4参照)を表示させ、ダウンロードボタン210が押下された場合に、変換先用NCプログラム1425を、変換先NC切削加工機20のNCコントローラ21又は変換先NC切削加工機20のある場所の現場用計算機30に送信する。
<<構成情報取得プログラム1412>>
構成情報取得プログラム1412は、CPU11に実行されることにより、以下の処理を実行する。ここで、CPU11が構成情報取得プログラム1412を実行することにより、剛性情報受付部が構成される。
*構成情報取得プログラム1412は、NCコントローラ21からNC切削加工機20に関する各種情報を取得する。取得する情報としては、上記した(a1)、(a2)、(a4)、(a5)、(a8)、(a9)、及び(a10)の情報がある。
*構成情報取得プログラム1412は、変換用入力画面100をユーザインターフェース13に表示させ、変換用入力画面100を介して作業者からの各種情報(作業者から取得するNC切削加工機20に関する情報((a3)、(a6)、(a7)、及び(a11))、及び工具セット50に関する情報((b1)〜(b4)の情報))を取得する。
*構成情報取得プログラム1412は、変換用入力画面100において、必要な情報が入力されていない場合や、適切でない場合(情報が古い場合)には、その情報の入力領域の近傍に、アラート記号(「!」等)を表示する。なお、構成情報取得プログラム1412は、必要な情報が入力されていない場合や、適切でない場合には、変換処理の実行が開始されないように、例えば、変換用入力画面100の変換開始ボタン120を押下不能な状態として表示させてもよい。このようにすると、変換でエラーが発生するような場合に、変換処理の実行を適切に抑止することができる。
*構成情報取得プログラム1412は、変換元環境の情報(つまり、変換元NC切削加工機20の情報や変換元NC切削加工機20の工具セット50に関する情報)に基づいて、変換先環境における選択入力領域における入力値を適切な値に設定したり、或いは、プルダウンで選択可能となる選択候補を絞り込んだりするフィルタリング処理を実行する。例えば、構成情報取得プログラム1412は、変換元環境で選択されている工具セットの工具数と同じ工具数の工具セットだけを変換先における工具セットの選択候補として絞り込む。
次に、構成情報取得プログラム1412によって表示される変換用入力画面100について詳細に説明する。
<変換用入力画面>
図3は、一実施形態に係る変換用入力画面の構成図である。変換用入力画面100は、例えば下記描画領域より構成され、各領域に入力又は表示用の画面オブジェクトを含む画面である。
*変換前環境領域100B。この領域は、変換前環境の入力又は表示用の画面オブジェクトを含む。
*変換先環境領域100C。この領域は、変換先環境の入力又は表示用の画面オブジェクトを含む。
*加工情報領域100A。この領域は、変換前環境や変換先環境とは独立した情報に関する入力又は表示用の画面オブジェクトを含む。
加工情報領域100Aは下記を含む。なお、以後の説明では表示や入力のための「領域」という用語を用いているが、これは表示用の画面オブジェクト、又は入力用の画面オブジェクトを含む領域を指している。
*変換対象(変換元)のNCプログラムのファイル名を入力するためのファイル名入力領域101。
変換前環境領域100Bは、下記を含む。
*変換元NC切削加工機20の加工機IDや構成情報を選択指定する変換元加工機指定領域102。
*変換元NC切削加工機20に関する各種情報を入力するための変換元加工機情報入力領域103。
*変換元NC切削加工機20において変換元用NCプログラムに従った加工処理で使用した工具セットを選択指定するための変換元工具セット指定領域104。
*工具セットに含まれる各工具に関する情報を入力するための変換元工具情報入力領域105,106,107。
変換先環境領域100Cは、下記を含む。
*変換先NC切削加工機20の加工機IDや構成情報を選択指定する変換先加工機指定領域110。
*変換先NC切削加工機20に関する各種情報を入力するための変換先加工機情報入力領域111。
*変換先NC切削加工機20において変換先用NCプログラムに従った加工処理で使用する工具セットを選択指定するための変換先工具セット指定領域112。
*工具セットに含まれる各工具に関する情報を入力するための変換先工具情報入力領域113,114,115。
*変換元用NCプログラムから変換先用NCプログラムへの変換処理の開始を受け付ける変換開始ボタン120。
なお、上記領域分けは一例である。例えば、ファイル名入力領域101は変換元環境で工具セットTLと共に変換前環境の一部とみなし、加工前環境領域100Bに含まれてもよく、逆にまとめて加工情報100Aに含まれてもよい。本図では前述の「ワークW情報」、「その他変換前環境情報」、及び「その他変換先環境情報」入力又は表示領域の図示を省略している。しかし、これら領域を本画面で表示することで、情報入力を受け付けたり、情報を表示させたりしてもよい。ワークW情報は、領域100Aに含めればよい。ワークWの情報が各環境での変化が小さいのであれば好適である。一方で、環境毎にワークWの加工前の形状が異なるような場合は、そのような入力や表示領域は領域100Bや領域100Cに含めればよい。なお、形状データは図3の領域101のように形状データを格納したファイル名を指定する画面オブジェクトを用いればよい。
変換元加工機情報入力領域103は、作業者による入力が必要な情報(変換元加工機要入力情報)、例えば、上記した(a6)、(a7)、及び(a11)の情報等を入力させたり、すでに取得されている情報を表示させて、修正の情報を入力させたりするための領域である。
変換元工具情報入力領域105,106,107は、作業者による入力が必要な情報(変換元工具要求入力情報)、例えば、上記した(b3)、(b4)の情報等を入力させたり、すでに取得されている情報を表示させて、修正の情報を入力させたりするための領域である。本実施形態では、変換元工具情報入力領域105は、変換元工具セット指定領域104のTL1の工具に対応する入力領域であり、変換元工具情報入力領域106は、変換元工具セット指定領域104のTL2の工具に対応する入力領域であり、変換元工具情報入力領域107は、変換元工具セット指定領域104のTL3の工具に対応する入力領域である。
変換先加工機情報入力領域111は、作業者による入力が必要な情報、例えば、上記した(a6)、(a7)、及び(a11)の情報等を入力させたり、すでに取得されている情報を表示させて、修正の情報を入力させたりするための領域である。
変換先工具情報入力領域113,114,115は、作業者による入力が必要な情報、例えば、上記した(b3)、(b4)の情報等を入力させたり、すでに取得されている情報を表示させて、修正の情報を入力させたりするための領域である。本実施形態では、変換先工具情報入力領域113は、変換先工具セット指定領域112のTL1の工具に対応する入力領域であり、変換先工具情報入力領域114は、変換先工具セット指定領域112のTL2の工具に対応する入力領域であり、変換先工具情報入力領域115は、変換先工具セット指定領域112のTL3の工具に対応する入力領域である。変換先工具情報入力領域113,114,115における位置は、各工具を配置すべきツールマガジン25の位置情報(スロット番号)を示しているが、各工具を配置するスロット番号は、変換先工具情報入力領域113,114,115の同一又は同種の工具が配置されているスロット番号と同じものを予め設定するようにしてもよい。なお、各工具を配置するスロット番号は、作業者が任意のスロット番号を入力するようにしてもよい。なお、この場合には、入力したスロット番号のスロットに、対応する工具を適切に配置する必要がある。
変換用入力画面100においては、変換元加工機情報入力領域103、変換元工具セット指定領域104、変換先加工機指定領域110、変換先工具セット指定領域112等には、選択候補を表示させるためのプルダウンボタン130が配置されており、プルダウンボタン130が押下されると、対応する領域における選択候補が選択可能に表示されることとなる。
また、変換用入力画面100においては、入力が必要である領域に対して入力がない場合、或いは、表示されている情報が現時点より所定の期間より前に取得された情報である場合等には、アラート記号131が表示される。このアラート記号131によると、作業者が、情報が不足していたり、古かったりすることを把握することができ、必要な情報について入力したり、追加測定を行ったりする必要があることを把握できる。
なお、これまでの説明でも一部述べたが、変換前環境領域100B、変換先環境領域100Cは、変換の度に本画面の利用者がテキスト入力しなくてもよい。例えば、本画面表示前に変換用計算機10が記憶資源14に格納する情報を事前に格納し、本画面では事前に格納した情報を表示し、その情報をユーザインターフェース13にて選択する形式であってもよい。そのような場合、変換前環境又は変換先環境に関する一部の情報については本画面での表示を省略してもよい。ただし、アラート記号131については領域102、104、110、112の内部で表示されているテキストの近傍(例えばテキストの横)に表示させ、当該加工機や工具セットに属する情報が不足していたり、古いことを示唆したりしてもよい。このような示唆により、本画面の利用者は変換開始前に選択した項目では変換ができない、或いは変換したとしても変換後の加工精度が低下するおそれがあることを確認できるため、変換処理に時間を要する場合はより好適である。
次に、変換プログラム1411によって表示されるダウンロード確認画面200について詳細に説明する。
<ダウンロード確認画面>
図4は、一実施形態に係るダウンロード確認画面の構成図である。
ダウンロード確認画面200は、実行された変換処理を識別する変換履歴IDを表示する変換履歴ID表示領域201と、変換先NC切削加工機20の加工機IDや構成情報を表示する変換先加工機情報表示領域202と、変換先NC切削加工機20で使用する工具セットの工具セットIDと、工具セットを構成する工具の型番とを表示する変換先工具セット表示領域203と、変換先NC切削加工機20のツールマガジン25における各工具の配置位置情報(スロット番号)を表示する工具配置位置表示領域204と、変換先用NCプログラム1425を変換先の場所のNC切削加工機20のNCコントローラ21又は現場用計算機30にダウンロードさせる指示を受け付けるダウンロードボタン210と、を含む。
このダウンロード確認画面200によると、変換先NC切削加工機20のツールマガジン25における各工具の配置位置情報(スロット番号)が表示されているので、作業者が使用する工具TLをツールマガジン25の間違ったスロットに配置してしまうことを適切に防止することができる。
ここで、具体的な状況に即して説明すると、加工処理においては、荒加工、中仕上げ加工、仕上げ加工等の複数の工程で、異なる工具を使うことがある。この場合には、NCプログラムには、一部説明した通り、各工程で使用する工具を収容したツールマガジン25の位置情報(スロット番号)が記述されている。ツールマガジン25においてどの工具をどのスロットに配置するかは、各NC切削加工機20のそれぞれにおいて任意とすることができる。このため、変換元NC切削加工機20と、変換先NC切削加工機20との間で、同一工程を行うための工具が、ツールマガジン25の異なる番号のスロットに配置されていることも起こりうる。例えば、変換元と変換先とで同一の工程で使用する工具のツールマガジン25におけるスロットを同一番号とすることを前提として変換処理が行われた変換先用NCプログラムをそのまま用いると、同一番号のスロットに異なる種類の工具が収容されていると、全く異なる工具が使用されることとなり、ワークWに損傷を与えてしまったり、工具TLに損傷を与えてしまったりする虞がある。特に、繁忙期等においては、工具の配置間違いが発生しやすく、このような状況が発生してしまう可能性が高い。
これに対して、上記したように、ダウンロード確認画面200によると、変換先NC切削加工機20のツールマガジン25における各工具のスロット番号が表示されているので、使用する工具TLが間違ったスロットに配置されてしまっていないかを確認することを作業者に促すことができ、工具TLが間違ったスロットに配置されてしまう状況を低減することができる。
なお、本画面のようなダウンロード画面は前述した図3の画面と統合してもよい。しかし、変換処理に時間を要する場合は図4に記すダウンロード画面を図3の変換開始ボタン画面とは別に提供できることが好適である。なぜならば、変換処理を開始させた後に、画面の利用者はその画面を閉じて別作業をすることが可能だからである。その他の画面を分割する利点は本実施例に記した通りである。
次に、変換用計算機10による処理動作について説明する。
(処理1)構成情報取得プログラム1412(厳密には、構成情報取得プログラム1412を実行するCPU11)は、ネットワーク40を介して接続された各NC切削加工機20のNCコントローラ21から、取得可能な各NC切削加工機20に関する各種情報(例えば、(a1)、(a2)、(a4)、(a5)、(a8)、(a9)、及び(a10))を取得する。なお、本処理は、以下で説明する処理2以降の処理を行う度に行う必要はない。
(処理2)次いで、構成情報取得プログラム1412は、変換用入力画面100(図3参照)を表示させて、変換用入力画面100を介して、下記指定を受け付ける。
*変換対象である変換元用NCプログラム1424の指定。
*変換元用NCプログラム1424によってワークWの加工処理を行っていたNC切削加工機20(変換元NC切削加工機)を特定する情報(加工機ID)の指定。
*変換元用NCプログラム1424による加工処理において使用していた工具セットを特定する情報(工具セットID)の指定。
*変換元用NCプログラム1424を変換させた変換先用NCプログラム1425により新たにワークWの切削加工を行わせるNC切削加工機(変換先NC切削加工機20)を特定する情報(加工機ID)の指定。
*変換先NC切削加工機20で使用する工具セットを特定する情報(工具セットID)の指定。
これとともに、構成情報取得プログラム1412は、変換元NC切削加工機20及び変換先NC切削加工機20に関する各種情報((a3)、(a6)、(a7)、及び(a11))や、変換元NC切削加工機20で使用されていた工具セット50や、変換先NC切削加工機20で使用する工具セット50に関する情報((b1)〜(b4)の情報)の入力(直接入力又は選択入力)を受け付ける。
(処理3)変換開始ボタン120が押下されると、構成情報取得プログラム1412は、変換プログラム1411に変換開始指示を送信する。ここで、変換開始指示には、変換用入力画面100に入力(直接入力又は選択入力)された各種情報が含まれる。
(処理4)変換プログラム1411は、変換開始指示を受け取ると、指定された変換元用NCプログラム1424(補正前NCプログラム)を読み込んで、変換開始指示に含まれる情報(少なくとも変換先NC切削加工機20又は、変換先NC切削加工機20で使用される工具セットの剛性に関する情報)に基づいて、変換元用NCプログラム1424を変換先用NCプログラム1425(補正後NCプログラム)に変換し、変換された変換先用NCプログラム1425を記憶資源14に格納する。
(処理5)次いで、変換プログラム1411は、ダウンロード確認画面200(図4参照)を表示させる。なお、ダウンロード確認画面200は処理4完了後に自動的に表示させる代替として、現場計算機30の利用者の当該計算機への操作に応じて表示させてもよい。この後、ダウンロードボタン210が押下された場合に、変換プログラム1411は、変換先用NCプログラム1425を、変換先NC切削加工機20のNCコントローラ21又は変換先NC切削加工機20のある場所の現場用計算機30に送信する。
例えば、変換先用NCプログラム1425をNCコントローラ21に送信するようにする場合においては、NCコントローラ21が受信した変換先用NCプログラム1425を格納し、以降の加工処理において、この変換先用NCプログラム1425を実行可能となる。一方、変換先用NCプログラム1425を現場用計算機30に送信するようにする場合においては、現場用計算機30が変換先用NCプログラム1425を格納する。この後、現場用計算機30の変換先用NCプログラム1425を、ネットワーク40を経由して、又は記録媒体等を介してNCコントローラ21に格納させることにより、NCコントローラ21に変換先用NCプログラム1425を実行させることができるようになる。
<変換プログラムによる変換処理の具体例>
次に、変換用計算機10による処理動作の具体例について説明する。
図5は、一実施形態に係る変換処理のフローチャートである。
まず、変換プログラム1411は、処理対象の変換元用NCプログラム1424の全ブロックを記憶資源14のうちのメモリのワーク領域に対して読み出す(S11)。ここで、ブロックとは、変換元用NCプログラム1424により実行する加工処理において、NC切削加工機20に対して1回に指示することのできる命令(アドレス)を含む記述部分を示す。ブロックには、同時に指示することのできる1以上の命令(アドレス)が含まれる。アドレスとしては、例えば、命令の種類を示すコードと、命令の内容に関するパラメータとが含まれるものがある。なお、変換元用プログラム1424の容量が大きくて、メモリのワーク領域に全てのブロックを呼び出すことができなければ、処理の進行に応じて読み出すブロックを切り替えるようにすればよい。
次いで、変換プログラム1411は、読み出したブロックに基づいて、ブロックが示す命令に基づく処理(ブロック処理)中に工具がワークに接触しない1以上のパス(非接触部分工具パスという)を特定する(S12)。工具がワークに接触しないか否かは、加工対象のワークの形状と、ブロック中の工具の移動パスとに基づいて加工処理をシミュレートすることにより特定することができる。ここで、変換元用プログラム1424の全ての非接触部分工具パスを特定してもよいし、一部の非接触部分工具パスのみを特定してもよい。なお、ブロック中のコードが位置決め「G00」(JIS B 6314)である場合には、基本的には、工具がワークに接触していないことを意味しているので、このブロックのパスについては、それ以上の処理を行うことなく、このブロックのパス全体が非接触部分工具パスであると判定してもよい。
次に、変換プログラム1411は、ステップS12で特定した各非接触部分工具パスのそれぞれを対象に、ループ1の処理(S13〜S18)を行う。ループ1は、変数iの初期値は1であり、ループ1の処理を継続する条件は、変数iがS12で特定した非接触部分工具パスの数以下であることであり、変数iは、ループを1回行うごとに1が加算される。
ループ1の処理では、まず、変換プログラム1411は、処理対象の非接触部分工具パス[i](特定した非接触部分工具パスのうちのi番目のパス)を含むブロック(特定ブロックという)を特定する(S13)。
次いで、変換プログラム1411は、非接触部分工具パス[i]が特定ブロックのパスの一部分であるか否かを判定する(S14)。この結果、非接触部分工具パス[i]が特定ブロックのパスの一部分でない場合、すなわち、特定ブロックの全体のパスが非接触部分工具パス[i]であり、特定ブロックが非接触ブロックである場合(S14:N)には、変換プログラム1411は、ステップS15からS18の処理を実行しないで、この非接触部分工具パス[i]に対する処理を終了する。
一方、非接触部分工具パス[i]が特定ブロックのパスの一部分である場合(S14:Y)には、変換プログラム1411は、特定ブロックを、非接触部分工具パス[i]の少なくとも一部のみをパスとするブロック(分割後非接触ブロック)を含むブロックに分割する処理を実行する(例えば、ステップS15〜S17)。
例えば、特定ブロックのパスが、前から順に、工具とワークが接触するパス(接触パス)、非接触部分工具パス[i]、接触パスとなっている場合には、変換プログラム1411は、前の接触パスと、非接触部分工具パス[i]の前側部分とを含むパスに対応するブロック(分割済前ブロック)を生成し(S15)、非接触部分工具パス[i]の中間部分のみのパスに対応するブロック(分割済非接触ブロック:分割済中間ブロック)を生成し(S16)、非接触部分工具パス[i]の後側部分と後ろの接触パスと、を含むパスに対応するブロック(分割済後ブロック)を生成する(S17)。
また、特定ブロックのパスが、前から順に接触パスと、非接触部分工具パス[i]となっている場合には、変換プログラム1411は、接触パスと、非接触部分工具パス[i]の前側部分とを含むパスに対応するブロック(分割済前ブロック)と、非接触部分工具パス[i]の残りの部分のパスに対応するブロック(分割済非接触ブロック)を生成する。また、特定ブロックのパスが、前から順に、非接触部分工具パス[i]と、接触パスとなっている場合には、変換プログラム1411は、非接触部分工具パス[i]の前側部分のみの部分のパスに対応するブロック(分割済非接触ブロック)と、非接触部分工具パス[i]の後側部分(残りの部分)と後ろの接触パスとを含むパスに対応するブロック(分割済後ブロック)を生成する。なお、特定ブロックに複数の非接触部分工具パスがある場合には、ループ1の処理を繰り返すことにより、各非接触部分工具パスを対象に同様な処理が行われることとなる。
特定ブロックを分割する処理が行われた後(例えば、S15〜S17の実行後)には、変換プログラム1411は、メモリのワーク領域の特定ブロックを、分割処理で生成された複数のブロック(例えば、分割済前ブロック、分割済非接触ブロック、分割済後ブロック)と入れ替える(S18)。
その後、変数iがS12で特定した非接触部分工具パスの数を超えた場合、すなわち、特定した非接触部分工具パスの全てを対象にループ1の処理を実行した場合には、ループ1を抜けて、変換プログラム1411は、処理をステップS19に進める。
ステップS19では、変換プログラム1411は、処理中のNCプログラムの全体を、非接触ブロック(非接触ブロック又は分割済非接触ブロック)の前で区切って複数のブロック群(区切り後ブロック群)を特定する。
次いで、変換プログラム1411は、ステップS19で特定した各区切り後ブロック群のそれぞれを対象に、ループ2の処理(S20〜S23)を行う。ループ2は、変数iの初期値は1であり、ループ2の処理を継続する条件は、変数iがS19で特定した区切り後ブロック群の数以下であることであり、変数iは、ループを1回行うごとに1が加算される。
ループ2の処理では、まず、変換プログラム1411は、処理対象の区切り後ブロック群[i](特定した区切り後ブロック群のi番目のブロック群)での加工処理について、変換先NC切削加工機20の主軸剛性と工具剛性とに基づいて、使用する工具の工具径方向の工具経路補正量を決定する(S20)。ここで、工具径方向の工具経路補正量の決定方法としては、変換先NC切削加工機20の主軸剛性と工具剛性とに基づいて、このステップで算出するようにしてもよいし、変換先NC切削加工機20の主軸剛性と工具剛性とに基づいて、予め算出しておいた工具経路補正量を特定するようにしてもよい。また、区切り後ブロック群における切削時の工具のたわみ量が変化する場合には、工具経路補正量としては、最大のたわみ量に対応する工具経路補正量としてもよく、最小のたわみ量に対応する工具経路補正量としてもよく、平均のたわみ量に対応する工具経路補正量としてもよい。
次いで、変換プログラム1411は、決定した工具経路補正量の経路補正を変換先NC切削加工機20に実行させるアドレスを含むブロック(補正ブロック)を生成する(S21)。ここで、補正ブロックは、NC切削加工機20において実行されると、例えば、NC切削加工機20におけるメモリ上の工具形状パラメータとは別なパラメータであって、工具径補正用アドレス(例えば、G41,G42(JIS B 6314))に影響を及ぼすメモリ上のパラメータの値を変更するブロックとしてもよい。ここで、工具形状パラメータは、工具径補正用アドレスを用いる際に標準で参照されるパラメータであり、例えば、ユーザにより手動で設定される場合もある。この工具形状パラメータを変更させてしまうと、手動で設定された値が使用できなくなり、そのNC切削加工機20での他のNCプログラムの実行時に不具合が発生する可能がある。これに対して、上記したように、補正ブロックによって、この工具形状パラメータとは別なパラメータを変更することにより、このような不具合の発生を適切に防止することができる。また、このようにすると、補正ブロックでは、工具形状パラメータとは別のパラメータを指定する表記となるので、補正後のNCプログラムを使用するユーザが補正ブロックを容易に視認して把握することができ、補正ブロックによる工具経路補正量を容易に把握することができる。
次いで、変換プログラム1411は、生成した補正ブロックを区切りブロック群の先頭、すなわち、非接触ブロックの前に挿入する(S22)。なお、新たな補正ブロックを作成し、非接触ブロックの前に補正ブロックを挿入せずに、非接触ブロック中に、決定した工具経路補正量の経路補正を変換先NC切削加工機20に実行させるアドレスを含めることにより、補正用のブロックを作成するようにしてもよい。
次いで、変換プログラム1411は、補正ブロックの前に、補正ブロックが追加されたことを示すコメントのブロック(コメントブロック)を挿入する(S23)。
その後、変数iがS19で特定した区切りブロック群の数を超えた場合、すなわち、特定した区切りブロック群の全てを対象にループ2の処理を実行した場合には、ループ2を抜けて、変換プログラム1411は、処理をステップS24に進める。
ステップS24では、変換プログラム1411は、ワーク領域にある作成した全ブロックを変換後のNCプログラム(変換先用NCプログラム1425)として、記憶資源14のストレージに格納する。
次に、具体的なワークに対する加工処理を行う変換元用NCプログラムの変換処理について説明する。
図6は、一実施形態に係るワークの切削前の形状を示す図である。図6(A)は、上面図(XY平面図)を示し、図6(B)は、側面図(YZ平面図)を示し、図6(C)は、側面図(XZ平面図)を示す。
ワーク300は、切削前においては、一部に切り欠き302が形成され、上面視で略矩形形状となっている。ワーク300のY軸のマイナス方向(図6(A)の右方向)側に、Z軸方向に延びる円柱状の穴が形成された開口部301が形成されている。ワーク300の高さは、X軸のプラス方向に行くほど高くなっている。
図7は、一実施形態に係るワークの切削後の目標形状を示す図である。図7(A)は、上面図(XY平面図)を示し、図7(B)は、側面図(YZ平面図)を示し、図7(C)は、側面図(XZ平面図)を示す。
ワーク300の切削後の目標形状は、切削前のワーク300に対して、X軸のマイナス側の近傍と、Y軸のマイナス側の近傍とに連続する段差部303が形成されたものとなっている。
図8は、一実施形態に係るワークの切削処理中の形状を示す図である。図8は、図7に示す目標形状に到達する直前のワークの形状を示す。なお、図中の点線は、目標形状を示している。
図8に示すように、目標形状到達前のワーク300においては、最後に切削すべき最終切削部分304、305が残った状態となっている。
次に、ワーク300を図8に示す状態から最終切削部分304,305を切削する切削処理(最終切削処理)を実行するためのNCプログラムの記述について説明する。
図9は、一実施形態に係る補正前のNCプログラムの記述と、対応するワークの切削処理における工具のパスと、を説明する図である。図9(A)は、最終切削処理における工具パスを示し、図9(B)は、補正前のNCプログラムの最終切削処理に対応する部分の記述を示す。
補正前のNCプログラムは、図9(A)に示すA点からB点に工具を直線的に移動させて切削させるブロック501と、B点からC点に円弧状に工具を移動させて切削させるブロック502と、C点からD点に工具を直線的に移動させて切削させるブロック503とを含んでいる。
C点からD点に工具を移動させる際においては、工具がC点から移動を開始すると、切削部分の厚さ(高さ)が徐々に厚くなるので、工具に加えられる切削抵抗は徐々に上昇する。その後、開口部301に相当する部分においては、工具とワークが接触しないので、切削抵抗がなくなる。その後、工具が開口部301に相当する部分を通過すると、ワークと再び接触し、切削部分の厚さがさらに厚くなるので、切削抵抗が更に上昇していく。
この補正前のNCプログラムによると、C点からD点に工具を直線的に移動させて切削させるブロック503においては、常に同じ工具幅補正量となっているので、切削抵抗が異なるC点に近い側と、D点に近い側とで、切削量が異なってしまい、目標とする形状からずれ、切削精度が低下してしまう。
次に、ワーク300を図8に示す状態から最終切削部分304,305を切削する切削処理(最終切削処理)を実行するための補正前のNCプログラムを変換する変換処理及び補正後のNCプログラムについて説明する。
図10は、一実施形態に係る補正後のNCプログラムの記述と、対応するワークの切削処理における工具のパスと、を説明する図である。図10(A)は、最終切削処理における工具パスを示し、図10(B)は、補正後のNCプログラムの最終切削処理に対応する部分の記述を示す。なお、図10(B)においては、補正前のNCプログラムからの追加・変更箇所については、ボールド&イタリックで示している。なお、以下の説明では、図5及び図9の内容を適宜参照して説明する。
図5に示す変換処理のステップS12では、非接触部分工具パスとして、A点からワーク300に接触するまでの間と、開口部301に相当する部分とが検出される。
ループ1の処理では、A点からワーク300に接触するまでの間の非接触部分工具パスについては、ブロック501が特定ブロックとして特定され、非接触部分工具パスの前部のパス(A点からE点)に対応するブロック603と、非接触部分工具パスの後部のパスと、工具がワークと接触するパスとを含むパス(E点からB点)に対応するブロック604とが生成され、ブロック501と入れ替えられる。なお、ブロックには、始点の情報が含まれていないので、記述としては、ブロック604は、ブロック501と同じものとなっている。
また、ループ1の処理では、開口部301に相当する部分の非接触部分工具パスについては、ブロック503が特定ブロックとして特定され、工具がワークと接触するパスと、非接触部分工具パスの前部のパス(C点からF点)に対応するブロック606と、非接触部分工具パスの中間のみのパス(F点からG点)に対応するブロック609と、非接触部分工具パスの後部のパスと、工具がワークと接触するパスとを含むパス(G点からD点)に対応するブロック610とが生成され、ブロック503と入れ替えられる。
その後、ステップS19では、非接触ブロックであるブロック603と、ブロック609との前で区切られたブロック群(区切り後ブロック群)が特定される。すなわち、ブロック603〜ブロック606と、ブロック609及びブロック610とが区切り後ブロック群として特定される。
ループ2においては、ブロック603〜ブロック606の区切り後ブロック群については、B点までの加工処理に対応する工具経路補正量(図中の計算値1)が決定され、この工具経路補正量の補正を行うブロック602(補正ブロック)がブロック603の前に挿入され、そのブロック602の前に補正ブロックが挿入されたことを示すコメントのブロック601(コメントブロック)が挿入される。この構成により、工具がワークと接触しないブロック603の前に補正を行うブロック602を実行することとなるので、切削途中に工具経路が補正されることを防止でき、切削途中での補正に起因するワークへの段差等の発生を適切に防止できる。
また、ループ2においては、ブロック609及びブロック610の区切り後ブロック群については、G点からD点までの加工処理に対応する工具経路補正量(図中の計算値2)が決定され、この工具経路補正量の補正を行うブロック608(補正ブロック)がブロック609の前に挿入され、そのブロック608の前に補正ブロックが挿入されたことを示すコメントのブロック607(コメントブロック)が挿入される。この構成により、工具がワークと接触しないブロック609の前に補正を行うブロック608を実行することとなるので、切削途中に工具経路が補正されることを防止でき、切削途中での補正に起因するワークへの段差等の発生を適切に防止できる。また、この処理によると、補正前のNCプログラムでは、1つのブロックとされていた切削処理における一部の切削処理に対して、適切に工具経路を補正することができるNCプログラムを作成できるので、切削処理において、より詳細に経路補正を行うことができ、ワークの切削精度が向上する。
このようにして作成されたブロック601〜610が、補正前のNCプログラムのブロック501〜503に対応する変更後のNCプログラムの部分となる。
変更後のNCプログラムによると、A点〜E点の間でE点〜B点までの切削処理に適した工具径補正量の補正が行われ、E点〜B点までの間の切削処理を適切な精度で実行することができ、また、F点〜G点の間でG点〜D点までの切削処理に適した工具径補正量の補正が行われ、G点〜D点までの間の切削処理を適切な精度で実行することができる。これにより、ワークに対する切削精度を向上することができる。
<作用・効果>
上記した処理によると、変換元NC切削加工機20向けにチューニングされた変換元用NCプログラムを、変換先NC切削加工機20の少なくとも剛性に関する情報を考慮して変換先用NCプログラムに変換するようにしているので、変換先NC切削加工機20における加工処理における加工精度を向上することができる。また、上記した処理によると、切削処理に適切な工具経路補正量の補正を行うことができる。また、切削途中に補正がされることを防止できるので、ワークに切削途中での補正による段差等の発生を適切に防止できる。また、補正前のNCプログラムのブロックを利用して、1つのブロックを分割したり、補正ブロックを追加したりするので、補正前のNCプログラムの記述を有効に利用しつつ、工具経路補正量を補正することのできるので、補正前のNCプログラムを読んでいたユーザが補正後のNCプログラムを容易に理解することができる。また、補正後のNCプログラムに、変換された部分を示すコメントが追加されているので、補正後のNCプログラムに対するユーザの理解をより容易にすることができる。
<バリエーション>
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。また、下記で説明した処理は組み合わせて用いてもよい。
<<変換先環境のフィルタリング処理>>
構成情報取得プログラム1412によるフィルタリング処理においては、以下の処理を行ってもよい。
*変換先NC切削加工機の候補(変換先加工機指定領域110の設定候補又は選択候補)
例えば、変換先NC切削加工機として設定される又はこの選択候補として絞り込まれる候補NC切削加工機としては、変換元NC切削加工機20のすべての機能を包含している他のNC切削加工機20としてもよい。具体的には、例えば、変換元NC切削加工機20が、フライス盤やボール盤である場合に、候補NC切削加工機を、マシニングセンタとしてもよい。また、変換元NC切削加工機が、3軸のマシニングセンタである場合に、候補NC切削加工機を、5軸のマシニングセンタとしてもよい。
また、変換先NC切削加工機として設定される又はこの選択候補として絞り込まれる候補NC切削加工機としては、変換元用NCプログラム1424で記述されている全ての処理工程を実行可能なNC切削加工機としてもよい。例えば、変換元NC切削加工機が、5軸のマシニングセンタであっても、変換元CNプログラム1424で記述されている全ての処理工程が3軸のマシニングセンタで実行可能である場合には、候補NC切削加工機を3軸のマシニングセンタとしてもよい。
また、変換元用NCプログラム1424で使用する工具数よりも少ない工具数しか装填できないNC切削加工機20を、候補NC切削加工機から除外するようにしてもよい。
*工具セットの候補(変換先工具セット指定領域112の設定候補又は選択候補)
NCプログラムの変換処理を簡易化する場合には、変換先工具セットの候補としては、変換元工具セットの工具数と同じ工具数の工具セットとしてもよい。なお、加工精度の面からも候補としては、変換元工具セットと同じ工具数とすることが好ましい場合がある。例えば、変換元において、3本の工具によって荒加工工程、中加工工程、仕上げ工程といった工程数及び順序で変換を行っている場合に、2本の工具で荒加工工程、仕上げ工程といった工程数及び順序を行っても、変換元と同様な加工精度を出すことは困難であるためである。なお、各工具TLについてこのような用途を記憶し、変換元工具セットに含まれる工具TLのすべての用途を含む工具セットを候補としてもよい。
また、変換先工具セットの候補としては、変換元工具セットの各工具と同じ種類の工具が含まれる工具セットとしてもよい。ここで、同じ種類とは、用途が同じものとしてもよい。
また、変換先工具セットの候補から、予め必要な情報が取得されていない工具を含む工具セットを除外するようにしてもよい。
<<工具TLの用途情報に基づいたスロット番号変換処理>>
変換プログラム1411による変換処理を簡易化する1手法として、図3の画面を利用する作業者は変換先環境の工具セットに含まれる工具TLについて、変換前環境の工具TLと同じ用途の変換先環境の工具とは同じスロット番号を入力する、という作業者の入力ルールを設定してもよい。このようなルールは作業者のミスにより守られない可能性がある。その対策として、構成情報取得プログラム1412は、工具セットに含まれる工具TL各々について用途(例えば、荒加工工程用、中加工工程用、仕上げ工程用)の入力を受け付け、個別工具情報1423に格納し、この情報を利用して解決してもよい。具体的には、当該プログラムは、選択された変換元環境の工具セットに含まれる工具TLの用途とスロット番号との対応(対応1と呼ぶ)と、選択された変換先環境の工具セットに含まれる工具TLの用途(変換先工具用途)を読み出し、変換先工具用途と同じ用途を持つ対応1を検索し、当該対応1のスロット番号を変換先工具セットのスロット番号とする。
<<仮スロット番号変換処理の導入>>
上述の実施例では、変換先環境に於いて、どのスロット番号にどの工具TLが可能されるかを決定した後に変換プログラム1411による変換処理を行う。しかし、変換先環境での加工効率を踏まえた場合は、変換処理後に動的に各工具を格納するスロットを決めたい場合がある。例えば、変換処理は長時間(例えば1日)程度要する場合があるため、ただちに変換開始したいが、変換先環境での他の加工作業も動的に変換するために変換開始時にはスロット番号と工具TLとの関係をきめられない場合である。
その対策として、図3の画面で入力または選択した各工具のスロット番号は仮のスロット番号とみなして変換プログラム1411による変換処理を行い、その後仮スロット番号を実際のスロット番号に変換する処理(仮スロット番号変換処理と呼ぶ)を行ってもよい。なお、以後の説明では、仮スロット変換処理を行うプログラムを仮スロット変換プログラムと呼ぶことがある。なお、仮スロット番号変換処理は、図4のダウンロード画面でダウンロードボタン210を押してダウンロードを開始する直前に行ってもよく、或いはダウンロード後に現場用計算機30にて別プログラムにて実行してもよい。なお、仮スロット番号変換処理を実行するにあたって必要となる情報である、仮スロット番号と実際のスロット番号への変換情報(スロット番号変換情報)は、仮スロット番号変換処理の実行前であって、変換プログラム1411による変換処理実行後に、変換用計算機10又は現場用計算機30に作業者の入力により格納される。なお、仮スロット番号は数字であることが好ましいが、他の識別子であってもよい。仮スロット番号変換処理の導入は、変換プログラム1411による高負荷又は長時間の処理の実行タイミングを、各スロットにどの工具TLを格納するか決定する以前も対象とすることができるため、結果として変換用計算機10の計算機資源の有効利用をすることが可能となるともいえる。
なお、変換先環境として選択した工具セット内の工具TLに付与する仮スロット番号は、変換プログラム1411による変換処理開始前に、下記のように定めてもよい。いずれの場合についても、定めた工具TLと仮スロット番号との関係は、個別工具情報に格納し、スロット番号変換処理時に参照する。
*選択した工具セット内における工具TLの並び順。並び順は、表示順序、データ格納順序、工程に基づいた順序が考えられるがほかでもよい。
*前述の「工具TLの用途情報に基づいたスロット番号変換処理」によって付与する。
なお、スロット番号変換情報の入力は、単に仮スロット番号と実際のスロット番号との関係を計算機に入力すればよいのだが、仮スロット番号がどの工具TLを対象としているのかわからない状況では入力が難しい。よって、変換情報入力画面では、仮スロット番号が割り当てられていた工具TLの情報を当該変換情報入力画面で合わせて表示してもよい。
<<現場用計算機の他の利用形態1>>
また、上記実施形態では、変換用入力画面100と、ダウンロード確認画面200とを変換用計算機10のユーザインターフェース13に表示させて、入力を受け付ける例を説明していたが、本発明はこれに限られず、変換用入力画面100と、ダウンロード確認画面200とを、いずれかの現場用計算機30に表示させて、入力を受け付けるようにしてもよく、例えば、変換先のNC切削加工機20がある場所の現場用計算機30に表示させて入力を受け付けるようにしてもよい。また、変換用入力画面100の一部を、変換元のNC切削加工機20がある場所の現場用計算機30に表示させて入力を受け付けるようにし、変換用入力画面100の残りの部分を、変換先のNC切削加工機20がある場所の現場用計算機30に表示させて入力を受け付けるようにしてもよい。
<<変換プログラムによる他の変換処理1>>
変換元用NCプログラム1424を変換先用NCプログラム1425に変換する処理として、下記を行ってもよい。
*(ステップA1)変換先環境の情報と、ワークW情報とを用いた、加工中の物理現象のシミュレーションを行い、ワークWがどのような形状に加工されるか予測する。なお、シミュレーションの際に変換元環境の情報を用いてもよい。なお当該シミュレーションは変換プログラム1411とは他のプログラムで行ってもよい。
*(ステップA2)ワークWの予測形状とワークWの目標形状との比較に基づいた誤差の算出。
*(ステップA3)当該誤差を解消する記述(前述の工具径補正、工具長補正、工具摩耗補正、送り速度、切削速度等)を変換元用NCプログラム1424に追加または変更し、変換先用NCプログラム1425として格納する。
<<変換プログラムによる他の変換処理2>>
変換元用NCプログラム1424を変換先用NCプログラム1425に変換する処理として、下記を行ってもよい。なお、下記ステップは上記ステップA1乃至A3と組み合わせてもよい。
*(ステップB1)変換先環境の情報と、ワークW情報と、変換元環境の情報と、ワークWの目標形状と、を人工知能プログラムに入力し、誤差を取得する。なお、人工知能プログラムの教育データとして変換元環境における変換元NCプログラムを用いたかワークWの加工後の加工形状と、目標形状と、を変換元環境の情報と共に事前入力してもよい。また、別な教育データとして、変換先環境の変換先用NCプログラム以外のNCプログラムによるワークWの加工後の加工形状と、目標形状と、を変換先環境の情報と共に事前入力してもよい。なお人工知能プログラムは変換プログラム1411とは他のプログラムで行ってもよい。
*(ステップB2)当該誤差を解消する記述(前述の工具径補正、工具長補正、工具摩耗補正、送り速度、切削速度等)を変換元用NCプログラム1424に追加または変更し、変換先用NCプログラム1425として格納する。
<<作業者の作業範囲に応じた画面の切り分け>>
図1のように場所Aと場所Bが比較的遠い場合は、図1の通り、場所毎に別な作業者が配置されていることが考えられる。このような場合は、各作業者は、各々が配置された場所に含まれる変換元環境または変換先環境による加工や、図2乃至図4で説明した変換先環境の情報及び変換元環境の情報の計測と変換用計算機への入力を担当することが考えられる。そのような場合に好適な画面として図3及び図4を下記の通り、分割してもよい。なお、以下の説明では画面を主語とした説明を一部しているが、実際には各現場用計算機で実行されるプログラムをCPUで実行することで達成される。
<<<変換元環境の作業用計算機>>>
変換元環境の作業用計算機30では、図3の領域100A(少なくともNCプログラム名101)及び100Bを表示することが考えられる。なぜならば、これら領域で入力すべき情報は相対的に変換元環境で得られる情報のため、変換元環境の作業者に入力を行ってもらうことが効率的だからである。だたし、図3の領域100A及び100Bに含まれるすべての入力領域を表示する必要はない。変換前環境の作業用計算機で入力した情報を、所定の識別子(以後、ライブラリ名と呼ぶことがある)を付与して変換用計算機10に格納する。なお、これら入力は変換前環境に於いて意図した誤差で加工ができた情報としても有用である。
<<<変換先環境の作業用計算機>>>
変換先環境の作業用計算機では、図3の領域100Cを表示することが考えられる。なぜならば、これら領域で入力すべき情報は相対的に変換先環境で得られる情報のため、変換先環境の作業者に入力を行ってもらうことが効率的だからである。変換元環境の作業用計算機30で入力した内容を呼び出すために、変換先環境の作業用計算機の画面では前述のライブラリ名を指定する領域を含む。このようにすることで、変換元環境での入力を適切に特定し、変換プログラム1411による変換処理に必要な情報を特定することができる。ただし、ライブラリ名だけでは変換元環境の情報が不明であり、適切な変換先環境の入力が難しい。よって、変換先環境の作業用計算機の画面では、ライブラリ名を指定した後に、ライブラリ名に対応した入力情報を表示してもよい。
以上、変換元環境と変換先環境の現場計算機での表示分けの一例を説明した。本例によれば、変換元環境の作業者は1回の入力作業にも関わらず、複数の変換先環境にて実行可能な変換先用NCプログラム1425を作成できる。加えて、変換元環境が経年変化した場合も、経年変換前のライブラリ名を指定し、変換先環境として経年変化後の環境を入力してもよい。
<<<その他>>>
また、上記実施形態において、CPU11が行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は不揮発性の記憶メディア(例えば可搬型の記憶メディア)であってもよい。
上記実施形態では、工具がワークに接触しない非接触部分工具パスを検出し、非接触部分工具パスに対応するブロックを基準にNCプログラムを複数のブロック群に分けて、そのブロック群の切削が実行されるブロックよりも前に工具経路補正を行うブロックを生成するようにしていたが、例えば、工具に加えられる切削抵抗の変曲点を基準にNCプログラムを複数のブロック群に分けて、切削抵抗の変曲点となる部分の前に、工具経路補正を行うブロックを生成するようにしてもよい。
また、上記実施形態では、補正ブロックが追加されたことを示すコメントを追加するようにしていたが、例えば、ブロックを分割した際には、ブロックの分割元の記述との違いをコメントとして追加するようにしてもよく、また、一部が変更されている場合には、変更前との対応関係を示すコメントを追加するようにしてもよい。
変換前NCプログラムは、CAMプログラムで目標形状データから生成した直後であって、かつ加工機で切削する前のNCプログラムであってもよい。なお、この場合の工具セットは、CAMプログラムでNCプログラムを生成したときの工具データを入力してもよい。また、工具経路補正量の決定は、上述の主軸剛性又は工具の剛性以外に、ワークWの剛性や、ワークWの切削中の熱膨張量(逆な言い方をすれば切削後の熱収縮量)に基づいて行ってもよい。
上記説明では主に加工機としてマシニングセンタを例として説明したが、NC制御可能であれば他の加工機であってもよい。
上記説明では、現場用計算機と変換用計算機とのデータ送受信を一部省略して説明したが、当然ながら、現場用計算機と変換用計算機との間ではデータ送受信が行われている。例えば、変換プログラム1411が変換用計算機で実行され、そして、現場用計算機でユーザインターフェース表示や当該操作による情報表示又は情報入力を行う場合は、現場用計算機に構成情報取得プログラムが担当する処理の一部を担うプログラムが、現場用計算機で実行される。そして、当該一部を担うプログラムが、入力された情報を変換用計算機に送信したり、又は変換用計算機から送信された表示用情報を当該一部を担うプログラムが受信し、ユーザインターフェース表示を行う。