(57)【要約】【課題】加工プログラムを記憶する記憶手段の中から、目的とする加工メインプログラムを容易に選択することができる工作機械の制御装置を得る。【解決手段】記憶手段に記憶された加工プログラムをサーチし、解析し、その加工プログラムが加工メインプログラムか判別する。この判別は、加工メインプログラムであれば存在するプログラム終了コード『Ｍ３０』が加工プログラム中にあれば、その加工プログラムを加工メインプログラムとする。又は、加工サブプログラムの終了コードは『Ｍ９９』が加工プログラム中になければ、加工メインプログラムとする。自動的に加工メインプログラムが求められ、そのリストが一覧表示される。よって、何ら管理する必要もなく、加工メインプログラムのみを表示できるので、目標とする加工プログラムの選択が容易となる。【選択図】図７
2008097103.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに従って加工対象物を加工する工作機械の制御装置であって、
加工メインプログラムと加工サブプログラムとを記憶する加工プログラム記憶手段と、
該加工プログラム記憶手段に記憶されている複数の加工プログラムが加工メインプログラムであるか加工サブプログラムであるかを解析し、加工メインプログラムを抽出する加工メインプログラム抽出手段と、
該抽出した加工メインプログラムのリストを一覧表示する表示手段と、
を備えたことを特徴とする工作機械の制御装置。
【請求項２】
前記加工メインプログラム抽出手段は、加工プログラム記憶装置に記憶されている複数の加工プログラムの中から、加工プログラム終了を指令するコードが存在する加工プログラムを加工メインプログラムとして抽出することを特徴とする請求項１に記載の工作機械の制御装置。
【請求項３】
前記加工メインプログラム抽出手段は、加工プログラム記憶手段に記載されている複数の加工プログラムの中から、呼び出しコードによって呼び出したプログラム位置への復帰を指令するコードが存在しない加工プログラムを加工メインプログラムとして抽出することを特徴とする前記請求項１に記載の工作機械の制御装置。
【請求項４】
前記加工メインプログラム抽出手段は、他の加工プログラムから呼び出されていない加工プログラムを加工メインプログラムとして抽出することを特徴とする請求項１に記載の工作機械の制御装置。
【請求項５】
前記加工メインプログラム抽出手段は、プログラム終了を指令するコードを、呼び出しコードによって呼び出したプログラム位置への復帰を指令するコードとみなす設定がなされているとき、他のプログラムから呼び出されているか否かに拘わらずプログラム終了コードを含む加工プログラムを加工メインプログラムとして抽出することを特徴とする請求項４に記載の工作機械の制御装置。
【請求項６】
前記加工メインプログラム抽出手段は、特定の指令コードが存在せず、かつ、他の加工プログラムから呼び出されていない加工プログラムを加工メインプログラムとして抽出することを特徴とする請求項４又は請求項５に記載の工作機械の制御装置。
【請求項７】
前記加工メインプログラム抽出手段で抽出された加工メインプログラムのリストを記憶する加工メインプログラムリスト記憶手段を備え、前記表示手段は、加工メインプログラムリスト表示指令で加工メインプログラムリスト記憶手段に記憶する加工メインプログラムのリストを表示し、前記加工プログラム記憶手段に加工プログラムを追加して格納したとき、又は該加工プログラム記憶手段に記憶する加工プログラムを更新したとき、自動的に前記加工メインプログラム抽出手段を動作させ、前記加工メインプログラムリスト記憶手段を更新するようにした請求項１乃至６の内いずれか１項に記載の工作機械の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を制御する制御装置に関し、特に、加工プログラムの探索に関する。
【背景技術】
【０００２】
工作機械を制御する数値制御装置等の制御装置は、加工プログラムに基づいて工作機械を制御し、該工作機械によって加工対象物を加工するものである。加工プログラムの構造には、加工メインプログラムから加工サブプログラムを呼び出して加工経路を記述しているものと、加工サブプログラムを呼び出すことなく、加工メインプログラム１個にすべての加工経路が記述されているものとがある。  
加工サブプログラムを使って加工プログラムを作成する場合、加工メインプログラムからは何種類もの加工サブプログラムを多数回あるいは多重に呼び出すことがある。特に、最近の工作機械を使った加工の内容は非常に複雑なものとなってきており、加工プログラムの構造も加工メインプログラムから何種類もの加工サブプログラムを多数回あるいは多重に呼び出すなど、非常に複雑なものとなってきている。また、加工プログラムの記憶手段は工作機械の高性能化に伴って容量が非常に大きなものとなってきており、数多くの加工プログラムを格納することができるようになっている。しかも、加工メインプログラムに比較して加工サブプログラムの数が非常に多くなり、加工プログラムを記憶する記憶手段の中では加工サブプログラムの数が、加工メインプログラムの数に比べて何倍にもなってしまうことは珍しくない。
【０００３】
作業者が加工や段取りを行う際には、記憶手段に記憶されている加工プログラムから目的とする加工プログラムを選択し、制御装置の表示装置の画面に加工形状を描画するなどしてプログラムの内容を確認し、加工や段取り作業を行うものである。このためには、加工メインプログラムを呼び出す必要がある。しかし、記憶手段に多量に記憶されている加工プログラムの中から加工メインプログラムを抽出し、その加工メインプログラムの中から目的とする加工メインプログラムを選び出すことは困難で非常に手間の掛かる作業となっている。
【０００４】
通常、記憶手段内に格納されている加工プログラムの中から目的とする加工プログラムを選択しようとする場合、作業者は機械操作盤などを操作することによって加工プログラム表示指令を制御装置に入力し、制御装置は加工プログラム表示指令を受け取ると記憶手段内に格納されている加工プログラムの一覧を表示装置に表示する。表示される加工プログラムが画面内に入りきらない場合には、複数のページに分けて表示する。最近では、上述したように、記憶手段に記憶する加工プログラムが増大していることから、この加工プログラムを一覧表示するページ数が増加し、この一覧表示の中から目的とする加工メインプログラムを探し出すのは困難で手間のかかる作業となっている。
【０００５】
加工プログラムには注釈として情報を付加することができるので、この注釈の情報により、各プログラムを区別させることは可能であるが、注釈を付加することを怠ったり、長い時間が経過すると注釈から加工プログラムの内容を思い出せなくなったりと、必ずしも十分な役割を果たしているとは言えなかった。また、莫大な数の加工プログラムに付加した注釈を個々に読む作業も現実には大変なものであり、複数の作業者で機械を使用するような場合には、さらに混乱は増すことになる。
【０００６】
そこで、この問題を解決する方法として、加工品の写真と加工品の情報などをその加工プログラムと関連付けて記憶手段に保存し、加工品情報のキーワード検索から写真を呼び出して加工プログラムを選択するようにすることによって、多数の加工プログラムの中から目的とする加工プログラムを容易に探し出せるようにした型彫放電加工装置の加工プログラム管理装置が知られている（特許文献１参照）。
【０００７】
さらには、加工プログラムを予め複数の目的別の独立グループに分けて格納しておくことによって、加工プログラムを容易に選択できるように試みた工作機械の数値制御装置も知られている（特許文献２参照）。
【０００８】
【特許文献１】特開２００１−２５５９１６号公報
【特許文献２】実開平３−９３９０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
工作機械を制御する制御装置内の記憶手段又は外部記憶手段に記憶された多量の加工プログラムの中から、加工や段取りのために目的とする加工プログラム（加工メインプログラム）を探し出すには、上述したようにますます困難になっており、加工プログラムが増加する毎にこの問題は増大する。  
前述したように、注釈の情報により、加工メインプログラムと加工サブプログラムを区別するようにしても、注釈を付加することを怠ったり、加工プログラムの内容を思い出せなくなって、目的の加工メインプログラムを探し出すことが困難になるという問題がある。
【００１０】
又、特許文献１に記載されている発明のように、加工品の写真と加工品の情報などをその加工プログラムと関連付けて記憶手段に保存する方法では、写真データを用意したり各種情報との関連付けの作業をする必要があったりと、事前に加工プログラムの管理のために多くの手間を要することになる。また、キーワード検索を拠り所とすると適切なキーワードを思い出すことができなければ、目的とする加工プログラムを探し出すことは容易ではなく、全体として、容易に目的とする加工メインプログラムを探し出せるとするには問題が残る。
【００１１】
さらに、特許文献２に記載された発明のように、加工プログラムをグループに分けて格納しておく方法では、目的とする加工プログラムをどこのグループに格納するのが適切なのか迷ったり、格納場所を忘れてしまったりという管理上の問題が新たに発生すると考えられる。また、目的とするグループを確定することができたとしても、そのグループが非常に大きなものになった場合には、振り出しに戻ってしまい、目的とする加工プログラムを選択することが改めて困難になり、この方法も、加工メインプログラムを容易に探し出せるようにする点において問題が残る。
【００１２】
そこで、本発明の目的は、加工プログラムを記憶する記憶手段の中から、加工プログラムを管理するための手間をかけることなく、目的とする加工メインプログラムを容易に選択することができる工作機械の制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明は、加工プログラムに従って加工対象物を加工する工作機械の制御装置であって、加工メインプログラムと加工サブプログラムとを記憶する加工プログラム記憶手段と、該加工プログラム記憶手段に記憶されている複数の加工プログラムが加工メインプログラムであるか加工サブプログラムであるかを解析し、加工メインプログラムを抽出する加工メインプログラム抽出手段と、該抽出した加工メインプログラムのリストを一覧表示する表示手段とを備えたことを特徴とするものである。
【００１４】
前記加工メインプログラム抽出手段は、加工プログラム記憶装置に記憶されている複数の加工プログラムの中から、加工プログラム終了を指令するコードが存在する加工プログラムを加工メインプログラムとして抽出するか、又は、加工プログラム記憶手段に記載されている複数の加工プログラムの中から、呼び出しコードによって呼び出したプログラム位置への復帰を指令するコードが存在しない加工プログラムを加工メインプログラムとして抽出する。もしくは、他の加工プログラムから呼び出されていない加工プログラムを加工メインプログラムとして抽出するものとした。
【００１５】
さらに、プログラム終了を指令するコードを、呼び出しコードによって呼び出したプログラム位置への復帰を指令するコードとみなす設定がなされているとき、前記加工メインプログラム抽出手段は、他の加工プログラムから呼び出さない加工プログラムを加工メインプログラムとして抽出するとき、他のプログラムから呼び出されているか否かに拘わらずプログラム終了コードを含む加工プログラムを加工メインプログラムとして抽出するものとした。又、より正確にするために、前記加工メインプログラム抽出手段は、特定の指令コードが存在せず、かつ、他の加工プログラムから呼び出されていない加工プログラムを加工メインプログラムとして抽出するようにした。
【００１６】
又、前記加工メインプログラム抽出手段で抽出された加工メインプログラムのリストを記憶する加工メインプログラムリスト記憶手段を備え、前記表示手段は、加工メインプログラムリスト表示指令で加工メインプログラムリスト記憶手段に記憶する加工メインプログラムのリストを表示し、前記加工プログラム記憶手段に加工プログラムを追加して格納したとき又は該加工プログラム記憶手段に記憶する加工プログラムを更新したとき、自動的に前記加工メインプログラム抽出手段を動作させ、前記加工メインプログラムリスト記憶手段を更新するようにした。
【発明の効果】
【００１７】
加工プログラム記憶手段に記憶された多量の加工プログラムの中から、加工メインプログラムが自動的に抽出され一覧表示されるので、特別な管理を行うことなく、目的とする加工メインプログラムの選択が容易となる。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の一実施形態の工作機械を制御する制御装置の概要図である。この実施形態では、制御装置として数値制御装置の例を示している。従来の工作機械を制御する数値制御装置の構成と同じであり、図１では、概略的に示している。従来の制御装置（数値制御装置）と相違する点は、メモリ（記憶手段）に後述する加工メインプログラム抽出、表示を行うソフトウェアが格納され、加工メインプログラム抽出表示機能を備えている点で従来の制御装置と相違するのみである。
【００１９】
制御装置１０は、プロセッサ（ＣＰＵ）１１とバス１８で接続されたメモリ（記憶手段）１２、インタフェース１３、表示器１４、機械操作盤１５、工作機械２０の各軸のサーボモータを制御する各軸制御手段１６、工作機械２０の主軸モータを制御する主軸制御手段１７を備えている。  
メモリ１２は、ＲＯＭ、ＲＡＭ、不揮発性メモリ（ＲＡＭ）等で構成され、ＲＯＭには、全体を制御するシステムプログラムが格納され、不揮発性メモリには各種加工プログラムが格納されている。インタフェース１３は、各種加工プログラム等を格納する外部記憶手段２１が接続され、この加工プログラムをプロセッサが読み出し可能になっている。
【００２０】
表示器１４には、機械操作盤１５に設けられたキーボード等からの指令に基づいて、加工プログラムの表示や、本発明に関係してメモリ１２、さらには外部記憶手段２１に記憶する加工プログラム中の加工メインプログラムを表示するものである。又、各軸制御手段１６は、加工プログラムに基づいてプロセッサ１１が各軸へ指令した移動指令と図示していない、各サーボモータにそれぞれ取り付けられた位置・速度検出器からの位置、速度フィードバック信号に基づいて、位置、速度のフィードバック制御を行い、各軸のサーボモータを駆動し、その位置、速度を制御するものである。さらに、主軸制御手段１７はプロセッサ１１から指令された主軸速度指令に基づいて、主軸の速度を制御するものである。
【００２１】
メモリ１２及び外部記憶手段２１には、多量の加工プログラムが格納されており、この多量に格納された加工プログラムから、加工、又は段取りのために必要とする加工プログラムを選択し、表示器１４の画面に加工形状や加工軌跡を表示して、プログラムの内容を確認するときなど、目的とする加工プログラムの加工メインプログラムを選択しなければならない。そのために、本発明は、メモリ１２、外部記憶手段２１に記憶されている加工プログラムから、加工メインプログラムを加工サブプログラムと区別して抽出し、加工メインプログラムを表示器１４で表示することによって、加工メインプログラムの選択を容易にしたものである。
【００２２】
そこで、まず、加工メインプログラムを加工サブプログラムから区別して抽出する方法について説明する。加工プログラムはそれぞれに固有のプログラム番号やファイル名などで他の加工プログラムと識別されるようになっているが、ここではプログラム番号で識別するケースを例にとって説明する。
【００２３】
図２は、加工プログラムにおいて、加工メインプログラムの例（図２（ａ））と、加工サブプログラムの例（図２（ｂ））を示している。各プログラムには、プログラム番号「Ｏ□□□□」が付されている。図２（ａ）に示す加工メインプログラムの例では「Ｏ７５２１」がプログラム番号であり、図２（ｂ）に示す加工サブプログラムの例では「Ｏ７５１０」がプログラム番号である。
【００２４】
一般に、加工メインプログラムと加工サブプログラムとの間には、いくつかの構造上の違いが存在する。  
例えば、加工サブプログラムは任意の加工プログラムから呼び出されるようになっている。図２（ａ）に示す加工メインプログラムの例を見ると、加工サブプログラム呼出コード『Ｍ９８』の引数Ｐによって、『７５１０』、『７５１２』、『７５１７』、『７５１１』の加工サブプログラムを呼び出している。このような加工メインプログラムと呼び出される加工サブプログラムによって加工プログラムが構成される。  
一方、図２（ａ）に示す加工メインプログラムは他の加工プログラムから呼び出されることはないので、他の加工プログラムからこのような加工サブプログラム呼出コード『Ｍ９８』で呼び出されることはない。又、加工サブプログラム自体が加工サブプログラム呼出コード『Ｍ９８』によって他の加工サブプログラムを呼び出すことはある。
【００２５】
また、加工メインプログラムと加工サブプログラムでは、一般に終了コードが異なる。図２（ａ）に示す加工メインプログラムの例を見ると、プログラム終了コード『Ｍ３０』が存在するが、これは、ここで機械の運転が終了するという意味をもっている。一方、図２（ｂ）に示す加工サブプログラムでは、サブプログラムの終了コード『Ｍ９９』で終わっている。サブプログラムの終了コード『Ｍ９９』は、機械の運転を止めることなく、呼び出しコードによって呼び出したプログラム位置に戻るという意味である。
【００２６】
したがって、通常は、加工プログラム記憶装置内の全加工プログラムの指令コードに検索を掛け、このような違いを見出すことによって、加工メインプログラムと加工サブプログラムを区別し、抽出することができる。
【００２７】
加工メインプログラムと加工サブプログラムを区別する方法として、プログラム終了コード『Ｍ３０』があるプログラムは加工メインプログラムであり、加工サブプログラムの終了コードは『Ｍ９９』があるものは加工サブプログラムであることから、加工メインプログラムを抽出するには、プログラム終了コード『Ｍ３０』を有するプログラムを抽出すればよいことになる。又は、加工サブプログラムの終了コード『Ｍ９９』を有しないプログラムを抽出すれば加工メインプログラムを抽出することになる。
【００２８】
ただし、プログラム終了コード『Ｍ３０』は、サブプログラム内に設けられることがあり、プログラム終了コード『Ｍ３０』で加工メインプログラムを抽出した場合、加工サブプログラムを誤って加工メインプログラムとして抽出する場合がある。そのため、プログラム終了コード『Ｍ３０』がある加工プログラムを加工メインプログラムとして抽出する場合、加工メインプログラム抽出の精度が落ちるが、加工サブプログラム中にプログラム終了コード『Ｍ３０』が設けられる加工プログラムは、少なく希であることから、加工メインプログラム一覧表示させて選択する場合、格別障害とはならない。
【００２９】
さらに、より正確に加工メインプログラムを抽出するには、加工メインプログラムは他の加工プログラムから呼び出されることはないものであることから、加工サブプログラム呼出コード『Ｍ９８』によって呼び出されていないプログラムを加工メインプログラムとして抽出すればよい。
【００３０】
しかしながら最近は、使い勝手をよくするために加工プログラムに関連した設定項目を設け、その設定にしたがって、例えば、加工メインプログラムを加工サブプログラムとして扱うことができるようになっている。一例をあげると、加工サブプログラム呼出コード『Ｍ９８』で呼び出されたプログラム呼出中に『Ｍ３０（プログラム終了）』があっても、設定によって『Ｍ９９（加工サブプログラム終了）』とみなす場合がある。
【００３１】
１つの加工形状を加工する加工プログラム(加工メインプログラム)と、この加工形状と同じ加工形状を複数加工する場合、先の加工プログラムをサブプログラムとして呼び出して加工させるような加工メインプログラムを作る場合がある。  
例えば、ワイヤカット放電加工機の制御装置において、図３（ａ）に示すような四角い形状の穴をあけるワイヤカット加工する場合、図４に示すような加工プログラムとなる。図４に示すプログラムは、図３（ａ）に示す形状を加工するものであり、このプログラム自体で完結し、加工メインプログラムを構成している。
【００３２】
一方、図３（ｂ）に示すように、図３（ａ）に示すような四角い形状の穴を３個あけるような場合、図４に示したプログラムを３回呼び出して加工するような図５に示すようなプログラムで構成することができれば、プログラム作成が容易である。なお、図５において、『Ｍ６０』は、ワイヤの切断動作指令であり、『Ｍ５０』は、ワイヤの自動結線指令である。しかし、『Ｍ９８』で図４に示すプログラム「Ｏ１００」を読み出しても、その末尾が『Ｍ３０』であることから、図５に示す加工メインプログラム「Ｏ２００」に戻ることができず、最後まで加工ができない。そのため、読み出したプログラム中のプログラム終了コード『Ｍ３０』を加工サブプログラムの終了コード『Ｍ９９』とみなす設定項目を設けておき、この項目を「ＯＮ」とすることによって、『Ｍ９８』で読み出したプログラム中の『Ｍ３０』を『Ｍ９９』の指令として処理するようにする。その結果、設定が「ＯＮ」とされているとき、『Ｍ９８』の指令で読み出された図４に示すようなプログラムは、図６に示すようなプログラムと同様に処理され、図５のプログラムは、最後まで実行され、３個の穴加工ができるものとなる。
【００３３】
このように、設定項目を「ＯＮ」とすることによって、『Ｍ９８』で『Ｍ３０』を有する加工メインプログラムを呼び出し、該プログラム中の『Ｍ３０』を『Ｍ９９』として扱い、サブプログラムとして扱うようにしたとき、加工メインプログラムを『Ｍ９８』で呼び出されないプログラムを加工メインプログラムとして抽出するようにすれば、図３（ａ）に示した穴加工を行う図４に示す加工メインプログラムは、加工メインプログラムとして抽出されないことになる。
【００３４】
そこで、本発明は、加工サブプログラム呼出コード『Ｍ９８』によって呼び出されていないプログラムを加工メインプログラムとして抽出するとき、さらに、設定項目を「ＯＮ」で、『Ｍ９８』で読み出すプログラム中の『Ｍ３０』を『Ｍ９９』として扱うように指令したときは、『Ｍ９８』で読み出される『Ｍ３０』を有するプログラムは加工メインプログラムとするようにして、確実に加工メインプログラムを抽出するようにしている。
【００３５】
図７は、本発明の第１の実施形態における加工プログラム表示処理のアルゴリズムを示すフローチャートである。この第１の実施形態は、プログラム中の指令コードによって加工メインプログラムを抽出するようにしたものであり、プログラム中にプログラム終了コード『Ｍ３０』があるプログラムを加工メインプログラムとして抽出する。又は、プログラム中に加工サブプログラム終了コード『Ｍ９９』がないプログラムを加工メインプログラムとして抽出するようにした場合の実施形態である。
【００３６】
作業者は、記憶しているプログラムリストを表示される記憶手段を指定し、又、全加工プログラムのリスト表示か、加工メインプログラムだけのリスト表示かを選択して、プログラム一覧表示指令を機械操作盤１５から入力指令する。例えば、制御装置１０のメモリ１２に格納されている加工プログラムを対象としても、インタフェース１３に接続されている外部記憶手段２１に格納されている加工プログラムを対象にしても、さらには、制御装置内外の記憶手段１２、２１に格納されている加工プログラムを対象としてもよく、いずれかの加工プログラムを記憶する記憶手段を選択指定する。この指定された記憶手段を加工プログラム記憶手段という。さらに、全加工プログラムリストを一覧表示させるのか、加工メインプログラムを表示させるのか、プログラム表示指令を入力する。
【００３７】
プロセッサ１１は、この表示指令が入力されると、加工メインプログラムの抽出表示指令か否か判断し（ステップａ１）、加工メインプログラムの抽出表示指令でなければ、設定されている加工プログラム記憶手段（メモリ１２、外部記憶手段２１のいずれか、又は両方）に記憶する加工プログラムのリストを表示器１４の表示画面に一覧表示し（ステップａ１０）、この表示処理は終了する。
【００３８】
この一覧表示情報は、加工プログラムの加工内容が理解できるような情報とする。例えば、プログラム番号、注釈、登録日、更新日、キャラクタ数等のデータで構成され、これらを表形式で表示するようにする。  
最近の加工プログラムでは、図２に示すように、加工メインプログラムと該加工メインプログラムから呼び出される多数の加工サブプログラムで構成されるものが多いことから、この全加工プログラムのリストの表示も長くなり、数ページに亘って、表示器１４の表示画面に表示される。
【００３９】
一方、加工メインプログラムの抽出表示指令のときには、指定されている加工プログラム記憶手段（メモリ１２、外部記憶手段２１のいずれか、又は両方）内の全加工プログラムを未解析状態にセットする（ステップａ２）。次に、この加工プログラム記憶手段内をサーチし（ステップａ３）、未解析の加工プログラムが存在するか判断する（ステップａ４）。存在すれば、その加工プログラムを解析し、加工メインプログラムか否か判別する（ステップａ５、ａ６）。この加工メインプログラムか否かの判別は、プログラム終了コード『Ｍ３０』があるか否かによって抽出するときは、当該加工プログラムにこのコード『Ｍ３０』があるとき、該加工プログラムを加工メインプログラムとして抽出する（ステップａ７）。又、加工サブプログラム終了コード『Ｍ９９』によって判別するときは、このコード『Ｍ９９』が当該加工プログラムにないときは、この加工プログラムをメイン加工プログラムとして抽出する（ステップａ７）。
【００４０】
次に、解析した加工プログラムを解析済みとし（ステップａ８）、ステップａ３に移行し、前述したステップａ３以降の処理を繰り返し実行し、加工メインプログラムを抽出する。そして、ステップａ４で、未解析加工プログラムの存在がないと判断されたときは、抽出した加工メインプログラムのリストを表示器１４の画面に一覧表示する（ステップａ９）。この一覧表示データは、ステップａ１０で一覧表示する情報と同じであり、加工プログラムの加工内容が理解できるような情報とする。例えば、加工メインプログラムのプログラム番号、注釈、登録日、更新日、キャラクタ数等のデータで構成され、これらを表形式で表示するようにする。
【００４１】
加工プログラムは加工メインプログラムと加工サブプログラムで構成され、図２（ａ）に示すように、１つの加工メインプログラムで複数の加工サブプログラムを読み出すことが多いことから、加工サブプログラムの数は多いが、加工メインプログラムは全体のプログラム数と比べ少ない。従って、ステップａ９で一覧表示される加工メインプログラムの数は、ステップａ１０で表示される全加工プログラムの数より格段と少なくなり、この加工メインプログラムのリストは短いものとなる。例えば、１頁又は少ない頁数での表示となり、目標とする加工メインプログラムの選択が容易となる。
【００４２】
図８は、本発明の第２の実施形態における加工プログラム表示処理のアルゴリズムを示すフローチャートである。この第２の実施形態は加工サブプログラム呼出コード『Ｍ９８』で呼び出されていない加工プログラムを加工メインプログラムとして抽出するものである。
この第２の実施形態も、加工プログラム記憶手段として、制御装置１０のメモリ１２、又は、インタフェース１３に接続されている外部記憶手段２１、又は両者を指定し、全加工プログラムの表示か、加工メインプログラムだけの表示かを選択して、プログラムリスト表示指令を機械操作盤１５から入力指令する。
【００４３】
プロセッサ１１は、この表示指令が入力されると、加工メインプログラムの抽出表示指令か否か判断し（ステップｂ１）、加工メインプログラムの抽出表示指令でなければ、設定されている加工プログラム記憶手段（メモリ１２、外部記憶手段２１のいずれか、又は両方）に記憶する加工プログラムのリストを表示器１４の表示画面に一覧表示し（ステップｂ１２）、この表示処理は終了する。この点は第１の実施形態と同じである。
【００４４】
加工メインプログラムの抽出表示指令のときには、指定されている加工プログラム記憶手段（メモリ１２、外部記憶手段２１のいずれか、又は両方）内の全加工プログラムを未解析状態にセットすると共に、プログラムリスト用メモリ部、呼び出しプログラムリスト用メモリ部をクリアする（ステップｂ２）。次にこの加工プログラム記憶手段内をサーチし（ステップｂ３）、未解析の加工プログラムが加工プログラム記憶手段に存在するか判断し（ステップｂ４）、存在すれば、当該加工プログラムのプログラム番号をプログラムリスト用メモリ部のプログラムリストに付加して記憶し（ステップｂ５）、該加工プログラムを解析して加工サブプログラム呼出コード『Ｍ９８』があれば、該コード『Ｍ９８』で呼び出されるプログラム番号を呼び出しプログラムリスト用メモリ部の呼び出しプログラムリストに付加して記憶する（ステップｂ６）。そして、この解析した加工プログラムを解析済とし（ステップｂ７）、ステップｂ３に戻る。以下ステップｂ３〜ステップｂ７の処理を繰り返し実行し、プログラムリスト及び呼び出しプログラムリストを作成する。
【００４５】
加工プログラム記憶手段に未解析の加工プログラムがなくなると、プログラムリスト用メモリ部に記憶するプログラム番号から、呼び出しプログラムリスト用メモリ部に記憶するプログラム番号を削除し、呼び出されない加工プログラムだけを残し、このプログラムリスト用メモリ部に記憶するプログラム番号を加工メインプログラムリストとする（ステップｂ８）。
【００４６】
次に、コード『Ｍ９８』で読み出すプログラム中の『Ｍ３０』を『Ｍ９９』として扱うように指令する設定項目が「ＯＮ」か判断し（ステップｂ９）、「ＯＮ」でなければ、ステップｂ８で求めた加工メインプログラムリストを表示器１４の画面に一覧表示する（ステップｂ１１）。設定項目が「ＯＮ」と設定されていると、呼び出しプログラムリストのプログラム番号のプログラムに『Ｍ３０』があるか解析し、『Ｍ３０』が有れば、そのプログラム番号を加工メインプログラムとして、ステップｂ８で作成された加工メインプログラムリストに追加する（ステップｂ１０）。その後、この加工メインプログラムリストを表示器１４の画面に一覧表示する。
【００４７】
なお、作業現場において、不要になった加工プログラムを加工プログラム記憶手段より削除する場合、加工メインプログラムは、認識が容易であることから、その削除は容易に行われるが、加工サブプログラムは加工メインプログラムで呼び出されるものであるから、見落としがちである。又、削除しようとする加工プログラム以外の加工プログラムで呼び出されて使用されることがあるので、サブプログラムの削除は、難しい面がある。そのため、加工メインプログラムを削除しても、加工サブプログラムが削除されずに、加工プログラム記憶手段に残る場合がある。この場合、この加工サブプログラムは、他のプログラムによって呼び出されないものであるから、加工メインプログラムとして抽出されるという不具合が生じる場合がある。この問題をなくす方法として、図８のステップｂ８で求めた加工メインプログラム中に、加工サブプログラムの終了コード『Ｍ９９』を含む加工メインプログラムがないか解析し、コード『Ｍ９９』を含む加工メインプログラムを削除する処理を付加し、削除残しの加工サブプログラムがメインプログラムリストに混ざり合うことを防止し、より正確な加工メインプログラムリストを作成するようにしてもよいものである。なお、このとき検出した削除残しの加工サブプログラムの番号を表示器１４に表示して、削除を促し、加工プログラム記憶手段の記憶可能容量を増大させるようにしてもよいものである。
【００４８】
上述した各実施形態では、加工メインプログラムの一覧表示をさせるときは、その都度、図７又は図８の処理を行って、加工プログラム記憶手段に記憶された加工プログラムを解析して、加工メインプログラムを抽出し、その抽出した加工メインプログラムリストを一覧表示するようにした。しかし、加工メインプログラムリストを一度作成したならば、この加工メインプログラムリストを記憶しておき、表示指令が入力された時には、この記憶した加工メインプログラムリストを表示するようにすればよい。
【００４９】
そして、この加工プログラム記憶手段に新たな加工プログラムが追加されたときや不要な加工プログラムが削除されたとき、または加工プログラムの更新処理がなされたとき、この加工プログラム格納終了、又は加工プログラム更新処理終了と共に自動的に図７のステップａ２〜ａ８の処理、又は図８のステップｂ２〜ｂ１０の処理を実行して、加工メインプログラムリストを作成更新し、記憶しておけばよい。又、この加工メインプログラムリストを作成更新するときに、同時に図７のステップａ１０、図８のステップｂ１２で表示する全加工プログラムリストも作成更新して記憶しておき、以後は、この記憶した全加工プログラムリストを表示するようにすればよい。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態の工作機械を制御する制御装置の概要図である。
【図２】加工メインプログラム例と加工サブプログラム例の説明図である。
【図３】ワイヤカット放電加工機による加工例の説明図である。
【図４】図３（ａ）に示す加工例の加工プログラムの例である。
【図５】図３（ｂ）に示す加工例の加工プログラムの例である。
【図６】図５に示す加工プログラムを有効に作動させるための設定項目を「ＯＮ」としたときの仮想プログラムの例である。
【図７】本発明の第１の実施形態におけるプログラムリストの一覧表示処理のアルゴリズムを示すフローチャートである。
【図８】本発明の第２の実施形態におけるプログラムリストの一覧表示処理のアルゴリズムを示すフローチャートである。
【符号の説明】
【００５１】
１０  制御装置
【図１】
2008097103.tif 000003
【図２】
2008097103.tif 000004
【図３】
2008097103.tif 000005
【図４】
2008097103.tif 000006
【図５】
2008097103.tif 000007
【図６】
2008097103.tif 000008
【図７】
2008097103.tif 000009
【図８】
2008097103.tif 000010