(57)【要約】【課題】加工に関する情報を有するＧコード形式のＮＣプログラムを得る。ＮＣプログラムの一部を選択して実行できるようにする。【解決手段】ＩＳＯ１４６４９形式のＮＣプログラムのWorkplanに記述された加工単位毎の情報を解読し、加工単位(Workingstep)毎の指令順を作成する(a1)。各加工単位の情報を解読し(a2)、加工単位における工具パスを求める(a3)。加工単位の情報から加工開始のコメントを作成する(a4)。加工単位の加工開始位置までの早送りブロックを作成する(a5)。求めた工具パスより切削条件ブロック、切削ブロックを作成する(a6,a7)。加工単位の最終コメントを作成する(a8)。以下、加工単位毎に上述した処理を行いＧコード形式のＮＣプログラムを得る。このＧコード形式のＮＣプログラムを実行する時は、コメントを利用して加工単位毎に選択して実行できる。【選択図】図６
2007241399.tif 000002
【特許請求の範囲】
【請求項１】
加工に関する情報が埋め込まれたＧコード形式のＮＣプログラムを得る方式であって、ＩＳＯ１４６４９形式のＮＣプログラムを数値制御装置に入力し、該ＩＳＯ１４６４９形式のＮＣプログラムをＧコード形式のＮＣプログラムに変換すると共に、該ＩＳＯ１４６４９形式のＮＣプログラムに含まれる加工に関する情報をコメントとして記述して加工に関する情報が埋め込まれたＧコード形式のＮＣプログラムを得る方式。
【請求項２】
加工に関する情報が埋め込まれたＧコード形式のＮＣプログラムを得る方式であって、ＩＳＯ１４６４９形式のＮＣプログラムを数値制御装置に入力し、該ＩＳＯ１４６４９形式のＮＣプログラムをＧコード形式のＮＣプログラムに変換すると共に、該ＩＳＯ１４６４９形式のＮＣプログラムに含まれる加工に関する情報をブロックのコードとして記述して加工に関する情報が埋め込まれたＧコード形式のＮＣプログラムを得る方式。
【請求項３】
請求項１または請求項２の方式によって作成されたＮＣプログラムの加工に関する情報を利用して、ＮＣプログラムの一部を選択して数値制御装置に実行させるＮＣプログラムの実行方式。
【請求項４】
加工に関する情報を利用して、加工形状毎に選択して実行させる請求項３に記載のＮＣプログラムの実行方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＳＯ１４６４９形式のＮＣ（数値制御）プログラムを利用してＧコード形式のＮＣプログラムを得る方式に関する。
【背景技術】
【０００２】
現在実行されているＮＣプログラムの記述形式であるＧコード形式では、ＮＣプログラムがブロックと呼ばれる単位から構成されている。一つのブロックは、「ある点へ直線で移動する」といった単一の命令であり、ポケットなどの一つの形状を加工する指令はいくつものブロックの集まりで表される。個々のブロックがどの形状の加工に関係するかや、ブロック相互を関連づける情報が含まれていないため、ポケットや穴、溝など複数の形状を加工するＮＣプログラムの場合、どの部分がポケットの加工に対応するのか判断できない。したがって、ＮＣプログラムを解析してポケットの加工に使用された切削条件を取り出す処理を人手を介さずに行うことは非常に難しい。
【０００３】
ＮＣプログラムから切削条件などの情報を取り出すことは、加工ノウハウの収集の面から、近年注目されるようになってきた。  
Ｇコード形式でこのような加工に関する情報を埋め込む手法として、ＮＣプログラムのコメントを利用する方法が考えられ、本願出願人は特願２００４−２８２６４２として、このような手法を提示した。この方法は、コメントのフォーマットを決めて様々の情報を記述し、このコメントを利用して加工プログラムの加工内容や加工プログラムの加工管理に利用するようにしたものである。
【０００４】
しかし、このようなコメントをＮＣプログラムに埋め込む作業は、通常のＮＣプログラム作成に加えて行うことになり、ＮＣプログラム作成において効率的ではない。  
一方、最近、Ｇコード形式に代わる新たなＮＣプログラムの記述形式として、ＩＳＯ１４６４９の規格化が進められている。この方式は、ＮＣプログラムを加工の単位で構成するもので、ポケットの荒加工やドリルによる穴明けなどが一つの加工単位とし記述するものである。
【０００５】
たとえば、図１（ａ）に示すように、ワークＷに、平面１、穴２、ポケット３を加工する場合、ＩＳＯ１４６４９形式のＮＣプログラムでは、図１（ｂ）に示すように、１）平面の仕上げ加工、２）穴明け、３）リーマ、４）ポケットの荒加工、５）ポケットの仕上げ加工等の加工単位で記述する構造となっている。
【０００６】
なお、本願発明に関係する、ＩＳＯ１４６４９形式のＮＣプログラムを利用しＣＮＣでＧコード形式のＮＣプログラムを得るようしたものに関する先行技術文献は発見できなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＩＳＯ１４６４９形式のＮＣプログラムは加工情報の記述はあるが、これを実行する場合、ＩＳＯ１４６４９形式のＮＣプログラムに適合する数値制御装置を創設する必要がある。  
しかし、ＩＳＯ１４６４９形式のＮＣプログラムを現在実行されているＧコード形式のＮＣプログラムに変換すれば、現在の数値制御装置を変更することなくＩＳＯ１４６４９形式のＮＣプログラムを比較的簡単に実行できるものとなる。
【０００８】
又、ＮＣ工作機械で加工物を加工し、加工後に加工物を測定し、ある形状の仕上げ加工だけを再実行したいというケースはよくあるが、前述したように、Ｇコード形式のＮＣプログラムにおいては、各部の加工内容等の加工に関する情報を表すコメントを予めＮＣプログラムに挿入しておくか、又は、形状毎にＮＣプログラムを分割して作成するといった手法が取られていた。この方法では、ＮＣプログラムの作成や分割されたプログラムの管理が面倒という問題がある。
【０００９】
そこで、本願発明の目的は、加工に関する情報を有するＧコード形式のＮＣプログラムを容易に作成できる方式を得ることにある。さらに、本願発明は、ＮＣプログラムの一部を選択して実行できるようにすることを目的とするものである。
【課題を解決するための手段】
【００１０】
本願請求項１、２に係る発明は、加工に関する情報が埋め込まれたＧコード形式のＮＣプログラムを得る方式であって、ＩＳＯ１４６４９形式のＮＣプログラムを数値制御装置に入力し、該ＩＳＯ１４６４９形式のＮＣプログラムをＧコード形式のＮＣプログラムに変換すると共に、請求項１に係る発明は、該ＩＳＯ１４６４９形式のＮＣプログラムに含まれる加工に関する情報をコメントとして記述して加工に関する情報が埋め込まれたＧコード形式のＮＣプログラムを得ようにした。又、請求項２に係る発明は、コメントの代わりに、加工に関する情報をブロックのコードとして記述して加工に関する情報が埋め込まれたＧコード形式のＮＣプログラムを得るようにした。
【００１１】
又、請求項３、４に係る発明は、請求項１または請求項２の方式によって作成されたＮＣプログラムを実行する方式であり、該プログラムに記述された加工に関する情報を利用して、ＮＣプログラムの一部を選択して数値制御装置に実行させるようにしたものである。とくに、請求項４に係る発明は、加工形状毎に選択して実行させるようにしたものである。
【発明の効果】
【００１２】
加工に関する情報をＧコード形式のＮＣプログラムに自動的に埋め込むことができ、この埋め込んだ情報に基づいて、ＮＣプログラムの一部を選択的に実行でき、又、ＮＣプログラムから、切削条件など加工に関する情報を容易に取り出すことができる。
【発明を実施するための最良の形態】
【００１３】
以下、本願発明の一実施形態を図面と共に説明する。  
図２は、本実施形態の数値制御装置の概要ブロック図である。  
本実施形態では、ＮＣプログラム変換方式、及び変換されたＮＣプログラムの実行を行うＣＮＣ装置として、パソコン（パーソナルコンピュータ）部１１とＣＮＣ（数値制御装置）部１２で構成されたオープンＣＮＣ（パソコン内蔵ＣＮＣ）１０で構成している。
【００１４】
パソコン部１１は、ＩＳＯ１４６４９形式のＮＣ指令を解読する処理２１、解読された結果をＧコード形式へ変換する処理２２、出力されたＧコード形式の指令をＤＮＣ（Direct Numerical Control）運転により実行する処理２３を含む。又、Ｇコード形式へ変換する処理２２は、コメント生成処理３１とＮコード生成処理３２を含む。変換されたＧコード形式の指令をＣＮＣ部１２のメモリに転送し、メモリ運転を行うこともできる。
【００１５】
図３（ａ）は、ＩＳＯ１４６４９形式のＮＣプログラムの指令の一部で、ポケットの荒加工を表す加工単位の箇所を中心に示したものである。  
図３（ａ）において、＃２にはWORKPLANとして、加工する加工単位が、その属性として、カッコ内に＃１０〜＃１４と指令されており、このカッコ内に示す属性は、所定の規則に基づいてその順番が決まっており、このWORKPLANにおける属性は、指令された順に実行するように指令されている。  
なお、この図３（ａ）に示すＩＳＯ１４６４９形式のＮＣプログラムは、図１に示した加工の例を示すもので、＃１０に平面の仕上げ加工、＃１１に穴明け加工、＃１２にリーマ加工、＃１３にポケットの荒加工、＃１４にポケットの仕上げ加工の各加工単位が指令されているものである。
【００１６】
加工単位（Workingstep）では、加工単位で実行する内容が、カッコ内の属性として記述されており、図３（ａ）では、加工単位（Workingstep）の＃１３の例（ポケットの荒加工）が示されており、加工単位で実行する内容が、カッコ内に記述された４番目の属性として記述されている。この図３（ａ）に示した例では、４番目の属性として＃２２で指令され、該＃２２には、この加工単位の内容が記述されている。
【００１７】
図３（ｂ）は、このＩＳＯ１４６４９形式のＮＣプログラムでの各指令の内容を説明する図である。属性は、カッコ内に規則にしたがって記述されているものであり、＃２２に指令された内容は、この加工単位が、ＰＯＣＫＥＴ１の底面と側面の荒加工であることを示し、リトラクト面がＺ＝１５．０の位置、使用する工具は＃３９で指定、切削条件は＃５０で指定、機械機能は＃４１で指定、工具の動き方は＃５１で指定、軸方向の切込量＝２．５ｍｍ、径方向の切込量＝５．０ｍｍ、側面の残し代＝１．０ｍｍ、底面の残し代＝０．５ｍｍが指定されている。
【００１８】
そして、＃３９には、工具の種類がＭＩＬＬ  ２０ＭＭ、工具の詳細は＃２９で指定、切れ刃の情報は＃１２５で指定、ホルダ基準面から工具先端まで８０．０ｍｍが指定されている。以下同様に、図３に示すように、加工の内容が指定されている。  
又、加工のための工具パス（工具経路）もこの加工単位に記述された情報より計算される。
【００１９】
オープンＣＮＣ１０におけるパソコン部１１の、ＩＳＯ１４６４９形式のＮＣ指令を解読する処理２１では、この図３（ａ）で示すＩＳＯ１４６４９形式のプログラムの指令を解読し、図４に示すようなＧコード形式のＮＣプログラムの指令に変換する。
【００２０】
Ｇコード形式のＮＣプログラムでは、加工内容を表す情報をＩＳＯ１４６４９形式のＮＣ指令から読み取り、カッコ内にコメントとして記述する。図４では、図３（ａ）における＃１３以下のポケットの荒加工の指令をＧコード形式のＮＣプログラムの指令に変換した例を示している。
【００２１】
まず、Ｇコードデータの先頭には、加工単位の内容を表すコメントが出力されており、該コメントはカッコ内に記述されている。  
コメントの内容は、Workingstepの先頭を表す「ＷＳ：」で始まる。その後に、情報名＝その値の書式で、加工単位の情報をカンマで区切って記述される。  
例えば、最初の情報のＩＤ＝Rough Pocket1は、加工単位の識別子を表し、その値は図３のＩＳＯ１４６４９形式のＮＣプログラムにおける＃１３で表されたWorkingstepの第１属性の値を基にしている。その他の情報も、図３に示したＩＳＯ１４６４９形式のＮＣプログラムに記述されている加工単位の情報を解読し、その結果に基づいて設定される。
【００２２】
次に記載された「Ｇ００  Ｘ−１００．０  Ｙ２５０．０  Ｚ２００．０；」と「Ｚ１５．０；」は、前の加工単位の実行終了位置から、今回実行する加工単位の実行開始位置への早送り操作である。「Ｇ００  Ｘ−１００．０  Ｙ２５０．０  Ｚ２００．０；」と「Ｚ１５．０；」は実行開始位置を表し、ＮＣ指令から計算される（その手法は特に詳述しないが、ＩＳＯ１４６４９の規格にしたがって求まる）。工具とワークとの干渉を避けるため、Ｚ軸がプラス側の安全領域内で実行開始点の上へ移動し、その後Ｚ軸のマイナス方向へ降下することを表している。
【００２３】
次の「Ｓ２００；」は、図３に示すＩＳＯ１４６４９形式のＮＣプログラムにおける＃５０に記述された主軸回転を変換したものである。  
「Ｇ０１  Ｚ−２．５  Ｆ６００；」以下は、図３に示すＩＳＯ１４６４９形式のＮＣプログラムで指令された加工単位の情報より計算された工具パスを線分に分割し、その各々を一つのブロックへ変換したものである。たとえば、図９のような工具パスの場合、具体的な手法は詳述しないが、工具パスを定義する点 Ｐ１，Ｐ２，…がＩＳＯ１４６４９形式のＮＣプログラムで指令された加工単位の情報より計算して求められる。なお、点Ｐ０は、前述した実行開始位置「Ｇ００  Ｘ−１００．０  Ｙ２５０．０  Ｚ２００．０；」と「Ｚ１５．０；」の点を意味する。
【００２４】
「（ＷＳＥ）」は、加工単位の終わりを表す。一つの加工単位を変換したＧコードデータの末尾に付加するものである。
【００２５】
図４に示すＧコード形式のＮＣプログラムに変換する例は、ＩＳＯ１４６４９形式のＮＣプログラムの指令に含まれる加工に関する情報をコメントとしてＧコード形式のＮＣプログラムに記述するようにしたものであるが、簡単に、加工単位を区別するだけのものであれば、図５に示すように、Ｎコード（シーケンス番号）を加工単位の先頭と末尾に記述しＧコード形式のＮＣプログラムとしてもよい。図５で示す例では、「Ｓ２００；」以下の実際の加工を指令する先頭に「Ｎ１０００」を、また末尾に「Ｎ１００００」のＮコードが記述され、加工単位の始まりと終わりを示している。なお、Ｎコードの代わりにＭコードを利用するようにしてもよい。
【００２６】
図６は、オープンＣＮＣ１０におけるパソコン部１１の、ＩＳＯ１４６４９形式のＮＣ指令を解読する処理２１及びＧコード形式へ変換する処理２２のコメント生成処理３１の処理のアルゴリズムを表すフローチャートである。  
まず、ＩＳＯ１４６４９形式のＮＣプログラムの指令の「Workplan」を解読し、その属性より、実行するWorkingstep（加工単位）のリストと実行順序を得る（ステップａ１）。
Workingstep（加工単位）とその内容を解読し、加工単位の加工に関する情報を解読し詳細情報を得る（ステップａ２）。この詳細情報に基づいて、工具パス（加工経路）を計算し求める（ステップａ３）。
【００２７】
次に、ＩＳＯ１４６４９形式のＮＣプログラムに記述された情報より加工単位開始コメントを作成する。すなわち、図４に示したようにカッコ内にコメントを記述する（ステップａ４）。さらに、実行開始位置への早送りブロックを作成する。図３、図４で示す例では、「Ｇ００  Ｘ−１００．０  Ｙ２５０．０  Ｚ２００．０；」と「Ｚ１５．０；」のブロックが生成される（ステップａ５）。
【００２８】
次に、ステップａ２で解読したＩＳＯ１４６４９形式のＮＣプログラムに記述された情報に基づいて切削条件のブロックが作成され（ステップａ６）、ステップａ３で求められた工具パスに基づいて切削ブロックが作成され（ステップａ７）、その後に、加工単位の終了のコメントを作成し追加する（ステップａ８）。そして、ステップａ１で求めたWorkingstep（加工単位）順序の最後の加工単位まで変換したかが判断され（ステップａ９）、最後の加工単位まで変換されてなければ、ステップａ２に戻り、上述したステップａ２以下の処理を行い、ＩＳＯ１４６４９形式のＮＣプログラムをＧコード形式のＮＣプログラムに変換するとともに、加工に関する情報をコメントとして自動的に埋め込んだＧコード形式のＮＣプログラムを得る。
【００２９】
以下、最後の加工単位までＧコード形式のＮＣプログラムに変換される。
なお、図５に示したような、加工単位の先頭にＮコード（シーケンス番号）を記述するＧコード形式のＮＣプログラムとする場合には、図６に示す処理フローチャートにおいて、ステップａ４とａ８処理がＮコードを付加する処理に代わる。
【００３０】
こうして作成されたＧコード形式のＮＣプログラムをＤＮＣ運転で実行する場合、加工単位毎に実行することができる。図７は、ＤＮＣ運転するときの加工単位のリストの説明図である。
【００３１】
図６のステップａ１の処理によって求められた、加工単位のリストを表示装置に表示させる。最初は各指令の加工単位（Workingstep）順と、加工単位名の欄に加工単位の識別名が表示される。又、この加工単位のリストに実行する加工単位の実行順、及び実行するか否か、さらに、外部機器（パソコンなど）、システム等に加工単位を実行したことを知らせるか否か等の運転情報を設定する。図７で示した例では、実行順はプログラムの指令順と同じに指定され、加工単位の「DRILLING（穴明け）」、「REAMING（リーマ）」は実行しないことに指定され、外部機器等に通知するものとして、最後に実行する加工単位の指令順（実行順）５の「FINISH POCKET１（ポケットの仕上げ加工）」が指定され、実行はするが、実行したことを通知しないものとして、指令順（実行順）１、４の加工単位である「FINISH PLANE１（平面の仕上げ加工）」「ROUGH POCKET１（ポケットの荒加工）」が指定されている例を示している。
【００３２】
ＤＮＣ運転では、この運転情報が記憶された加工単位のリストに基づいて実行される。図８は、このＤＮＣ運転における処理フローチャートである。  
まず、加工単位のリストの運転情報を参照して、加工単位レベルで、実行する／実行しない、および、実行順を判断し（ステップｂ１）、実行する加工単位の識別名を判別し、Ｇコード形式のＮＣプログラムから、該識別名の加工単位（Workingstep）の指令を抽出する（ステップｂ２）。Ｇコード形式のＮＣプログラム中には、コメントとして、加工単位の識別名が「ＩＤ＝…」として記述されているから、この文字列に基づいて、該加工単位の識別名を有するコメントの「（ＷＳ；…）」〜「（ＷＳＥ）」までを、その加工単位を加工するのに実施する処理の指令として抽出する。
【００３３】
実行順欄の値が指令順欄の値と違う場合、或いは、実行順欄の値に飛びがある場合（実行しない加工単位があると、その分実行順欄の値に飛びがでる。図７に示す例では、実行順２、３が実行しないと指定されているから、実行する順が１から４に飛ぶ）は、直前の実行終了位置から今回の実行開始位置までの早送りパスをつくり直し、早送りを実行する（ステップｂ３）。
【００３４】
次に、ステップｂ２で抽出した部分を実行する（ステップｂ４）。そして、加工単位のリストの通知欄に運転情報として「する」が設定されているか否か判断し（ステップｂ５）、「する」と設定されているときは、加工単位の終了のメッセージを予め設定されている外部機器等の通知先に送信する（ステップｂ６）。さらに、まだ実行すべき加工単位が残っているかどうかを調べ（ステップｂ７）、残っている場合は、ステップｂ１に戻って次に実行する加工単位を判別し、以降の処理を繰り返す。残っていない場合は処理を終了する。
【００３５】
以上のようにして、加工単位毎に選択してその加工を実行することができるものである。
【００３６】
図５に示したように、ＩＳＯ１４６４９形式のＮＣプログラムから、加工単位の先頭，末尾にＮコードを付加したＧコード形式のＮＣプログラムとする場合には、図７に示す加工単位のリストの加工単位名の欄には、付加したＮコードを記述するようにすればよく、図８に示すＤＮＣ運転時の処理では、加工単位のリストの加工単位名の欄に記述されているＮコードを変換されたＧコード形式のＮＣプログラムから検索し、加工単位の指令を抽出するようにすればよいものである。
【図面の簡単な説明】
【００３７】
【図１】ＩＳＯ１４６４９形式のＮＣプログラムの構造を示す加工例の説明図である。
【図２】本発明を実施する一実施形態の数値制御装置の概要ブロック図である。
【図３】ＩＳＯ１４６４９形式のＮＣプログラムの指令の一部とその説明図である。
【図４】図３に示すＩＳＯ１４６４９形式のＮＣプログラムの一部がＧコード形式のＮＣプログラムに変換された例を示す図である。
【図５】図３に示すＩＳＯ１４６４９形式のＮＣプログラムの一部がＧコード形式のＮＣプログラムに変換された別の形式の例を示す図である。
【図６】ＩＳＯ１４６４９形式のＮＣ指令をＧコード形式へ変換する処理のアルゴリズムを表すフローチャートである。
【図７】加工単位のリストの説明図である。
【図８】本実施形態におけるＤＮＣ運転時の処理フローチャートである。
【図９】工具パス計算の説明図である。
【符号の説明】
【００３８】
１  平面
２  穴
３  ポケット
Ｗ  ワーク
１０  オープンＣＮＣ
１１  パソコン部
１２  ＣＮＣ部
２１  ＩＳＯ１４６４９形式の解読
２２  Ｇコード形式への変換
２３  ＤＮＣ運転
３１  コメント生成
３２  Ｎコード生成
【図１】
2007241399.tif 000003
【図２】
2007241399.tif 000004
【図３】
2007241399.tif 000005
【図４】
2007241399.tif 000006
【図５】
2007241399.tif 000007
【図６】
2007241399.tif 000008
【図７】
2007241399.tif 000009
【図８】
2007241399.tif 000010
【図９】
2007241399.tif 000011