(57)【要約】【課題】プログラム命令の入力操作の負荷を軽減したＮＣプログラム編集装置、ＮＣプログラム編集プログラム、及びこれを記録した記録媒体を提供する。【解決手段】入力文字によって全プログラム命令の中から候補となるプログラム命令に絞込を行い（Ｓ１０１）、さらに、工具情報記憶エリアを参照して使用中の工具がある場合には（Ｓ１０２：ＹＥＳ）、その工具を使用するプログラム命令に絞り込む（Ｓ１０３：ＹＥＳ、Ｓ１０４）。また、開始指令記憶エリアを参照して開始指令が記憶されていれば（Ｓ１０５：ＹＥＳ）、対応する終了指令に絞り込む（Ｓ１０６：ＹＥＳ、Ｓ１０７）。また、複数の候補がある場合には優先順位に従って並び替え（Ｓ１０８）、上位の４個を入力候補に確定する（Ｓ１０９）。【選択図】図７
2009110273.tif 000002
【特許請求の範囲】
【請求項１】
文字を入力する入力手段と、当該入力手段により入力された文字を表示する表示手段とを備えたＮＣプログラム編集装置において、
実行可能なプログラム命令を記憶した記憶手段と、
前記入力手段により入力された文字に基づいて、前記記憶手段に記憶されたプログラム命令の中から所定のプログラム命令を抽出する抽出手段と、
前記抽出手段による抽出結果を入力候補として前記表示手段に表示させる表示制御手段と、
前記表示手段に表示された入力候補の中から一の候補を選択する選択手段とを備えたことを特徴とするＮＣプログラム編集装置。
【請求項２】
前記選択手段により選択された選択候補が工具に関する情報を含む場合に、当該工具に関する情報である工具情報を記憶する工具情報記憶手段と、
前記工具情報記憶手段に記憶された工具情報に基づき、前記抽出結果を絞り込む第一絞込手段とを備え、
前記表示制御手段は、前記第一絞込手段により絞り込まれた前記抽出結果を入力候補として表示させることを特徴とする請求項１に記載のＮＣプログラム編集装置。
【請求項３】
所定の動作の開始指令と終了指令とからなる一対のプログラム命令を対応づけて記憶した対応記憶手段と、
前記選択手段により選択された選択候補が前記対応記憶手段に記憶されたプログラム命令の開始指令である場合に、当該開始指令を記憶する開始指令記憶手段と、
前記開始指令記憶手段に記憶された開始指令に対応する終了指令が前記抽出結果に含まれている場合に、当該抽出結果を前記終了指令に絞り込む第二絞込手段とを備え、
前記表示制御手段は、前記第二絞込手段により絞り込まれた前記抽出結果を入力候補として表示させることを特徴とする請求項１又は２に記載のＮＣプログラム編集装置。
【請求項４】
前記記憶手段に記憶されたプログラム命令の優先順位を記憶した優先順位記憶手段と、
前記優先順位記憶手段に記憶された優先順位に従って、前記抽出結果を絞り込む第三絞込手段とを備え、
前記入力候補決定手段は、前記第三絞込手段により絞り込まれた前記抽出結果を表示させることを特徴とする請求項１乃至３のいずれかに記載のＮＣプログラム編集装置。
【請求項５】
前記選択手段による選択の際に、前記選択候補の選択回数を累積して計数する計数手段を備え、
前記優先順位は、前記計数手段により計数された値に基づくものであることを特徴とする請求項４に記載のＮＣプログラム編集装置。
【請求項６】
請求項１乃至５のいずれかに記載のＮＣプログラム編集装置の各種処理手段としてコンピュータを機能させるためのＮＣプログラム編集プログラム。
【請求項７】
請求項６に記載のＮＣプログラム編集プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＣプログラム編集装置、ＮＣプログラム編集プログラム及びＮＣプログラム編集プログラムを記録したコンピュータ読取可能な記録媒体に関するものである。
【背景技術】
【０００２】
一般に、工作機械を数値制御（ＮＣ）プログラムに従って動作させる場合、プログラムは英数字の組合せによるプログラム命令により指定される。このようなプログラム命令を入力・編集する場合、操作者が表示画面を見ながら直接キー入力を行う。プログラム命令を入力・編集するためには、プログラム命令の文法を知って、加工したい作業の内容をプログラム命令で表現しつつ入力を行う必要がある。さらに、１つ１つの英数字をキー入力するのが煩雑であり、１行ごとにプログラムを表示画面で確認するにも時間がかかっていた。そこで、入力・編集作業を効率よく行うために、プログラム命令を動作ブロックと必要データに分け、対話形式で動作ブロックとそのパラメータを入力するＮＣプログラム編集装置が提案されている(例えば、特許文献１参照)。
【特許文献１】特開平５−８８７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来のＮＣプログラム編集装置では、対話形式で入力が可能であるためにプログラム命令の文法に慣れていない操作者でも容易に入力ができるものの、目的とするプログラム命令にたどりつくまでに時間がかかり、ある程度慣れた操作者にとってはかえって煩わしく感じられるという問題があった。
【０００４】
本発明は上記問題を解決するためになされたものであり、プログラム命令の入力操作の負荷を軽減したＮＣプログラム編集装置、ＮＣプログラム編集プログラム、及びこれを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の請求項１に記載のＮＣプログラム編集装置は、文字を入力する入力手段と、当該入力手段により入力された文字を表示する表示手段とを備えたＮＣプログラム編集装置において、実行可能なプログラム命令を記憶した記憶手段と、前記入力手段により入力された文字に基づいて、前記記憶手段に記憶されたプログラム命令の中から所定のプログラム命令を抽出する抽出手段と、前記抽出手段による抽出結果を入力候補として前記表示手段に表示させる表示制御手段と、前記表示手段に表示された入力候補の中から一の候補を選択する選択手段とを備えたことを特徴とする。
【０００６】
また、本発明の請求項２に記載のＮＣプログラム編集装置は、請求項１に記載の発明の構成に加え、前記選択手段により選択された選択候補が工具に関する情報を含む場合に、当該工具に関する情報である工具情報を記憶する工具情報記憶手段と、前記工具情報記憶手段に記憶された工具情報に基づき、前記抽出結果を絞り込む第一絞込手段とを備え、前記表示制御手段は、前記第一絞込手段により絞り込まれた前記抽出結果を入力候補として表示させることを特徴とする。
【０００７】
また、本発明の請求項３に記載のＮＣプログラム編集装置は、請求項１又は２に記載の発明の構成に加え、所定の動作の開始指令と終了指令とからなる一対のプログラム命令を対応づけて記憶した対応記憶手段と、前記選択手段により選択された選択候補が前記対応記憶手段に記憶されたプログラム命令の開始指令である場合に、当該開始指令を記憶する開始指令記憶手段と、前記開始指令記憶手段に記憶された開始指令に対応する終了指令が前記抽出結果に含まれている場合に、当該抽出結果を前記終了指令に絞り込む第二絞込手段とを備え、前記表示制御手段は、前記第二絞込手段により絞り込まれた前記抽出結果を入力候補として表示させることを特徴とする。
【０００８】
また、本発明の請求項４に記載のＮＣプログラム編集装置は、請求項１乃至３のいずれかに記載の発明の構成に加え、前記記憶手段に記憶されたプログラム命令の優先順位を記憶した優先順位記憶手段と、前記優先順位記憶手段に記憶された優先順位に従って、前記抽出結果を絞り込む第三絞込手段とを備え、前記入力候補決定手段は、前記第三絞込手段により絞り込まれた前記抽出結果を表示させることを特徴とする。
【０００９】
また、本発明の請求項５に記載のＮＣプログラム編集装置は、請求項４に記載の発明の構成に加え、前記選択手段による選択の際に、前記選択候補の選択回数を累積して計数する計数手段を備え、前記優先順位は、前記計数手段により計数された値に基づくものであることを特徴とする。
【００１０】
また、本発明の請求項６に記載のＮＣプログラム編集プログラムは、請求項１乃至５のいずれかに記載のＮＣプログラム編集装置の各種処理手段としてコンピュータを機能させる。
【００１１】
また、本発明の請求項７に記載の記録媒体は、請求項６に記載の発明のＮＣプログラム編集プログラムを記録している。
【発明の効果】
【００１２】
本発明の請求項１に記載のＮＣプログラム編集装置は、記憶されているプログラム命令の中から、入力手段により入力された文字に従って、その文字で開始されるプログラム命令等、次に入力される可能性のある候補を抽出し、表示手段に表示させて選択可能とする。従って、入力したいプログラム命令の全ての文字を直接入力手段から入力しなくてもよいため、入力・編集の効率を高めることができる。
【００１３】
また、本発明の請求項２に記載のＮＣプログラム編集装置は、請求項１に記載の発明の効果に加え、以前に確定されたプログラム命令が工具の情報を含む場合には、これを記憶しておき、その工具情報を参照して、その工具を用いたプログラム命令などに絞り込むので、精度の高い抽出を行うことができ、限られた表示領域でも所望のプログラム命令が入力候補として表示される可能性が高くなる。
【００１４】
また、本発明の請求項３に記載のＮＣプログラム編集装置は、請求項１又は２に記載の発明の効果に加え、継続して実行される動作の開始指令と終了指令とを対応づけて記憶しておき、開始指令が選択されたときには、それを記憶しておき、その情報を参照して、次には終了指令が来ると予測して絞り込むので、精度の高い抽出を行うことができ、限られた表示領域でも所望のプログラム命令が入力候補として表示される可能性が高くなる。
【００１５】
また、本発明の請求項４に記載のＮＣプログラム編集装置は、請求項１乃至３のいずれかに記載の発明の効果に加え、優先順位に従ってその上位の候補に抽出結果を絞り込むので、候補数が多いときにも精度の高い表示を行うことができる。
【００１６】
また、本発明の請求項５に記載のＮＣプログラム編集装置は、請求項４に記載の発明の効果に加え、プログラムの選択頻度を優先順位に反映させるようにしたので、一連のプログラムで実行させたい加工の種類によって頻出するプログラム命令が変動する場合に、精度の高い絞込を行うことができる。
【００１７】
また、本発明の請求項６に記載のＮＣプログラム編集プログラムは、コンピュータに実行させることにより、請求項１乃至５のいずれかに記載のＮＣプログラム編集装置の作用効果を奏することができる。
【００１８】
また、本発明の請求項７に記載の記録媒体は、コンピュータに読み取らせ、実行させることにより、請求項１乃至５のいずれかに記載のＮＣプログラム編集装置の作用効果を奏することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面を参照して説明する。本実施形態のＮＣプログラム編集装置１は、工作機械等の加工を自動で行うための命令である数値制御（ＮＣ）プログラムを入力・編集するためのものである。まず、図１〜図５を参照してＮＣプログラム編集装置１の構成について説明する。図１は、ＮＣプログラム編集装置１の電気的構成を示すブロック図である。図２は、プログラム命令１００の例を示す説明図である。図３は、ＲＡＭ１２の入力候補記憶エリア１２５の構成を示す模式図である。図４は、ＲＡＭ１２の選択回数記憶エリア１２４の構成を示す模式図である。図５は、ディスプレイ２４に表示されたプログラム命令の編集画面の例を示す説明図である。
【００２０】
図１に示すように、ＮＣプログラム編集装置１には、自身の制御を行うＣＰＵ１０が設けられている。ＣＰＵ１０は、ＮＣプログラム編集装置１の全体の制御の中心となるプロセッサであり、バス１６を介して、ＲＯＭ１１，ＲＡＭ１２，不揮発メモリ１３，入出力インタフェイス１４に接続されている。ＲＯＭ１１には、ＮＣプログラム編集装置１の制御を行う制御プログラムやＮＣプログラム編集プログラムが記憶されている。これらのプログラムは実行時にはＲＯＭ１１から読み出され、ＲＡＭ１２の所定の記憶エリア（図示外）にロードされ、ＣＰＵ１０がＲＡＭ１２から読み出して実行する。
【００２１】
入出力インタフェイス１４には、入力手段であるキーボード２１及び表示手段であるディスプレイ２４が接続されている。キーボード２１は、英数字や各種記号を入力することができ、これによってプログラム命令の入力・編集が行われる。ディスプレイ２４には、図５に示すように入力されたプログラム命令が表示される。
【００２２】
ＲＡＭ１２には、入力情報記憶エリア１２０，工具情報記憶エリア１２１，開始指令記憶エリア１２２，優先順位記憶エリア１２３，選択回数記憶エリア１２４,入力候補記憶エリア１２５が少なくとも設けられている。入力情報記憶エリア１２０は、キーボード２１から入力される文字列を保存しておくバッファである。ここに記憶された入力情報に基づいて入力候補の選定が行われる（後述）。工具情報記憶エリア１２１は、入力が確定したプログラム命令（図２参照）に使用すべき工具の情報が含まれている場合に、それを記憶しておくエリアである。開始指令記憶エリア１２２は、入力が確定したプログラム命令（図２参照）が、継続して実行される動作についての開始指令だった場合にその開始指令を記憶するエリアであり、終了指令だった場合には記憶内容がクリアされる。優先順位記憶エリア１２３は、プログラム命令の優先順位が記憶されるエリアである。この優先順位が入力候補を表示させるときに参照される。選択回数記憶エリア１２４は、編集開始から現在までに入力された各プログラム命令の選択回数をプログラム命令ごとに対応づけて記憶しておくエリアである（図４参照。後述）。ここで記憶された各プログラム命令の選択回数に従って、優先順位記憶エリア１２３の順位が更新される。入力候補記憶エリア１２５は、入力情報から予測した入力候補を保存しておくバッファである（図３参照。後述）。
【００２３】
不揮発メモリ１３には、プログラム命令記憶エリア１３１及び対応記憶エリア１３２が少なくとも設けられている。プログラム命令記憶エリア１３１には、ＮＣプログラム編集装置１で使用可能な全てのプログラム命令が記憶されている。入力候補の予測（後述）を行う際には、このプログラム命令記憶エリア１３１に記憶されているプログラム命令を母数として絞込を行う。尚、プログラム命令記憶エリア１３１が本発明の記憶手段に相当する。
【００２４】
また、対応記憶エリア１３２には、継続する動作の開始指令と終了指令の組合せが対応づけられて記憶される。この組合せは、例えば、「Ｍ８」（クーラント液ＯＮ）と「Ｍ９」（クーラント液ＯＦＦ）の組合せのなど、以下のようなものがある。「Ｍ２６０」：高精度モードＯＮ、「Ｍ２６９」：高精度モードＯＦＦ。「Ｍ４００」：チップシャワーＯＮ、「Ｍ４０１」：チップシャワーＯＦＦ。「Ｍ４１８」：治具シャワーＯＮ、「Ｍ４１９」：治具シャワーＯＦＦ。「Ｍ４９０」：センタースルークーラントＯＮ、「Ｍ４９５」：センタースルークーラントＯＦＦ。このような開始指令と終了指令の組合せからなり、Ｍで開始されるプログラムは、「特殊Ｍコード」と称される。この対応記憶エリア１３２を参照して、開始指令に対応する終了指令を入力候補とする処理が行われる（後述）。尚、対応記憶エリア１３２が本発明の対応記憶手段に相当する。
【００２５】
次に、図２を参照して、プログラム命令について説明する。図２に示すように、プログラム命令は、１行を１ブロックとして加工に使用する工具やテーブルの動作が定義されている。尚、図２では、ブロックごとに符号を付与している。ブロック１０１の「Ｇ９０」はアブソリュート指令であり、軸移動の終点の位置をワーク座標系の座標値で指令するモードに切り替える。ブロック１０１の「Ｇ５４」はワーク座標系選択指令であり、これ以後、あらかじめ設定した５４番の座標系にて軸移動を行う。ブロック１０２及びブロック１０５の「Ｇ１００」は、工具交換指令であり、「Ｔ１」が１番の工具の指定、「Ｔ２」が２番の工具の指定を意味する。従って、「Ｇ１００Ｔ１」で「１番の工具への交換」が、「Ｇ１００Ｔ２」で「２番の工具への交換」が指示されている。ブロック１０３の「Ｇ０」は位置決め指令であり、指定座標へ移動する。ブロック１０３の例では、Ｘ０Ｙ０の座標位置に移動される。
【００２６】
ブロック１０４の「Ｍ８」は、クーラント液の投入を開始する「クーラント液ＯＮ」指令である。この「Ｍ８」で開始されたクーラント液投入は、「Ｍ９」の「クーラント液ＯＦＦ」で終了される。このような開始指令が入力された場合には、ＲＡＭ１２の開始指令記憶エリア１２２に記憶される。また、開始指令の後、終了指令が入力された場合には、記憶内容がクリアされる。開始指令の入力後、終了指令の入力が予測できるため、ここに記憶された開始指令が入力候補を絞り込むために利用される。
【００２７】
次に、図３を参照して、入力候補記憶エリア１２５について説明する。入力候補記憶エリア１２５は、入力候補を格納するためのバッファ（配列）であり、入力候補の予測（絞込）処理が実行され、候補が確定するたびにその候補が各バッファに記憶される。本実施形態では、ディスプレイ２４の表示画面の大きさから、バッファの数を４個としているが、これに限られるものではない。図３の例では、「Ｇ００１」、「Ｇ１００」、「Ｇ０１０」、「Ｇ０１２」の４個の入力候補が確定しており、図５に示すディスプレイ２４にこの順で表示される。
【００２８】
次に、図４を参照して、選択回数記憶エリア１２４について説明する。選択回数記憶エリア１２４には、プログラム命令の編集処理が開始されてから入力されたプログラム命令が、その入力回数とともに記憶されている。例えば、図４の例では、「Ｇ９０」は１回入力されたプログラム命令である。一方、「Ｇ１００」は、２回選択されたプログラム命令である。入力候補の選択や英数字キーの入力によりプログラム命令の入力が確定すると、その確定されたプログラム命令についての選択回数が１加算されて記憶される。
【００２９】
次に、図５を参照して、ディスプレイ２４に表示された画面について説明する。図５に示すように、ディスプレイ２４の上部の画面領域には、入力されたプログラム命令が順に表示され、入力中でまだ確定していない命令の入力文字が最終行に表示される。本実施形態では、表示できるプログラム命令の数は３行分のみとなっているので、順次入力が行われると、３以上前に入力された命令は表示から見えなくなる。図５の例では、現在「Ｇ」の文字が入力されたところを示しており、直前に入力され確定された命令は「Ｍ８」、その前に入力され確定された命令は「Ｇ１００Ｔ１」となっている。また、下部の画面領域には、入力された文字から予測される入力候補が４個表示され、選択可能となっている。図５の例では、「Ｇ」が入力された時点での予測候補が表示されている。この後、文字や数字の入力に従って、候補が変更されるとその結果がまた表示されることとなる。
【００３０】
次に、以上の構成のＮＣプログラム編集装置１の動作について図６〜図８を参照して説明する。図６は、ＮＣプログラム編集処理の全体の流れを示すフローチャートである。図７は、図６で実行される入力候補予測処理のフローチャートである。図８は、入力候補予測処理の中で実行される絞込処理のフローチャートである。
【００３１】
図６に示すように、編集処理が開始されると、キー入力の発生を待つ（Ｓ１）。キー入力がない間は（Ｓ１：ＮＯ）、そのまま待機する。キー入力が発生したら（Ｓ１：ＹＥＳ）、入力されたキーが英数字キー又は削除キーかどうかを判断する（Ｓ５）。英数字キーや削除キーの場合には（Ｓ５：ＹＥＳ）、その入力内容に従って入力候補の予測を行い、ディスプレイ２４に表示する処理を実行する（Ｓ１０〜Ｓ３０）。
【００３２】
まず、入力候補記憶エリア１２５を初期化する（Ｓ１０）。そして、入力内容に応じて入力情報記憶エリアを更新する（Ｓ１５）。例えば、図５に示すように、いま「Ｇ」が入力されたとすると、入力情報記憶エリアの最初のバッファに「Ｇ」が記憶される。さらに、「Ｇ」が入力されている状態で、次の文字、例えば「１」が入力されたとすると、２番目のバッファに「１」が記憶される。逆に、「Ｇ１」となっている状態で削除キーが押されると、入力情報記憶エリア１２０の「１」が格納されていたバッファの内容は消去され、「Ｇ」のみとなる。「Ｇ」の状態で削除キーが押された場合には、入力情報記憶エリア１２０のバッファはすべて消去された状態となる。
【００３３】
次に、入力情報記憶エリア１２０に記憶されている文字数が「０」かどうかを判断する（Ｓ２０）。削除キーが押されたために、文字が全く格納されていない場合には（Ｓ２０：ＹＥＳ）、Ｓ１に戻ってキー入力の発生を待つ。文字が１つでもある場合には（Ｓ２０：ＮＯ）、その文字に基づいて入力候補の予測処理を実行する（Ｓ２５）。入力候補予測処理の詳細については図７及び図８を参照して後述する。そして、予測処理において出力された入力候補をディスプレイ２４に表示して（Ｓ３０、図５参照）、Ｓ１に戻り、再度キー入力の発生を待つ。
【００３４】
入力されたキーが英数字キーでも削除キーでもない場合には（Ｓ５：ＮＯ）、次に、それが終了キーであるかを判断する（Ｓ３５）。終了キーの場合には（Ｓ３５：ＹＥＳ）、編集処理を終了する。
【００３５】
終了キーの入力でなかった場合には（Ｓ３５：ＮＯ）、次に、候補選択キーの入力であったかを判断する（Ｓ４０）。候補選択キーは、図５に示す入力画面上で、下部領域に表示されている入力候補の中から１つの候補を選択して確定するためのキーである。候補選択キーでもない場合には（Ｓ４０：ＮＯ）、入力されたキーに対応したその他の処理を実行し（Ｓ４５）、Ｓ１に戻ってキー入力の発生を待つ。
【００３６】
候補選択キーの入力だった場合には（Ｓ４０：ＹＥＳ）、選択された候補のプログラム命令を入力確定してディスプレイ２４の上部領域に表示する（Ｓ５０、図５参照）。そして、確定したプログラム命令に工具情報が含まれているかどうかを判断する（Ｓ５５）。例えば、図２に示すブロック１０２やブロック１０５では、工具が指定されている。このような工具情報を含むプログラム命令であれば（Ｓ５５：ＹＥＳ）、工具情報記憶エリア１２１に記憶する（Ｓ６０）。この記憶エリアを参照して後述する入力候補予測処理における絞込が行われる。
【００３７】
工具情報が含まれていない場合には（Ｓ５５：ＮＯ）、次に、確定したプログラム命令が継続動作の開始指令かどうかを判断する（Ｓ６５）。前述したように、「特殊Ｍコード」と称されるプログラム命令の組合せは、開始指令と終了指令からなっている。このような組合せにおける開始指令である場合には（Ｓ６５：ＹＥＳ）、その開始指令を開始指令記憶エリア１２２に記憶する（Ｓ７０）。この記憶エリアを参照して後述する入力候補予測処理における絞込が行われる。
【００３８】
開始指令でなかった場合には（Ｓ６５：ＮＯ）、確定したプログラム命令が継続動作の終了指令かどうかを判断する（Ｓ７５）。終了指令であった場合には（Ｓ７５：ＹＥＳ）、開始指令記憶エリア１２２の記憶内容をクリアする（Ｓ８０）。すなわち、「特殊Ｍコード」の開始指令と終了指令の組合せが両方入力完了したので、以後の入力候補予測には用いる必要がないため、記憶内容を消去するものである。
【００３９】
終了指令でなかった場合（Ｓ７５：ＮＯ）、及び、工具情報の更新（Ｓ６０）、開始指令の記憶（Ｓ７０）もしくは開始指令記憶エリア１２２のクリア（Ｓ８０）の後、確定したプログラム命令が選択された回数を選択回数記憶エリア１２４に記憶する（Ｓ８５）。これは、そのプログラム命令に対応する選択回数に１を加算して記憶される。そして、Ｓ１に戻り、再度キー入力の発生を待つ。以上の処理を繰り返し実行し、編集処理が行われる。
【００４０】
次に、編集処理のＳ２５で実行される入力候補予測処理について、図７及び図８を参照して説明する。まず、入力情報記憶エリア１２０に格納されている入力情報を参照して、入力候補となるプログラム命令を絞り込む絞込処理を実行する（Ｓ１０１）。
【００４１】
ここで、絞込処理について、図８を参照して説明する。本実施形態では、プログラム命令のうち、「Ｇ」で開始される「Ｇコード」及び「Ｍ」で開始される「Ｍコード」の場合に入力候補予測の対象としている。そこで、絞込処理では、まず、入力情報記憶エリア１２０に格納されている先頭文字が「Ｇ」又は「Ｍ」であるかを判断する（Ｓ２００）。
【００４２】
先頭文字が「Ｇ」や「Ｍ」でなかった場合には（Ｓ２００：ＮＯ）、入力予測不能として候補を出力せず（Ｓ２０５）、そのまま入力予測処理に戻る。先頭文字が「Ｇ」又は「Ｍ」である場合（Ｓ２００：ＹＥＳ）、次に、入力情報記憶エリア１２０に格納されている文字数が「１」かどうかを判断する（Ｓ２１０）。入力文字数が「１」の場合（Ｓ２１０：ＹＥＳ）、Ｇコード又はＭコードの全てのプログラム命令が入力候補として考えられるので、先頭文字に従って、全てのＧコード又はＭコードを候補とする（Ｓ２１５）。そして入力予測処理に戻る。
【００４３】
入力文字数が「１」でない場合には（Ｓ２１０：ＮＯ）、次に、入力情報記憶エリア１２０に格納されている文字数が「２」かどうかを判断する（Ｓ２２０）。入力文字数が「２」の場合（Ｓ２２０：ＹＥＳ）、２文字目を変数Ｘに代入する（Ｓ２２５）。そして、Ｘが数字かどうかを判断し（Ｓ２３０）、数字でない場合は（Ｓ２３０：ＮＯ）、入力予測不能として候補を出力せず（Ｓ２３５）、そのまま入力予測処理に戻る。本実施形態では、Ｇコード及びＭコードは、先頭の「Ｇ」又は「Ｍ」以降の３桁は数字で構成されているため、２文字目のＸが数字でない場合、入力ミスの可能性がある。
【００４４】
２文字目Ｘが数字の場合は（Ｓ２３０：ＹＥＳ）、Ｇ又はＭの次の３桁のいずれかがＸとなるコードを入力候補とする（Ｓ２４０）。そして入力予測処理に戻る。例えば、Ｘが「１」であれば、Ｇコードの場合、「Ｇ００１」、「Ｇ０１＊」、「Ｇ１＊＊」、Ｍコードの場合、「Ｍ００１」、「Ｍ０１＊」、「Ｍ１＊＊」となる。このように、１の桁がＸの場合には、１０の位と１００の位は０とし、１０の位又は１００の位がＸの場合には、その下の桁はどんな数字でも候補とする。これによって、操作者は、前に来る「０」を入力する手間を省くことができる。
【００４５】
入力文字数が「２」でない場合（Ｓ２２０：ＮＯ）、次に、入力情報記憶エリア１２０に格納されている文字数が「３」かどうかを判断する（Ｓ２４５）。入力文字数が「３」の場合（Ｓ２４５：ＹＥＳ）、２文字目を変数Ｘに、３文字目を変数Ｙに代入する（Ｓ２５０）。そして、Ｘ及びＹが数字かどうかを判断し（Ｓ２５５）、数字でない場合は（Ｓ２５５：ＮＯ）、入力予測不能として候補を出力せず（Ｓ２８５）、そのまま入力予測処理に戻る。
【００４６】
２文字目Ｘ及び３文字目Ｙが数字の場合は（Ｓ２５５：ＹＥＳ）、Ｇ又はＭの次の３桁の下２桁又は上２桁がＸＹとなるコードを入力候補とする（Ｓ２６０）。そして入力予測処理に戻る。例えば、Ｘが「１」でＹ「２」であれば、Ｇコードの場合、「Ｇ０１２」、「Ｇ１２＊」、Ｍコードの場合、「Ｍ０１２」、「Ｍ１２＊」となる。
【００４７】
入力文字数が「３」でない場合（Ｓ２４５：ＮＯ）、次に、入力情報記憶エリア１２０に格納されている文字数が「４」かどうかを判断する（Ｓ２６５）。入力文字数が「４」の場合（Ｓ２６５：ＹＥＳ）、２文字目を変数Ｘに、３文字目を変数Ｙに、４文字目を変数Ｚに代入する（Ｓ２７０）。そして、Ｘ、Ｙ及びＺが数字かどうかを判断し（Ｓ２７５）、数字でない場合は（Ｓ２７５：ＮＯ）、入力予測不能として候補を出力せず（Ｓ２８５）、そのまま入力予測処理に戻る。
【００４８】
２文字目Ｘ、３文字目Ｙ、４文字目Ｚの全てが数字の場合は（Ｓ２７５：ＹＥＳ）、Ｇ又はＭの次の３桁がＸＹＺとなるコードを入力候補とする（Ｓ２８０）。そして入力予測処理に戻る。例えば、Ｘが「１」、Ｙが「２」、Ｚが「３」であれば、Ｇコードの場合、「Ｇ１２３」、Ｍコードの場合、「Ｍ１２３」となる。
【００４９】
以上の絞込処理が終了すると、図７の入力候補予測処理に戻り、次に、工具情報記憶エリア１２１を参照して、プログラムの今の位置で使用中の工具があるかどうかを判断する（Ｓ１０２）。例えば、図２に示すプログラムでは、ブロック１０２で工具交換が指示されている。この状態で、以降のプログラムを入力していれば（Ｓ１０２：ＹＥＳ）、交換された工具を用いたプログラム命令が入力されるのではないかという予想が可能である。そこで、絞込処理において出力された候補の中に、使用中の工具に対応するプログラム命令が存在するかどうかを判断する（Ｓ１０３）。例えば、工具情報記憶エリア１２１に記憶されている工具がタップであれば、Ｇ７７のコード（タッピングサイクル：右ネジの穴の切削加工）及びＧ７８のコード（逆タッピングサイクル：左ネジ穴の切削加工）が考えられる。
【００５０】
使用中の工具に対応するプログラム命令が候補の中にあれば（Ｓ１０３：ＹＥＳ）、その対応命令を候補として確定する（Ｓ１０４）。確定後、又は、対応するプログラム命令が存在しない場合（Ｓ１０３：ＮＯ）、及び、工具情報記憶エリア１２１に現在使用中の工具情報が記憶されていない場合には（Ｓ１０２：ＮＯ）、そのままＳ１０５に進む。
【００５１】
Ｓ１０５では、開始指令記憶エリア１２２に開始指令が記憶されているかを判断する（Ｓ１０５）。図６の編集処理において、開始指令が選択されたときにはこれを開始指令記憶エリア１２２に記憶し（Ｓ７０）、終了指令が選択されたときには開始指令記憶エリア１２２をクリアしている（Ｓ８０）。従って、これを参照することにより、現在のプログラム位置で継続動作を実行中であるかどうかがわかる。すなわち、開始指令が記憶されていれば、その動作が継続中となる。
【００５２】
開始指令が記憶されている場合には（Ｓ１０５：ＹＥＳ）、出力されている候補の中に、その開始指令に対応する終了指令が存在するかどうかを判断する（Ｓ１０６）。対応する終了指令が存在すれば（Ｓ１０６：ＹＥＳ）、その終了指令を候補として確定する（Ｓ１０７）。例えば、入力文字が「Ｍ」１文字の場合、図８の絞込処理では全てのＭコードが候補として出力されてくる（図８，Ｓ２１５）。そして、図２のブロック１０４のように、以前に「Ｍ８」が入力されているとき、開始指令記憶エリア１２２には「Ｍ８」（クーラント液ＯＮ）が記憶されている（Ｓ１０５：ＹＥＳ）。そして、「Ｍ８」に対応する終了指令は「Ｍ９」（クーラント液ＯＦＦ）であり、これはＭコードであるから絞込結果に含まれている（Ｓ１０６：ＹＥＳ）。そこで、「Ｍ９」を入力候補として確定する（Ｓ１０７）。
【００５３】
確定後、又は、開始指令が記憶されていない場合（Ｓ１０５：ＮＯ）、及び、開始指令は記憶されているが対応する終了指令が候補中に存在しない場合（Ｓ１０６：ＮＯ）には、現在の候補を優先順位記憶エリア１２３に記憶されている順位に従って並び替える（Ｓ１０８）。例えば、開始指令記憶エリア１２２に「Ｍ８」が記憶されているが、入力文字が「Ｇ」の場合には、絞込結果がＧコードのみであるから終了指令の「Ｍ９」は含まれていない（Ｓ１０６：ＮＯ）。そこで、絞込結果である全てのＧコードを優先順位順に並び替えることになる（Ｓ１０８）。
【００５４】
前述のように、優先順位記憶エリア１２３には予め定められた優先順位が記憶されており、プログラム命令選択確定の際に頻度情報が選択回数記憶エリア１２４に記憶されると、その頻度に従って書き換えられる。従って、選択回数を加味した優先順位に従って入力候補が並び替えられることとなる。例えば、図４に示す例では「Ｇ１００」が他のプログラム命令よりも頻度が高いので、優先順位が高くなり、全Ｇコードの並び替えでは１位とされる。
【００５５】
そして、並び替えた候補を、順位の高い順に４つまで入力候補として確定し、入力候補記憶エリア１２５に記憶する（Ｓ１０９）。そして、編集処理に戻り、ここで確定され記憶された入力候補がディスプレイ２４に表示される（図６，Ｓ３０）。
【００５６】
以上説明したように、本実施形態のＮＣプログラム編集装置１によれば、文字を入力したときに入力候補を予測して表示させるので、わずかな文字数の入力により所望のプログラム命令を入力することができる。特に、ＧコードやＭコードの場合、次に数字が入力されるたびに可能性のある候補が絞り込まれて表示される。さらに、工具情報や継続動作の開始指令が以前の行に存在する場合には、対応するプログラム命令に絞り込まれるので、高い精度で入力候補を出力できる。
【００５７】
尚、上記実施形態において、図６のＳ２５で入力予測処理を実行するＣＰＵ１０が本発明の抽出手段に相当する。また、図６のＳ３０で入力候補を表示させるＣＰＵ１０が本発明の表示制御手段に相当する。また、図６のＳ５０で選択された候補を確定するＣＰＵ１０が本発明の選択手段に相当する。また、図７のＳ１０２〜Ｓ１０４で工具情報を参照して入力候補を確定する処理を実行するＣＰＵが本発明の第一絞込手段に相当する。また、図７のＳ１０５〜Ｓ１０７で開始指令が記憶されている場合に入力候補を確定する処理を実行するＣＰＵ１０が本発明の第二絞込手段に相当する。また、図７のＳ１０８及びＳ１０９で優先順位に従って入力候補を並び替え、上位候補を確定するＣＰＵ１０が本発明の第三絞込手段に相当する。
【図面の簡単な説明】
【００５８】
【図１】ＮＣプログラム編集装置１の電気的構成を示すブロック図である。
【図２】プログラム命令１００の例を示す説明図である。
【図３】ＲＡＭ１２の入力候補記憶エリア１２５の構成を示す模式図である。
【図４】ＲＡＭ１２の選択回数記憶エリア１２４の構成を示す模式図である。
【図５】ディスプレイ２４に表示されたプログラム命令の編集画面の例を示す説明図である。
【図６】ＮＣプログラム編集処理の全体の流れを示すフローチャートである。
【図７】図６で実行される入力候補予測処理のフローチャートである。
【図８】入力候補予測処理の中で実行される絞込処理のフローチャートである。
【符号の説明】
【００５９】
１      プログラム編集装置
１０      ＣＰＵ
１２      ＲＡＭ
１３      不揮発メモリ
２１      キーボード
２４      ディスプレイ
１２０      入力情報記憶エリア
１２１      工具情報記憶エリア
１２２      開始指令記憶エリア
１２３      優先順位記憶エリア
１２４      選択回数記憶エリア
１２５      入力候補記憶エリア
１３１      プログラム命令記憶エリア
【図１】
2009110273.tif 000003
【図２】
2009110273.tif 000004
【図３】
2009110273.tif 000005
【図４】
2009110273.tif 000006
【図５】
2009110273.tif 000007
【図６】
2009110273.tif 000008
【図７】
2009110273.tif 000009
【図８】
2009110273.tif 000010