(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来のNCプログラムの編集方法には以下のような問題点がある。ワークの加工ではNCプログラムの各ブロックに対応する非常に多くの加工制御が行われることで一つの加工形状が形成される。そのため、NCプログラムを編集する際には対象となるNCプログラムにより実行される加工手順を理解した上で関連するブロックをすべて特定する必要があるので、編集するブロックの特定に時間を要し、また、非常に多くのブロックを編集する必要があった。
【0008】
また、CAD/CAMや自動プログラミング装置を用いて編集を支援する技術を導入すると、個々のブロックを直接編集する必要がないのでオペレータのプログラム編集にかける労力は軽減するものの、当該技術を導入するためには数値制御装置以外にCAD/CAMや自動プログラミング装置という大掛かりな装置を用意する必要があり、コスト面での問題があった。
【0009】
そこで、本発明の目的は、既存のNCプログラムから切削条件と加工領域形状を抽出し、ブロック数が少なく、数値制御装置上で入力ガイダンスなどを使用して容易に編集できる加工サイクル指令を生成する数値制御装置およびプログラム編集方法を提供することである。
【課題を解決するための手段】
【0010】
本願請求項1に係る発明は、NCプログラムを使用して加工制御を行う数値制御装置において、NCプログラムにおいてあらかじめ指定された工具番号から次の工具番号までの加工指令の範囲を一加工工程と認識する手段と、
切削条件と最終的に作成される加工領域の形である加工領域形状とを定義し、当該切削条件と
当該加工領域形状とから複数指令を生成して可動軸を制御する加工サイクル指令を
、前記一加工工程から生成する加工サイクル生成手段と、NCプログラム上の前記一加工工程を前記加工サイクル指令に置き換えたNCプログラムを生成する手段と、を有することを特徴とする数値制御装置である。
【0011】
本願請求項2に係る発明は、前記加工サイクル生成手段は、工具番号ごとに加工種類と工具形状データが定義されている工具データリストを備え、前記工具データリストと前記あらかじめ指定された工具番号とに基づいて対応する加工種類と工具形状データを特定し、特定された前記加工種類と前記工具形状データおよび前記一加工工程から加工サイクル指令を生成する、請求項1記載の数値制御装置である。
【0012】
本願請求項3に係る発明は、前記加工サイクル生成手段は、加工種類と必要な切削条件を関連付ける切削条件テーブルを更に備え、特定された前記加工種類と前記工具形状データおよび前記一加工工程に加えて、前記切削条件テーブルと前記加工種類から前記加工種類に対応する切削条件を特定し、特定された前記切削条件をも使用して加工サイクル指令を生成する、請求項2記載の数値制御装置である。
【0013】
本願請求項4に係る発明は、前記加工サイクル生成手段は、特定された前記加工種類と前記工具形状データ、前記一加工工程および特定された前記切削条件に加えて
、前記一加工工程から切削送り指令を抽出し、前記抽出した切削送り指令を直線または円弧の図形である形状要素データに変換して加工領域形状を生成することによって加工サイクル指令を生成する、請求項3記載の数値制御装置である。
【0014】
本願請求項5に係る発明は、前記加工領域形状は前記形状要素データから刃先Rや工具径の値だけオフセットした形状として生成する加工領域形状である、請求項1記載の数値制御装置である。
【0015】
本願請求項6に係る発明は、
NCプログラムの一部を、切削条件と最終的に作成される加工領域の形である加工領域形状とを定義し、当該切削条件と
当該加工領域形状とから複数指令を生成して可動軸を制御する加工サイクル指令に置き換えたNCプログラムを生成するプログラム編集方法であって、NCプログラムにおいてあらかじめ指定された工具番号から次の工具番号までの加工指令の範囲を一加工工程と認識するステップと、前記一加工工程から加工サイクル指令を生成する加工サイクル生成ステップと、NCプログラム上の前記一加工工程を前記加工サイクル指令に置き換えたNCプログラムを生成するステップと、を有することを特徴とするプログラム編集方法である。
【0016】
本願請求項7に係る発明は、工具番号ごとに加工種類と工具形状データが定義されている工具データリストをあらかじめ記憶しておき、前記加工サイクル生成ステップは、前記工具データリストと前記あらかじめ指定された工具番号とに基づいて対応する加工種類と工具形状データを特定し、特定された前記加工種類と前記工具形状データおよび前記一加工工程から加工サイクル指令を生成する、請求項6記載のプログラム編集方法である。
【0017】
本願請求項8に係る発明は、加工種類と必要な切削条件を関連付ける切削条件テーブルをあらかじめ記憶しておき、前記加工サイクル生成ステップは、特定された前記加工種類と前記工具形状データおよび前記一加工工程に加えて、前記切削条件テーブルと前記加工種類から対応する切削条件を特定し、特定された前記切削条件をも使用して加工サイクル指令を生成する、請求項7記載のプログラム編集方法である。
【0018】
本願請求項9に係る発明は、前記加工サイクル生成ステップは、特定された前記加工種類と前記工具形状データ、前記一加工工程および特定された前記切削条件に加えて
、前記一加工工程から切削送り指令を抽出し、前記抽出した切削送り指令を直線または円弧の図形である形状要素データに変換して加工領域形状を生成することによって加工サイクル指令を生成する、請求項8記載のプログラム編集方法である。
【0019】
本願請求項10に係る発明は、前記加工領域形状は前記形状要素データから刃先Rや工具径の値だけオフセットした形状として生成する加工領域形状である、請求項6記載のプログラム編集方法である。
【発明の効果】
【0020】
本発明により、既存のNCプログラムから、ブロック数が少なく、数値制御装置上で入力ガイダンスなどを使用して容易に編集できる加工サイクル指令を生成することができるので、CAD/CAMや自動プログラミング装置を使用せずに、NCプログラムを容易に編集することができる。
【発明を実施するための形態】
【0022】
以下、本発明に係る数値制御装置、プログラム編集方法の実施の形態の一例を適宜図面に基づいて説明する。
【0023】
図1は、本発明に係る数値制御装置100のブロック図である。数値制御装置100は、ISOコードで作成されているNCプログラム10から一加工工程を認識する一加工工程認識部20、一加工工程認識部20によって認識された一加工工程のISOコードから加工サイクルを生成する加工サイクル生成部30、生成した一加工サイクルにより一加工工程のISOコードを置き換えたNCプログラム50を生成するNCプログラム生成部40を備えている。
【0024】
図2は、数値制御装置100が備える加工サイクル生成部30のブロック図である。加工サイクル生成部30は、認識された一加工工程のNCプログラム31から切削条件を抽出する切削条件生成部32、認識された一加工工程のNCプログラム31から加工領域形状を生成する加工領域形状生成部33、図示しないメモリ乃至記憶装置にあらかじめ記憶された工具データリスト34と切削条件テーブル35とを備えている。
【0025】
図3は工具データリスト34の一例を示したものである。工具データリスト34は、工具番号に対して工具種類、加工種類、工具形状データを対応付けて記憶したリストである。例えば、工具番号1には、工具種類は汎用工具、加工種類は旋削荒加工、工具形状データとして、刃先R0.8、仮想刃先方向3、が対応付けて記憶されている。
【0026】
図4は切削条件テーブル35の一例を示したものである。切削条件テーブル35は、加工種類に対して切削条件を対応付けて記憶したテーブルである。例えば、加工種類である旋削荒加工には、切削条件として送り速度、周速、切込量が設定されている。
【0027】
以下では、本発明に係る数値制御装置上でNCプログラムから加工サイクル指令を生成する動作手順を説明する。本実施形態では
図5の図面に合わせてワークを加工するNCプログラムを編集する場合を例に説明する。
図6は、
図5の図面に合わせてワークを加工するNCプログラムを示したものである。
【0028】
一加工工程認識部20は、入力されたNCプログラム10から一加工工程を認識する。一加工工程認識部20は、NCプログラム10のブロックを先頭から順に読み込み、加工サイクルに変換する対象となる指令範囲で使用している工具番号を特定する。
図6のNCプログラム中では、ブロックN0002のT指令「T101」により工具番号1を指定している。一加工工程認識部20は、N0002以降のブロックで次にT指令が現れるブロックを特定する。
図6のプログラム中では、ブロック0048のT指令「T202」で工具番号2を指定しており、ここで工具が変更されることがわかる。一加工工程認識部20は、ブロック0048のT指令のひとつ前のブロックN0047までを工具番号1に対応する加工を行う一加工工程として認識する。
【0029】
次に、加工サイクル生成部30は、一加工工程認識部20によって認識された一加工工程のNCプログラム31を入力として加工サイクルを生成する。加工サイクル生成部30は一加工工程のNCプログラム31内において指定されている工具番号を用いて、
図3に示す工具データリスト34から指定された工具番号に対応する加工種類を特定する。
図6のプログラムから認識された一加工工程では工具番号1が指定されているので、工具データリスト34を参照し加工種類を旋削荒加工と特定することができる。
【0030】
加工種類が特定されると、加工サイクル生成部30は特定された加工種類を用いて、
図4に示す切削条件テーブル35から旋削荒加工の切削条件を特定する。
図6のNCプログラムから認識された一加工工程では加工種類が旋削荒加工と特定されているので、切削条件テーブル35を参照し切削条件を送り速度、周速、切込量と特定することができる。そして、切削条件生成部32は、特定した切削条件を用いて一加工工程から切削条件を抽出する。例えば、
図6のNCプログラムにおける送り速度としては、N0010のF0.8を抽出する。
【0031】
次に、加工領域形状生成部33は、一加工工程認識部20により認識された一加工工程のNCプログラム31から加工領域形状を生成する。加工領域形状生成処理の基本フローチャートを
図7に示す。
【0032】
加工領域形状生成部33は、一加工工程認識部20により認識された一加工工程のNCプログラム31から切削送り指令をすべて抽出する(S701)。次に、抽出した切削送り指令を形状要素データに変換する(S702)。そして、変換した形状要素データを形状要素データ群へと変換し(S703)、最後に形状要素データ群から加工領域形状を生成する(S704)。
【0033】
図6のNCプログラムから認識された一加工工程に対して形状要素データ群の抽出処理(S701〜S703)を適用した例を
図8に示す。まず加工領域形状生成部33は、一加工工程のプログラムを構成するブロック群の中から切削送り指令(G01,G02など)を抽出し、抽出した切削送り指令から各切削送り指令の開始点を求める(S801,S802)。そして、これら開始点の情報と切削送り指令の種類およびパラメータを形状要素データに変換する(S803)。例えば、切削指令が「G01X40.Z−0762」、開始点が「X40.,Z1.」である場合、G01は直線補間であるから、当該指令から変換される形状要素データは「直線、始点X40.Z1.、終点X40.Z−0.762」となる。そして各切削送り指令に対して同様の変換を行うことで、形状要素データ群が生成される。
【0034】
次に、
図6のNCプログラムから抽出された形状要素データ群に基づいて加工領域形状を生成する処理(S704)を
図9に示す。
図9は、加工種類が旋削荒加工である場合の加工領域形状の生成処理手順を示している。
【0035】
旋削荒加工における加工領域形状の生成処理では、まず加工領域形状生成部33は、一加工工程認識部20が認識した一加工工程から形状要素データ群を抽出する(S901、S902)。
【0036】
形状要素データ群が生成されると、加工領域形状生成部33は、生成された形状要素データ群の中から切削方向、切込方向と逆方向の形状要素データを特定し、これを削除する(S903)。
【0037】
次に、加工領域形状生成部33は、削除された後に残った形状要素データ全てを包含する矩形データを求める(S904)。本実施形態ではS904に示すように、(a)と(b)とを結ぶ直線を対角線とする矩形ですべての形状要素データを囲むことができる。
【0038】
次に、加工領域形状生成部33は、(a)点から(b)点までの連続する形状要素データを抽出し、抽出された形状要素データを部品形状へと変換する(S905)。
【0039】
次に、S904で求めた矩形を素材形状とし、素材形状とS905で変換した部品形状とを合成する(S906)。
【0040】
次に、仕上げ代、刃先R分をオフセットして加工サイクルの加工領域形状を作成する(S907)。
【0041】
最後に、切削条件生成部32が抽出した切削条件と、加工領域形状生成部33が生成した加工領域形状とに基づいてNCプログラム上で編集可能な加工サイクル指令を生成する。生成された加工サイクル指令の例を
図10に示す。この例では、「G1120」が切削条件を意味し、「G1450」から続く各指令が加工領域形状(それぞれのブロックがS907の一連の形状要素に対応している)を意味している。
【0042】
このような処理手順により生成された加工サイクル指令は、加工領域形状を直接的に意味する指令で表現されるため、通常のNCプログラムと比較してオペレータが形状を想定しながら容易に編集することができる。
【0043】
以上の実施形態では、加工種類が旋削荒加工の場合における加工領域形状の生成処理について示したが、本願発明における加工領域形状の生成は旋削荒加工の場合にとどまるものではない。以下に、他の加工種類における加工領域形状の生成処理を例示する。
【0044】
(旋削仕上げ加工の場合の加工領域形状生成処理の流れ)
一加工工程認識部20によって認識された一加工工程から特定された加工種類が旋削仕上げ加工である場合における加工領域形状生成の流れを
図11に示す。
【0045】
旋削仕上げ加工における加工領域形状の生成処理では、まず加工領域形状生成部33は、一加工工程認識部20が認識した一加工工程から形状要素データ群を抽出する(S1101、S1102)。
形状要素データ群が生成されると、抽出された形状要素データ全てを包含する矩形データを求める(S1103)。
次に、加工領域形状生成部33は、形状要素データを部品形状へと変換し、S1103で求めた矩形を素材形状として部品形状と合成する(S1104)。
最後に、刃先R分をオフセットして加工サイクルの加工領域形状を作成する(S1105)。
【0046】
(旋削溝荒加工の場合の加工領域形状生成処理の流れ)
一加工工程認識部20によって認識された一加工工程から特定された加工種類が旋削溝荒加工である場合における加工領域形状生成の流れを
図12に示す。
【0047】
旋削溝荒加工における加工領域形状の生成処理では、まず加工領域形状生成部33は、一加工工程認識部20が認識した一加工工程から形状要素データ群を抽出する(S1201、S1202)。
形状要素データ群が抽出されると、加工領域形状生成部33は、抽出した形状要素データ群を刃先基準方向で並び替え、形状要素データ間が溝幅以上に空いている部分を境目としてそれぞれを別の加工領域として抽出する(S1203)。
次に、加工領域形状生成部33は、加工領域の1ケ分の形状要素データ群を抽出し、抽出された形状要素データ全てを包含する矩形データを求める(S1204)。
次に、加工領域形状生成部33は、(a)点から(f)点までの連続する形状要素データを抽出し、抽出された形状要素データを要素部品形状へと変換する(S1205)。
次に、S1204で求めた矩形を素材形状とし、素材形状とS1205で変換した要素部品形状とを合成する(S1206)。
次に、溝幅の分だけ領域を拡張する(S1207)。
次に、仕上げ代、刃先R分をオフセットして加工サイクルの加工領域形状を作成する(S1208)。
そして、すべての加工領域を加工領域形状に変換するまでS1204〜S1208を繰り返す。
【0048】
(旋削溝仕上げ加工の場合の加工領域形状生成処理の流れ)
一加工工程認識部20によって認識された一加工工程から特定された加工種類が旋削溝仕上げ加工である場合における加工領域形状生成の流れを
図13に示す。
【0049】
旋削溝仕上げ加工における加工領域形状の生成処理では、まず加工領域形状生成部33は、一加工工程認識部20が認識した一加工工程から形状要素データ群を抽出する(S1301、S1302)。
形状要素データ群が抽出されると、加工領域形状生成部33は、生成された形状要素データ群の中から切込逆方向の形状要素データを特定し、これを削除する(S1303)。
次に、加工領域形状生成部33は、加工領域の1ケ分の形状要素データ群を抽出し、抽出された形状要素データ全てを包含する矩形データを求める(S1304)。
次に、加工領域形状生成部33は、(a)点から(f)点までの連続する形状要素データを要素部品形状へと変換する(S1305)。
次に、S1304で求めた矩形を素材形状とし、素材形状とS1305で変換した要素部品形状とを合成する(S1306)。
次に、溝幅の分だけ領域を拡張する(S1307)。
次に、仕上げ代、刃先R分をオフセットして加工サイクルの加工領域形状を作成する(S1308)。
そして、すべての加工領域を加工領域形状に変換するまでS1304〜S1308を繰り返す。
【0050】
(穴あけ加工の場合の加工領域形状生成処理の流れ)
一加工工程認識部20によって認識された一加工工程から特定された加工種類が穴あけ加工である場合における加工領域形状生成の流れを
図14に示す。
【0051】
穴あけ加工における加工領域形状の生成処理では、まず加工領域形状生成部33は、一加工工程認識部20が認識した一加工工程から形状要素データ群を抽出する(S1401、S1402)。
形状要素データ群が抽出されると、加工領域形状生成部33は、生成された形状要素データ群の中から切込方向と逆方向の形状要素データを特定し、これを削除する(S1403)。
次に、加工領域形状生成部33は、形状要素データを直線1形状にまとめる(S1404)。
最後に、加工領域形状生成部33は、加工サイクルの加工領域形状である始点、終点、穴深さを決定する(S1405)。
【0052】
(平面加工の場合の加工領域形状生成処理の流れ)
一加工工程認識部20によって認識された一加工工程から特定された加工種類が平面加工である場合における加工領域形状生成の流れを
図15に示す。
【0053】
平面加工における加工領域形状の生成処理では、まず加工領域形状生成部33は、一加工工程認識部20が認識した一加工工程から工具軸方向に一番低い高さの形状要素データ群を抽出する(S1501、S1502)。
形状要素データ群が抽出されると、加工領域形状生成部33は、抽出された形状要素データ全てを包含する矩形データを求める(S1503)。
次に、S1503で求めた矩形を部品形状へと変換する(S1504)。
次に、S1504で変換した部品形状を外部へと広がる方向に工具半径でオフセットする(S1505)。
最後に、加工領域形状生成部33は、S1505で求めたオフセットした部品形状から加工サイクルの加工領域形状を作成する(S1506)。
【0054】
(輪郭加工の場合の加工領域形状生成の流れ)
一加工工程認識部20によって認識された一加工工程から特定された加工種類が輪郭加工である場合における加工領域形状生成の流れを
図16に示す。
【0055】
輪郭加工における加工領域形状の生成処理では、まず加工領域形状生成部33は、一加工工程認識部20が認識した一加工工程から工具軸方向に一番低い高さの形状要素データ群を抽出する(S1601、S1602)。
形状要素データ群が抽出されると、加工領域形状生成部33は、抽出された形状要素データの中から最終形状要素データを特定し、特定した最終形状要素データの終点を求める(S1603)。
次に、最終形状要素データが載る形状要素データを求め(S1604)、最終形状要素データから遡って、最終形状要素データの終点が載る形状要素データまでを抽出する(S1605)。
そして、抽出した形状要素データを部品形状へと変換し(S1606)、部品形状が狭まる方向に工具半径でオフセットする(S1607)。
最後に、加工領域形状生成部33は、S1607で求めたオフセットした部品形状から加工サイクルの加工領域形状を作成する(S1608)。
【0056】
(ポケット加工の場合の加工領域形状生成の流れ)
一加工工程認識部20によって認識された一加工工程から特定された加工種類がポケット加工である場合における加工領域形状生成の流れを
図17に示す。
【0057】
ポケット加工における加工領域形状の生成処理では、まず加工領域形状生成部33は、一加工工程認識部20が認識した一加工工程から工具軸方向に一番低い高さの形状要素データ群を抽出する(S1701、S1702)。
形状要素データ群が抽出されると、加工領域形状生成部33は、抽出された形状要素データの中から最終形状要素データを特定し、特定した最終形状要素データの終点を求める(S1703)。
次に、最終形状要素データが載る形状要素データを求め(S1704)、最終形状要素データから遡って、最終形状要素データの終点が載る形状要素データまでを抽出する(S1705)。
そして、抽出した形状要素データを部品形状へと変換し(S1706)、部品形状が広がる方向に工具半径でオフセットする(S1707)。
最後に、加工領域形状生成部33は、S1707で求めたオフセットした部品形状から加工サイクルの加工領域形状を作成する(S1708)。