(57)【要約】【課題】工作機械のための数値制御プログラムに記述されたペアコマンドの相対関係を容易に確認することを課題とする。【解決手段】対で使用されるペアコマンドＡ２を一組以上含む複数のコマンドＡ１の中から選ばれるコマンドＡ１で記述され記憶部（数値制御プログラム保存領域３１）に記憶されている数値制御プログラムＰ１に記述されたペアコマンドＡ２を抽出し、前記ペアコマンドＡ２の組ＰＡ１毎に前記抽出されたペアコマンドＡ２を分けて前記数値制御プログラムＰ１に記載された順に並べて表示する。【選択図】図３
2011123667.tif 000002
【特許請求の範囲】
【請求項１】
対で使用されるペアコマンドを一組以上含む複数のコマンドの中から選ばれるコマンドで記述された数値制御プログラムを記憶した記憶部と、
該記憶されている数値制御プログラムに記述された前記ペアコマンドを抽出するペアコマンド抽出手段と、
前記ペアコマンドの組毎に前記抽出されたペアコマンドを分けて前記数値制御プログラムに記述された順に並べて表示するペアコマンド表示手段とを備えることを特徴とする数値制御プログラムのコマンド表示装置。
【請求項２】
前記ペアコマンド表示手段は、前記抽出されたペアコマンドを所定方向へ前記数値制御プログラムに記述された順とし、かつ、前記所定方向とは異なる方向へ前記ペアコマンドの組に応じた位置として並べて表示することを特徴とする請求項１に記載の数値制御プログラムのコマンド表示装置。
【請求項３】
前記ペアコマンドの組は、先に記述される開始コマンド、及び、該開始コマンドの後に記述される終了コマンドを含み、
前記ペアコマンド表示手段は、前記ペアコマンドの組毎に前記数値制御プログラムに記述された順に並べられたペアコマンドの中で前記開始コマンドの次に前記終了コマンドが配置されているときに該配置の前記開始コマンド及び前記終了コマンドを同一色で表示することを特徴とする請求項１又は請求項２に記載の数値制御プログラムのコマンド表示装置。
【請求項４】
前記ペアコマンド表示手段は、前記組毎に並べられた前記ペアコマンドの順番に基づいて前記ペアコマンドのそれぞれが前記数値制御プログラムの中で正しい位置であるか否かを判断し、正しい位置でないと判断したペアコマンドの表示箇所を他の箇所とは異なる態様で表示することを特徴とする請求項１〜請求項３のいずれか一項に記載の数値制御プログラムのコマンド表示装置。
【請求項５】
対で使用されるペアコマンドを一組以上含む複数のコマンドの中から選ばれるコマンドで記述され記憶部に記憶されている数値制御プログラムに記述された前記ペアコマンドを抽出するペアコマンド抽出機能と、
前記ペアコマンドの組毎に前記抽出されたペアコマンドを分けて前記数値制御プログラムに記述された順に並べて表示するペアコマンド表示機能とをコンピュータに実現させることを特徴とする数値制御プログラムのコマンド表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械のための数値制御プログラムのコマンド表示装置及びコマンド表示プログラムに関する。
【背景技術】
【０００２】
上記工作機械として、内部記憶装置に記憶されているＮＣ（Numerical Control；数値制御）プログラムを実行してワークを加工するＮＣ旋盤（数値制御旋盤）が知られている。特許文献１には、複数チャンネルのＮＣプログラムを同時に実行するＮＣ旋盤のためのＮＣプログラム入力装置が記載されている。このＮＣプログラム入力装置は、チャンネル毎にプログラムコードの内の設定されたプログラムコードを抽出し、該抽出したプログラムコードを各チャンネルに対応させてコード化リスト表示部としている。ここで、チャンネル間での待ち合わせ機能を持つプログラムコードは、コード化リスト表示部で同一行に表示される。従って、特許文献１のＮＣプログラム入力装置は、異なるチャンネルのＮＣプログラム同士の関係を確認し易くする装置とされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−４８３８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＮＣプログラムを記述するための複数のコマンドには、対で使用されるペアコマンドが含まれている。例えば、エアのブローオンを指令するブロー開始コマンド、及び、このエアのブロー停止を指令するブロー終了コマンドは、対で使用されるペアコマンドとなる。上述したＮＣプログラム入力装置は、ペアコマンドの表示が考慮されていないため、同一チャンネルのＮＣプログラムで指令されているペアコマンドの相対関係を確認するのが容易ではない。
【０００５】
以上を鑑み、本発明は、工作機械のための数値制御プログラムに記述されたペアコマンドの相対関係を容易に確認することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の数値制御プログラムのコマンド表示装置は、対で使用されるペアコマンドを一組以上含む複数のコマンドの中から選ばれるコマンドで記述された数値制御プログラムを記憶した記憶部と、該記憶されている数値制御プログラムに記述された前記ペアコマンドを抽出するペアコマンド抽出手段と、前記ペアコマンドの組毎に前記抽出されたペアコマンドを分けて前記数値制御プログラムに記述された順に並べて表示するペアコマンド表示手段とを備えることを特徴とする。
また、本発明の数値制御プログラムのコマンド表示プログラムは、対で使用されるペアコマンドを一組以上含む複数のコマンドの中から選ばれるコマンドで記述され記憶部に記憶されている数値制御プログラムに記述された前記ペアコマンドを抽出するペアコマンド抽出機能と、前記ペアコマンドの組毎に前記抽出されたペアコマンドを分けて前記数値制御プログラムに記述された順に並べて表示するペアコマンド表示機能とをコンピュータに実現させることを特徴とする。
【０００７】
すなわち、記憶部に記憶されている数値制御プログラムに記述されたペアコマンドが抽出され、ペアコマンドの組毎に前記抽出されたペアコマンドが分けられて数値制御プログラムに記述された順に並べられて表示される。従って、数値制御プログラムに記述されたペアコマンドの相対関係の確認が容易である。
【０００８】
ここで、ペアコマンドは、コマンドの一種であり、先に記述される開始コマンド、及び、該開始コマンドの後に記述される終了コマンドが含まれる。ペアコマンドの組は、対応する開始コマンド及び終了コマンドを総括した概念とする。
組毎にペアコマンドを分けてプログラム順に並べて表示することには、抽出されたペアコマンドを所定方向へ数値制御プログラムに記述された順とし、かつ、前記所定方向とは異なる方向へペアコマンドの組に応じた位置として並べて表示することが含まれる。
【発明の効果】
【０００９】
請求項１、請求項５に係る発明によれば、工作機械のための数値制御プログラムに記述されたペアコマンドの相対関係を容易に確認することができる。
請求項２に係る発明では、ペアコマンドの組同士の相対関係を容易に確認することができる。
請求項３に係る発明では、ペアコマンドの相対関係をさらに容易に確認することができる。
請求項４に係る発明では、数値制御プログラムに含まれる正しい位置でないペアコマンドを容易に把握することができる。
【図面の簡単な説明】
【００１０】
【図１】コマンド表示装置を有するコンピュータＰＣ１と数値制御旋盤（工作機械）２とから構成される数値制御プログラム入力システムを例示するブロック図である。
【図２】コマンド表示装置を有するコンピュータＰＣ１の構成を例示するブロック図である。
【図３】ペアコマンドチェック画面９０を例示する図である。
【図４】コンピュータＰＣ１が行うペアコマンドチェック処理を例示するフローチャートである。
【図５】（ａ）はペアコマンド設定リストＬ１の構造を模式的に例示する図、（ｂ）は数値制御プログラムＰ１の記述を例示する図、（ｃ）は一時バッファ領域３３に格納されたペアコマンドＡ２群を例示する図である。
【図６】抽出されたペアコマンドＡ２からペアコマンドリストＬ２を生成する様子を模式的に例示する図である。
【図７】コンピュータＰＣ１が行うペアコマンドエラー解析処理を例示するフローチャートである。
【図８】コンピュータＰＣ１が行う上位コマンドエラー解析処理を例示するフローチャートである。
【図９】変形例に係るチェック結果表示領域を示す図である。
【発明を実施するための形態】
【００１１】
（１）数値制御プログラム入力システムの構成：
図１に示すように、本実施形態のＮＣ（数値制御）プログラムＰ１は、コンピュータ（コマンド表示装置）ＰＣ１で作成され、ＮＣ旋盤（工作機械）２に読み込まれて実行される。ＮＣプログラムＰ１は、図５（ｂ）に例示するように複数の所定のコマンドＡ１の中から選ばれるコマンドＡ１で記述され、ＮＣ旋盤２にワークＷ１を加工させる機能を実現させる。ＮＣプログラムＰ１に記述可能な複数のコマンドＡ１には、対で使用されるペアコマンドＡ２が一組以上含まれる。このようなＮＣプログラムＰ１を実行するＮＣ旋盤２と、ＮＣプログラムＰ１を入力可能なコンピュータＰＣ１とは、ＮＣプログラム入力システムを構成する。
ＮＣ旋盤２は、ＮＣ装置５０、操作パネル６０、機械機構部７０、を備えている。
【００１２】
ＮＣ装置５０は、ＣＰＵ（Central Processing Unit）５１、ＲＯＭ（Read Only Memory）５２、ＲＡＭ（Random Access Memory）５３、操作パネル用のインターフェイス（Ｉ／Ｆ）５４、機械機構部用のＩ／Ｆ５５，５６、通信Ｉ／Ｆ５７、メモリカードスロット５８、等が互いに接続されたコンピュータとされている。ＮＣプログラムＰ１は、ＲＡＭ５３に記憶される。ＲＯＭ５２には、図示しない解釈実行プログラムが書き込まれている。ＣＰＵ５１は、この解釈実行プログラム及びＮＣプログラムＰ１に従って機械機構部７０を数値制御する。
通信Ｉ／Ｆ５７は、ＲＳ−２３２Ｃ（Recommended Standard 232 version C）やＵＳＢ（Universal Serial Bus）といったシリアル通信Ｉ／Ｆ等とされ、コンピュータＰＣ１に接続される。ＵＳＢＩ／Ｆの場合、書き換え可能な不揮発性半導体メモリを有するＵＳＢメモリをＵＳＢＩ／Ｆに装着可能である。メモリカードスロット５８は、書き換え可能な不揮発性半導体メモリを有する規格化されたメモリカードＭ１を装着可能である。
【００１３】
操作パネル６０には、例えば、オペレータから操作入力を受け付けるためのボタンやタッチパネルを有する操作部と、操作入力を受け付けた各種設定の内容やＮＣ旋盤２に関する各種情報の表示部とが設けられる。
機械機構部７０には、例えば、ワークＷ１を解放可能に把持する主軸、この主軸を回転させる主軸モータ、この主軸回転モータを駆動させる主軸アンプ、工具Ｔ１を保持する刃物台、この刃物台を移動させるサーボモータ、このサーボモータを駆動させるサーボアンプ、等が設けられる。機械機構部７０は、ＮＣプログラムＰ１のコマンドに従って工具Ｔ１によりワークＷ１を加工する。
【００１４】
コンピュータＰＣ１は、ＣＰＵ１０、不揮発性メモリ２０、ＲＡＭ３０、通信Ｉ／Ｆ４５、メモリカードスロット４８、等が互いに接続されている。コンピュータＰＣ１には、パーソナルコンピュータ等が用いられる。ＮＣプログラムＰ１は、ＲＡＭ３０、不揮発性メモリ２０、等に記憶される。通信Ｉ／Ｆ４５は、図２に示すＲＳ−２３２ＣＩ／Ｆ４６やＵＳＢＩ／Ｆ４７等とされ、規格化された信号ケーブルを介してＮＣ装置５０の通信Ｉ／Ｆ５７に接続される。ＵＳＢＩ／Ｆの場合、ＵＳＢメモリをＵＳＢＩ／Ｆに装着可能である。メモリカードスロット４８は、ＮＣ装置５０のメモリカードスロット５８に装着可能なメモリカードＭ１を装着可能である。
【００１５】
以上より、コンピュータＰＣ１に記憶されているＮＣプログラムＰ１は、例えば、通信Ｉ／Ｆ４５から通信Ｉ／Ｆ５７へ送信されてＮＣ装置５０に読み込まれる。むろん、コンピュータＰＣ１に記憶されているＮＣプログラムＰ１は、コンピュータＰＣ１のＵＳＢＩ／ＦからＵＳＢメモリに書き込まれた後、ＮＣ装置５０のＵＳＢＩ／ＦにＵＳＢメモリが装着されてＵＳＢメモリからＮＣ装置５０に読み込まれてもよい。また、ＮＣプログラムＰ１は、メモリカードスロット４８からメモリカードＭ１に書き込まれた後、メモリカードスロット５８にメモリカードＭ１が装着されてメモリカードＭ１からＮＣ装置５０に読み込まれてもよい。
【００１６】
（２）数値制御プログラムのコマンド表示装置の構成：
ＮＣプログラムＰ１は、図５（ｂ）に例示するように、多数のコマンドＡ１が記述された長大なものになることが多い。一方、ＮＣプログラムＰ１に記述されるコマンドＡ１の中には、対で使用されるペアコマンドＡ２が含まれる。ペアコマンドＡ２には、図５（ａ）に例示されるように、先に記述される開始コマンドＡ３、及び、開始コマンドＡ３の後に記述される終了コマンドＡ４が含まれる。ＮＣプログラムＰ１において開始コマンドＡ３を記述した後に終了コマンドＡ４を記述し忘れていないか、ペアコマンドＡ２が正しい場所に記述されているか、等の確認は、重要である。コンピュータＰＣ１に実現される本実施形態のコマンド表示装置は、ＮＣプログラムＰ１に記述されたペアコマンドＡ２の相対関係の確認を容易にするため、図２に示す構成を有し、図４に示すペアコマンドチェック処理を行う。
【００１７】
図２に示すように、コンピュータＰＣ１のＣＰＵ１０は、不揮発性メモリ２０、ＲＡＭ３０、入力装置用のＩ／Ｆ４１、表示装置用のＩ／Ｆ４３、ＲＳ２３２ＣＩ／Ｆ４６、ＵＳＢＩ／Ｆ４７、メモリカードスロット４８、等に対してデータを入出力可能とされている。ＣＰＵ１０は、不揮発性メモリ２０に格納されているプログラムに従ってコンピュータＰＣ１全体を制御する。
【００１８】
不揮発性メモリ２０は、ＲＯＭやハードディスク等とされ、ＮＣプログラムのコマンド表示プログラムＰ２等を記憶している。本実施形態のコマンド表示プログラムＰ２は、コマンド検索モジュール２１、コマンドリスト構築モジュール２２、コマンドエラー解析モジュール２３、を備え、ＲＡＭ３０に読み出されて実行される。コマンド検索モジュール２１は、ペアコマンド抽出手段Ｕ１に対応したペアコマンド抽出機能をコンピュータＰＣ１に実現させる。コマンドリスト構築モジュール２２及びコマンドエラー解析モジュール２３は、ペアコマンド表示手段Ｕ２に対応したペアコマンド表示機能をコンピュータＰＣ１に実現させる。
【００１９】
ＲＡＭ３０には、ＮＣプログラム保存領域（記憶部）３１、ペアコマンド設定保存領域３２、コマンド検索用の一時バッファ領域３３、コマンド検索用パラメータ３４、コマンドリスト構築用パラメータ３５、コマンドエラー解析用パラメータ３６、ペアコマンドリスト格納領域３７、等が設けられている。ＮＣプログラム保存領域３１には、図５（ｂ）に例示するＮＣプログラムＰ１が格納される。ペアコマンド設定保存領域３２には、図５（ａ）に例示されるペアコマンド設定リストＬ１が格納される。一時バッファ領域３３には、図５（ｃ）に例示されるように、ＮＣプログラムＰ１から抽出されたペアコマンドＡ２が格納される。ペアコマンドリスト格納領域３７には、図６に例示されるペアコマンドリストＬ２が格納される。
【００２０】
入力装置４２は、キーボードやマウス（ポインティングデバイス）等の操作入力デバイスとされ、Ｉ／Ｆ４１に接続されている。表示装置４４は、ディスプレイ等の出力デバイスとされ、Ｉ／Ｆ４３に接続されている。
【００２１】
コンピュータＰＣ１は、ＮＣプログラムのコマンド表示プログラムＰ２を起動させる所定の操作入力を入力装置４２から受け付けると、図３に例示するペアコマンドチェック画面９０を表示装置４４に表示する。このペアコマンドチェック画面９０は、ＮＣプログラム編集用のエディタとは異なるダイアログであり、この意味でＮＣプログラム編集用のエディタと一緒に表示装置４４に表示可能である。ペアコマンドチェック画面９０は、上段にペアコマンドＡ２の設定領域９１が設けられ、下段にチェック結果表示領域９４が設けられている。コンピュータＰＣ１は、図５（ａ）に示すペアコマンド設定リストＬ１をペアコマンド設定保存領域３２から参照し、このペアコマンド設定リストＬ１に対応したペアコマンド表示領域９３を有する設定領域９１を表示する。初期段階では、チェック結果表示領域９４のペアコマンドリスト表示領域９６が例えば空白（背景色）とされる。
【００２２】
設定領域９１には、複数の操作ボタン９２、ペアコマンド表示領域９３、設定名称入力領域９７等が設けられている。リスト追加ボタンは、新しい設定リストを追加するための操作ボタンである。リスト削除ボタンは、表示されている設定リストを削除するためのボタンである。追加ボタンは、新しいペアコマンドＡ２を追加するための操作ボタンである。上位コマンドボタンは、上位コマンドＮｏ．（上位コマンド番号）を設定するための操作ボタンである。この上位コマンドＮｏ．が設定された場合、上位コマンドＮｏ．を設定した開始コマンド及び終了コマンドの組合せが上位コマンドＮｏ．の開始コマンドと終了コマンドとの間に指令されていないときにエラーとなる。削除ボタンは、選択されたペアコマンドＡ２を削除するための操作ボタンである。設定名称入力領域９７は、任意の文字列を入力することが可能である。設定リストの組み合わせは入力された名称毎に不揮発性メモリ２０に保存される。
ペアコマンド表示領域９３では、開始コマンドＡ３がＯＮコマンド、終了コマンドＡ４がＯＦＦコマンドと表示され、Ｍ６，Ｍ１０，Ｍ１４，Ｍ６６，Ｍ６８がＯＮコマンド、Ｍ７，Ｍ１１，Ｍ１５，Ｍ６７，Ｍ６９がＯＦＦコマンドとして設定されていることが示されている。ここで、ペアコマンドＡ２の組ＰＡ１は、開始コマンドＡ３及び終了コマンドＡ４を含む概念とする。また、ペアコマンドＭ６８，Ｍ６９には、上位のペアコマンドとして番号３のペアコマンドＭ１４，Ｍ１５が設定されていることが示されている。
【００２３】
ペアコマンドＡ２は、対で使用されることが前提とされたコマンドであり、ＮＣ旋盤の種類に応じて設けられる。以下に例示する組のコマンドは、ペアコマンドＡ２となる。
（例１）エアのブローオンを指令するブロー開始コマンドと、このエアのブロー停止を指令するブロー終了コマンド。
（例２）クーラント液の吐出オンを指令するクーラント液開始コマンドと、このクーラント液の吐出停止を指令するクーラント液終了コマンド。
（例３）正面主軸のＺ軸方向への移動と背面主軸（対向主軸）のＺＢ軸方向（Ｚ方向と同じ方向）への移動とを同期させるＺ−ＺＢ軸同期開始コマンドと、該同期を解除させるＺ−ＺＢ軸同期終了コマンド。
（例４）正面主軸のＣ１方向への回転と背面主軸のＣ２方向への回転とを同期させるＣ１−Ｃ２同期開始コマンドと、該同期を解除させるＣ１−Ｃ２同期終了コマンド。
ペアコマンドＡ２の性格上、開始コマンド及び終了コマンドがペアコマンドＡ２となることが多い。むろん、チェックするペアコマンドＡ２は、対となるコマンドであればどのような種類のコマンドでもよい。
【００２４】
ここで、各主軸のＺ，ＺＢ軸方向への移動を同期させるために各主軸のＣ１，Ｃ２方向への回転を同期させておく必要があるものとし、両主軸の回転の同期を解除させるために両主軸の軸方向への移動同期を解除させる必要があるものとする。この場合、ＮＣプログラムＰ１には、「Ｃ１−Ｃ２同期開始コマンド」、「Ｚ−ＺＢ軸同期開始コマンド」、「Ｚ−ＺＢ軸同期終了コマンド」、「Ｃ１−Ｃ２同期終了コマンド」の順に記述される必要がある。すなわち、Ｃ１−Ｃ２同期開始／終了コマンドは、Ｚ−ＺＢ軸同期開始／終了コマンドよりも上位のペアコマンドとなっている。図３の例では、Ｚ−ＺＢ軸同期開始／終了コマンドのような下位のペアコマンドが「Ｍ６８，Ｍ６９」と設定され、Ｃ１−Ｃ２同期開始／終了コマンドのような上位のペアコマンドが「Ｍ１４，Ｍ１５」と設定されている。
【００２５】
チェック結果表示領域９４には、チェック開始ボタン９５等の複数の操作ボタン、ペアコマンドリスト表示領域９６、等が設けられている。チェック開始ボタン９５は、現在ＮＣプログラムＰ１の編集を行っている系統のエディタから指定されたペアコマンドＡ２を検索して当該検索結果をペアコマンドリスト表示領域９６に表示させるための操作ボタンである。コンピュータＰＣ１は、ペアコマンドチェック画面９０を表示しているとき、入力装置４２からチェック開始ボタン９５の操作を受け付けると、図４に例示するペアコマンドチェック処理を行い、ペアコマンドリスト表示領域９６にペアコマンドＡ２を並べて表示する。ジャンプボタンは、ペアコマンドリスト表示領域９６で選択されているコマンドのエディタの行へ移動するための操作ボタンである。
【００２６】
ペアコマンドリスト表示領域９６には、ＮＣプログラムＰ１に含まれるペアコマンドＡ２がペアコマンドの組ＰＡ１毎に分けられてＮＣプログラムＰ１に記述された順に並べられる。本実施形態のチェック結果表示領域９４に表示されるペアコマンドＡ２は、縦方向（所定方向）Ｄ１へＮＣプログラムＰ１に記述された順とされ、かつ、縦方向Ｄ１とは異なる横方向Ｄ２へペアコマンドの組ＰＡ１に応じた位置として並べられている。図３の例では、ＮＣプログラムＰ１の中で最初に現れたペアコマンドＭ１４が１行目の「Ｍ１４／Ｍ１５」列に表示され、２番目に現れたペアコマンドＭ６８が２行目の「Ｍ６８／Ｍ６９」列に表示されている。１行目における「Ｍ１４／Ｍ１５」列以外の列は空白とされ、２行目における「Ｍ６８／Ｍ６９」列以外の列は空白とされている。すなわち、横方向Ｄ２に対しては、ＮＣプログラムＰ１中のペアコマンドＡ２が重ならないように配置される。一方、縦方向Ｄ１に対しては、同じ組ＰＡ１のペアコマンドＡ２が同じ列となり、異なる組ＰＡ１のペアコマンドＡ２が異なる列となるように配置される。
【００２７】
また、ＮＣプログラムＰ１中で正しい順に記述されたペアコマンドＡ２の組ＰＡ１の表示箇所は、背景色（例えば白色）とは異なる同一のペアコマンドエリア色（例えば青色や黄色）とされる。一方、ＮＣプログラムＰ１中で正しい位置でないペアコマンドＡ２の表示箇所は、前記背景色や前記ペアコマンドエリア色とは異なるエラー色（例えば赤色）とされ、他の箇所とは異なる態様の表示とされる。例えば、開始コマンドＡ３のみ抽出されたり、終了コマンドＡ４のみ抽出されたりすると、これらのペアコマンドＡ２がエラー色で表示される。ＮＣプログラムＰ１中で終了コマンドＡ４の次に開始コマンドＡ３が指令されている場合等も、これらのペアコマンドＡ２がエラー色で表示されてもよい。
さらに、ＮＣプログラムＰ１中で正しい位置でない下位のペアコマンドの組の表示箇所は、前記背景色や前記ペアコマンドエリア色とは異なるエラーコマンドエリア色（例えば赤紫色）とされ、他の箇所とは異なる態様の表示とされる。例えば、上位のペアコマンドの開始コマンドＡ３の後に下位のペアコマンドの開始コマンドＡ３が存在し、その後に上位のペアコマンドの終了コマンドＡ４が存在している場合、その下位のペアコマンドがエラーコマンドエリア色で表示される。上位のペアコマンドも、エラーコマンドエリア色で表示されてもよい。
【００２８】
コンピュータＰＣ１は、ペアコマンドチェック画面９０を表示しているとき、ＮＣプログラムＰ１から抽出するペアコマンドの組を設定する操作入力を入力装置４２から受け付ける。コンピュータＰＣ１は、ペアコマンド表示領域９３の表示内容を受け付けた内容とし、図５（ａ）に例示するペアコマンド設定リストＬ１の内容を受け付けた内容とする。例えば、ペアコマンド表示領域９３の上から５行目で開始コマンド「Ｍ６８」、終了コマンド「Ｍ６９」、上位コマンドＮｏ．「３」が操作入力されると、コンピュータＰＣ１は、ペアコマンド設定リストＬ１の設定Ｎｏ．５の箇所に開始コマンド「Ｍ６８」、終了コマンド「Ｍ６９」、上位コマンドＮｏ．「３」を格納して、このペアコマンド設定リストＬ１をペアコマンド設定保存領域３２に記憶する。
【００２９】
（３）数値制御プログラムのコマンド表示装置の動作、作用、効果：
次に、本実施形態のコマンド表示装置の動作、作用、効果を説明する。
図４は、ペアコマンドチェック画面９０上でチェック開始ボタン９５が操作されたときに行われるペアコマンドチェック処理をフローチャートにより例示している。このペアコマンドチェック処理は、ＣＰＵ１０を中心としてコマンド表示プログラムＰ２に従って行われ、マルチタスクにより他の処理と並列して行われる。ここで、ステップＳ１０２〜Ｓ１１２（以下、「ステップ」の記載を省略）の処理がコマンド検索モジュール２１により実行され、Ｓ１１４〜Ｓ１２０の処理がコマンドリスト構築モジュール２２により実行され、Ｓ１２２〜Ｓ１２６の処理がコマンドエラー解析モジュール２３により実行される。
【００３０】
まず、コンピュータＰＣ１は、ＮＣプログラムＰ１中の解釈対象の行番号を表すパラメータprg_nに初期値１を代入し、一時バッファ領域３３のペアコマンド格納位置を表すパラメータdata_iに初期値０を代入する、パラメータ初期化処理を行う（Ｓ１０２）。Ｓ１０４では、ＮＣプログラム保存領域３１からＮＣプログラムＰ１のprg_n行目を読み出し、prg_n行目にペアコマンドＡ２が含まれているか否かを解析する。該ペアコマンドＡ２は、図３で示した設定領域９１に入力され、図５（ａ）で示したペアコマンド設定リストＬ１に格納された開始コマンドＡ３及び終了コマンドＡ４である。Ｓ１０６では、prg_n行目にペアコマンドＡ２が発見されたか否かに応じて処理を分岐する。ペアコマンドＡ２が発見されなかった場合、コンピュータＰＣ１は、Ｓ１１０に進む。ペアコマンドＡ２が発見された場合、コンピュータＰＣ１は、prg_n行目からペアコマンドＡ２を抽出し、抽出したペアコマンドＡ２を一時バッファ領域３３のdata_i番目に格納し（Ｓ１０８）、Ｓ１１０に進む。
【００３１】
Ｓ１１０では、ＮＣプログラムＰ１の最終行まで解析を完了したか否かを判断する。ＮＣプログラムＰ１に未解析の行が残っている場合、コンピュータＰＣ１は、パラメータprg_nに１を加算し（Ｓ１１２）、Ｓ１０４に戻る。最終行まで解析が完了した場合、コンピュータＰＣ１は、Ｓ１１４に進む。
以上の処理により、図５（ｂ）で示したＮＣプログラムＰ１からペアコマンド設定リストＬ１にあるペアコマンドＡ２が順に抽出され、一時バッファ領域３３に対してプログラム順に蓄積される。
【００３２】
Ｓ１１４では、ペアコマンドリスト格納領域３７のペアコマンドリストＬ２の全データを消去し、ペアコマンドリストＬ２を初期化する。Ｓ１１６では、一時バッファ領域３３のdata_i番のペアコマンドＡ２をペアコマンドリストＬ２の最終行（data_i番）の該当する組ＰＡ１の列に格納する。図６の例では、一時バッファ領域３３の０番のペアコマンドＭ１４がペアコマンドリストＬ２の０行の「Ｍ１４／Ｍ１５」列に格納され、一時バッファ領域３３の１番のペアコマンドＭ６８がペアコマンドリストＬ２の１行の「Ｍ６８／Ｍ６９」列に格納されることが示されている。Ｓ１１８では、一時バッファ領域３３のペアコマンドＡ２の最後までペアコマンドリストＬ２に登録したか否かを判断する。一時バッファ領域３３に未登録のペアコマンドＡ２が残っている場合、コンピュータＰＣ１は、パラメータdata_iに１を加算し（Ｓ１２０）、Ｓ１１６に戻る。最後まで登録した場合、コンピュータＰＣ１は、Ｓ１２２に進む。
【００３３】
一時バッファ領域３３に格納されるペアコマンドをＣｊ（ｉ）とする。ここで、ｉは一時バッファ領域３３に格納されている何番（data_iに相当）のペアコマンドであるかを示す引数、ｊはペアコマンドリストＬ２のどの列番に相当（図６のrow_iに相当）する組ＰＡ１であるかを示す記号であるとする。以上の処理により、図６に例示するように、各ペアコマンドＣｊ（ｉ）がｉ行ｊ列に格納されたペアコマンドリストＬ２が作成される。このペアコマンドリストＬ２は、ＮＣプログラムＰ１から抽出されたペアコマンドＡ２が縦方向Ｄ１へＮＣプログラムに記述された順とされ、かつ、横方向Ｄ２へペアコマンドの組ＰＡ１に応じた位置とされた二次元データテーブルとされている。
【００３４】
Ｓ１２２では、ペアコマンドリストＬ２に従ってペアコマンドリスト表示領域９６にペアコマンドＡ２を並べる。上述したように、ペアコマンドリスト表示領域９６に表示されるペアコマンドＡ２は、縦方向Ｄ１へＮＣプログラムＰ１に記述された順とされ、かつ、横方向Ｄ２へペアコマンドの組ＰＡ１に応じた位置として並べられる。従って、ＮＣプログラムＰ１に記述されたペアコマンドＡ２の組ＰＡ１同士の相対関係が判り易い。
なお、ペアコマンドリスト表示領域９６の背景色は、ペアコマンドエリア色やエラー色とは異なる色とされている。
【００３５】
Ｓ１２４では、図７に例示するペアコマンドエラー解析処理を行う。まず、コンピュータＰＣ１は、ペアコマンドリストＬ２のコマンド取得対象の列位置を表すパラメータrow_iに０を代入し、ペアコマンドリストＬ２のコマンド取得対象の行位置を表すパラメータlist_iに０を代入し、ペアコマンドエリアの開始行を表すパラメータlist_bgn_iに０を代入する、パラメータ初期化処理を行う（Ｓ２０２）。Ｓ２０４では、ペアコマンドリストＬ２におけるrow_i列及びlist_i行のデータを取得する。図６の例では、row_i＝list_i＝０の場合に空白を表す空白データが取得され、row_i＝０，list_i＝４の場合にペアコマンド「Ｍ１１」が取得される。
【００３６】
Ｓ２０６では、取得されたデータが空白データであるか否かを判断する。空白データが取得された場合、コンピュータＰＣ１は、Ｓ２２０に進む。その結果、行インデックスlist_iがペアコマンドリストＬ２の最終行の値でなければlist_iに１が加算され、行インデックスlist_iがペアコマンドリストＬ２の最終行の値であって列インデックスrow_iがペアコマンドリストＬ２の最終列の値でなければrow_iに１が加算される。
【００３７】
一方、ペアコマンドＡ２が取得された場合、コンピュータＰＣ１は、取得されたペアコマンドＡ２が開始コマンドであるか否かを判断する（Ｓ２０８）。
【００３８】
開始コマンドでなければ、ある組ＰＡ１において開始コマンド無しに終了コマンドがＮＣプログラムＰ１に記述されていることになるため、コンピュータＰＣ１は、エラー表示を行い（Ｓ２１０）、Ｓ２２０に進む。本実施形態では、取得されたペアコマンドＡ２の表示箇所を所定のエラー色（例えば赤色）に変更し、当該ペアコマンドＡ２の組ＰＡ１の名称の前にチェック印を付すことにしている。図３の例では、「Ｍ１０／Ｍ１１」列で最初となるペアコマンドＭ１１の表示箇所が赤色とされ、「Ｍ１０／Ｍ１１」の名称の前にチェック印が付されていることが示されている。
【００３９】
一方、取得されたペアコマンドＡ２が開始コマンドである場合、コンピュータＰＣ１は、現在の行インデックスlist_iを開始インデックスlist_bgn_iとして保存する（Ｓ２１２）。Ｓ２１４では、行インデックスlist_iを１ずつ増やしながらrow_i列のペアコマンドＡ２を検索し、ペアコマンドＡ２が検索されたら該ペアコマンドＡ２を取得し、row_i列の最終行までペアコマンドＡ２が見つからなかったら検索を終了する。Ｓ２１６では、Ｓ２１４で取得したコマンドが終了コマンドか否かを判断する。
【００４０】
終了コマンドが取得されなかった場合は、ある組ＰＡ１において、開始コマンドの次に開始コマンドがＮＣプログラムＰ１に記述されているか、開始コマンドが最後の記述となっている。そこで、コンピュータＰＣ１は、Ｓ２０４で取得したコマンドの表示箇所にエラー表示を行い、Ｓ２１４で取得したコマンドが終了コマンドでないと判断した場合にはそのコマンドの表示箇所にもエラー表示を行った（Ｓ２１０）上でＳ２２０に進む。
以上説明したようにして、コンピュータＰＣ１は、組ＰＡ１毎に並べられたペアコマンドＡ２の順番に基づいてペアコマンドＡ２のそれぞれがＮＣプログラムＰ１の中で正しい位置であるか否かを判断する。そして、正しい位置でないと判断したペアコマンドＡ２の表示箇所を他の箇所とは異なる態様で表示する。
【００４１】
一方、終了コマンドが取得された場合、コンピュータＰＣ１は、row_i列のlist_bgn_i行からlist_i行までの表示箇所を所定のペアコマンドエリア色（例えば青色や黄色）に変更する（Ｓ２１８）。図３の例では、「Ｍ１４／Ｍ１５」列で最初の開始コマンドＭ１４から次の終了コマンドＭ１５までのペアコマンドエリアが青色とされていることが示されている。図３の例では列インデックスrow_iが奇数の場合にペアコマンドが青色とされ、列インデックスrow_iが偶数の場合にペアコマンドが黄色とされていることが示されている。むろん、ペアコマンドエリア色は、列に応じて交互に色分けされる以外にも、３色以上で色分けされてもよいし、全ペアコマンドエリアで同一色とされてもよいし、同じ列でも色分けされてもよい。
【００４２】
Ｓ２２０では、行インデックスlist_iが最終行の値となったか否かを判断する。list_iが最終行の値でない場合、コンピュータＰＣ１は、list_iに１を加算し（Ｓ２２２）、Ｓ２０４に戻る。list_iが最終行の値である場合、コンピュータＰＣ１は、列インデックスrow_iが最終列の値となったか否かを判断する（Ｓ２２４）。row_iが最終列の値でない場合、コンピュータＰＣ１は、row_iに１を加算し（Ｓ２２６）、行インデックスlist_iに０を代入して（Ｓ２２８）、Ｓ２０４に戻る。row_iが最終列の値である場合、コンピュータＰＣ１は、ペアコマンドエラー解析処理を終了して、図４のＳ１２６に進む。
【００４３】
以上の処理により、ペアコマンドの組ＰＡ１毎にＮＣプログラムＰ１に記述された順に並べられたペアコマンドＡ２の中で開始コマンドＡ３の次に終了コマンドＡ４が配置されているときに該配置の開始コマンドＡ３及び終了コマンドＡ４が同一色で表示される。従って、ＮＣプログラムＰ１に記述されたペアコマンドＡ２の相対関係の確認が容易である。また、開始コマンドＡ３から終了コマンドＡ４までのペアコマンドエリア全体が同一色で表示されるので、ペアコマンドＡ２の組ＰＡ１同士の相対関係が判り易い。
さらに、正しい位置でないと判断されたペアコマンドＡ２の表示箇所が他の箇所とは異なる態様で表示されるので、ＮＣプログラムＰ１に含まれる正しい位置でないペアコマンドＡ２の把握が容易である。
【００４４】
Ｓ１２６では、図８に例示する上位コマンドエラー解析処理を行う。まず、コンピュータＰＣ１は、上記Ｓ２０２と同様、パラメータrow_i，list_i，list_bgn_iに０を代入する、パラメータ初期化処理を行う（Ｓ３０２）。Ｓ３０４では、ペアコマンドリストＬ２におけるrow_i列及びlist_i行のデータを取得する。Ｓ３０６では、開始コマンドが取得され、かつ、該開始コマンドに上位のペアコマンドが設定されているか否かを判断する。図５，６の例では、ペアコマンドＭ６８，Ｍ６９に上位のペアコマンドＭ１４，Ｍ１５が設定されているため、開始コマンドＭ６８が取得されると条件成立となる。
条件不成立時、コンピュータＰＣ１は、処理をＳ３２０に進める。
【００４５】
Ｓ３０６で条件成立時、コンピュータＰＣ１は、現在の行インデックスlist_iを開始インデックスlist_bgn_iとして保存する（Ｓ３０８）。Ｓ３１０では、行インデックスlist_iを１ずつ増やしながらrow_i列のペアコマンドＡ２を検索して取得する処理を行い、row_i列の最終行までペアコマンドＡ２が見つからなかったらＳ３２０に進み、ペアコマンドＡ２があればＳ３１２に進む。Ｓ３１２では、Ｓ３１０で取得されたコマンドが終了コマンドか否かを判断する。終了コマンドでは無い場合、つまり開始コマンドである場合にはＳ３０４に戻り、その開始コマンドを対象としてＳ３０４以降の処理を行う。
【００４６】
一方、終了コマンドが取得された場合、コンピュータＰＣ１は、list_bgn_i行よりも前に上位の開始コマンドが有るか否かを判断する（Ｓ３１４）。図５，６の例では、開始コマンドＭ６８の前に「Ｍ１４／Ｍ１５」列で上位の開始コマンドＭ１４があるか否かが判断されることになる。
list_bgn_i行よりも前に上位の開始コマンドが無ければ、コンピュータＰＣ１は、エラー表示を行い（Ｓ３１６）、Ｓ３２０に進む。本実施形態では、row_i列のlist_bgn_i行からlist_i行までの表示箇所を所定のエラーコマンドエリア色（例えば赤紫色）に変更し、row_i列の組ＰＡ１の名称の前にチェック印を付すことにしている。
【００４７】
list_bgn_i行よりも前に上位の開始コマンドが有る場合、コンピュータＰＣ１は、その上位の開始コマンドであってlist_bgn_i行に最も近い位置にあるコマンドに対応する上位の終了コマンドがlist_i行よりも後に有るか否かを判断する（Ｓ３１８）。図５，６の例では、「Ｍ１４／Ｍ１５」列でlist_bgn_i行の前であって最も近い位置にある上位の開始コマンドＭ１４に対応する上位の終了コマンドＭ１５が終了コマンドＭ６９の後にあるか否かが判断されることになる。
【００４８】
条件不成立時、コンピュータＰＣ１は、エラー表示を行い（Ｓ３１６）、Ｓ３２０に進む。本実施形態では、row_i列のlist_bgn_i行からlist_i行までの表示箇所を所定のエラーコマンドエリア色に変更し、row_i列の組ＰＡ１の名称の前にチェック印を付すことにしている。図３の例では、「Ｍ６８／Ｍ６９」列の一番下の終了コマンドＭ６９よりも前に上位の終了コマンドＭ１５が配置されているため、下位の開始コマンドＭ６８から下位の終了コマンドＭ６９までのエラーコマンドエリアが赤紫色とされ、「Ｍ６８／Ｍ６９」の名称の前にチェック印が付されていることが示されている。むろん、エラーコマンドエリア色は、図７で示したペアコマンドエラー解析処理で表示されるエラー色と同じ色とされてもよい。
【００４９】
以上説明したようにして、コンピュータＰＣ１は、組ＰＡ１毎に並べられたペアコマンドＡ２の順番に基づいて階層を有するペアコマンドＡ２のそれぞれがＮＣプログラムＰ１の中で正しい階層位置であるか否かを判断する。そして、正しい階層位置でないと判断したペアコマンドＡ２の表示箇所を他の箇所とは異なる態様で表示する。上位のペアコマンドと下位のペアコマンドとが入れ子になっていない等、正しい階層位置でないと判断されたペアコマンドＡ２の表示箇所は、他の箇所とは異なる態様で表示される。従って、ＮＣプログラムＰ１に含まれる正しい階層位置でないペアコマンドＡ２の把握が容易である。
【００５０】
Ｓ３２０では、行インデックスlist_iが最終行の値となったか否かを判断する。list_iが最終行の値でない場合、コンピュータＰＣ１は、list_iに１を加算し（Ｓ３２２）、Ｓ３０４に戻る。list_iが最終行の値である場合、コンピュータＰＣ１は、列インデックスrow_iが最終列の値となったか否かを判断する（Ｓ３２４）。row_iが最終列の値でない場合、コンピュータＰＣ１は、row_iに１を加算し（Ｓ３２６）、行インデックスlist_iに０を代入して（Ｓ３２８）、Ｓ３０４に戻る。row_iが最終列の値である場合、コンピュータＰＣ１は、上位コマンドエラー解析処理を終了し、図４のペアコマンドチェック処理を終了する。
【００５１】
以上説明したように、本コマンド表示装置によると、ＮＣプログラムＰ１に記述されたペアコマンドＡ２の組ＰＡ１毎に、ＮＣプログラムＰ１に含まれるペアコマンドＡ２が分けられてプログラム順に並べられて表示される。従って、本コマンド表示装置は、ＮＣ旋盤２のためのＮＣプログラムＰ１に記述されたペアコマンドＡ２の相対関係を容易に確認することができ、ＮＣプログラムＰ１のチェックを容易にすることができる。
【００５２】
（４）変形例：
本発明は、様々な変形例が考えられる。
例えば、ＮＣプログラムを実行する工作機械は、ＮＣ旋盤以外の数値制御工作機械でもよい。
ＮＣプログラムのコマンド表示装置は、工作機械自体に設けられてもよい。例えば、ＮＣプログラムのコマンド表示プログラムＰ２をＮＣ装置５０に記憶させ、ＮＣ装置５０でコマンド表示プログラムＰ２を実行すると、ＮＣ旋盤（工作機械）２がＮＣプログラムのコマンド表示装置となる。
上述した各ステップの順番は、適宜、変更可能である。例えば、Ｓ１１４のペアコマンドリスト初期化処理は、Ｓ１０４又はＳ１０２の処理の前に行われてもよい。
一時バッファ領域３３に格納されるペアコマンドＡ２は、ＮＣプログラムＰ１に記述された順とされなくてもよい。例えば、各ペアコマンドＡ２を表す情報と、ＮＣプログラムＰ１に記述された順番とを対応付ける情報テーブルを作成すれば、この情報テーブルに基づいてペアコマンドリストＬ２を作成することができる。
【００５３】
ペアコマンドＡ２の階層は、３階層以上とされてもよい。例えば、図３で示した設定領域９１でペアコマンドＭ１４，Ｍ１５の上位コマンドＮｏ．が「２」とされると、ペアコマンドＭ６８，Ｍ６９の上位のペアコマンドＭ１４，Ｍ１５のさらに上位のペアコマンドが「Ｍ１０，Ｍ１１」に設定される。この場合も、上位コマンドエラー解析処理が行われることにより、ＮＣプログラムＰ１中で最上位のペアコマンドＭ１０，Ｍ１１に対して正しい位置でないペアコマンドＭ１４，Ｍ１５の表示箇所も他の箇所とは異なる態様で表示される。
また、上位のペアコマンドに対して複数組の下位のペアコマンドが設定されてもよい。例えば、図３で示した設定領域９１でペアコマンドＭ６６，Ｍ６７の上位コマンドＮｏ．が「３」とされると、ペアコマンドＭ１４，Ｍ１５の下位のペアコマンドは「Ｍ６６，Ｍ６７」及び「Ｍ６８，Ｍ６９」となる。この場合も、上位コマンドエラー解析処理が行われることにより、ＮＣプログラムＰ１中でペアコマンドＭ１４，Ｍ１５に対して正しい位置でない下位のペアコマンドＭ６６，Ｍ６７の表示箇所も他の箇所とは異なる態様で表示される。
【００５４】
なお、ＮＣプログラムＰ１中で正しい階層位置でない開始コマンドと終了コマンドとの間の空白は、直接対応するペアコマンドの組合せを判り易くする点からは開始コマンド及び終了コマンドと同じエラーコマンドエリア色とされるのが好ましいものの、エラーコマンドエリア色とされなくてもよい。
【００５５】
また、ＮＣプログラムＰ１中で正しい位置の開始コマンドと終了コマンドとの間の空白も、直接対応するペアコマンドの組合せを判り易くする点からは開始コマンド及び終了コマンドと同じペアコマンドエリア色とされるのが好ましいものの、ペアコマンドエリア色とされなくてもよい。図９（ａ）は、開始コマンドと終了コマンドとの間の空白をペアコマンドエリア色としない変形例のチェック結果表示領域９４を示している。この場合でも、直接対応するペアコマンドの組合せが同一色で表示されるので、ペアコマンドＡ２の相対関係の確認が容易である。
【００５６】
さらに、図９（ｂ）に例示するように、ペアコマンドＡ２の組ＰＡ１同士の位置関係がプログラム順となっていなくてもよい。本変形例のチェック結果表示領域９４には、ペアコマンドＡ２が各組ＰＡ１においてプログラム順とされたペアコマンドリスト表示領域９６が表示されている。従って、ＮＣプログラムＰ１から抽出されたペアコマンドＡ２が組ＰＡ１毎に分けられてプログラム順に並べて表示されているといえる。この場合も、各組ＰＡ１においてペアコマンドＡ２の相対関係の確認が容易である。
本変形例の場合、一時バッファ領域３３に対して組ＰＡ１別にペアコマンドＡ２をプログラム順に蓄積すれば、組ＰＡ１別とされたペアコマンドＡ２を一時バッファ領域３３から読み出してペアコマンドリストを表示することができる。
【００５７】
ところで、図４のＳ１２６の上位コマンドエラー解析処理やＳ１２４のペアコマンドエラー解析処理が行われなくても、ＮＣプログラムＰ１に記述されたペアコマンドＡ２の相対関係を容易に確認することができる。
むろん、従属請求項に係る構成要件を有しておらず独立請求項に係る構成要件のみからなる装置及びプログラムでも、上述した基本的な作用、効果が得られる。
また、本発明は、上述した実施形態や変形例に限られず、上述した実施形態及び変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態及び変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
【符号の説明】
【００５８】
２…数値制御旋盤（工作機械）、
３１…数値制御プログラム保存領域（記憶部）、
９０…ペアコマンドチェック画面、９１…設定領域、９４…チェック結果表示領域、
Ａ１…コマンド、Ａ２…ペアコマンド、Ａ３…開始コマンド、Ａ４…終了コマンド、
Ｄ１…縦方向（所定方向）、Ｄ２…横方向、
Ｌ１…ペアコマンド設定リスト、Ｌ２…ペアコマンドリスト、
Ｐ１…数値制御プログラム、Ｐ２…コマンド表示プログラム、
ＰＡ１…ペアコマンドの組、
ＰＣ１…コンピュータ（コマンド表示装置）、
Ｕ１…ペアコマンド抽出手段、Ｕ２…ペアコマンド表示手段。
【図１】
2011123667.tif 000003
【図２】
2011123667.tif 000004
【図３】
2011123667.tif 000005
【図４】
2011123667.tif 000006
【図５】
2011123667.tif 000007
【図６】
2011123667.tif 000008
【図７】
2011123667.tif 000009
【図８】
2011123667.tif 000010
【図９】
2011123667.tif 000011