(57)【特許請求の範囲】
【請求項１】
被加工物を加工する加工機を制御するための加工用プログラムとしての機械制御プログラムの作成装置である機械制御プログラム作成装置であって、
プログラム中にパラメータ数値、並びに、当該パラメータ数値に対応付けられたパラメータ記号およびパラメータ名称を含む前記機械制御プログラムを記憶するプログラム記憶手段と、
前記プログラム記憶手段に記憶されている前記機械制御プログラムに含まれる前記パラメータ記号と前記パラメータ名称とによりパラメータ項目として認識し、認識した前記パラメータ記号および前記パラメータ名称とこれらに対応付けられている前記パラメータ数値とをダイアログボックス情報として作成するダイアログボックス情報作成処理手段と、
前記ダイアログボックス情報作成処理手段により作成された前記ダイアログボックス情報を記憶するダイアログボックス情報記憶手段と、
前記パラメータ数値の入力画面としてのダイアログボックス表示画面であり、少なくとも前記パラメータ名称および編集可能な前記パラメータ数値を表示する前記ダイアログボックス表示画面と、
前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報としての前記パラメータ名称および前記パラメータ数値を、前記ダイアログボックス表示画面に表示させるダイアログボックス表示処理手段と、
前記ダイアログボックス表示画面において前記パラメータ数値を編集可能であり、編集した場合に前記ダイアログボックス情報作成処理手段により前記ダイアログボックス情報記憶手段に記憶されている前記パラメータ数値を更新させる外部入力手段と、
前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報のうちの前記パラメータ数値が更新された場合に、前記プログラム記憶手段に記憶されている前記機械制御プログラムにおける対応する前記パラメータ数値を更新された前記パラメータ数値に変更する処理を行うプログラム作成処理手段と、
を備える機械制御プログラム作成装置。
【請求項２】
請求項１において、
前記機械制御プログラム作成装置は、
プログラム表示画面と、
前記プログラム記憶手段に記憶されている前記機械制御プログラムを、前記プログラム表示画面に表示させるプログラム表示処理手段と、
を備え、
前記プログラム記憶手段は、前記プログラム表示画面において前記機械制御プログラムに含まれる前記パラメータ数値が作業者により直接編集された場合に、編集後の前記機械制御プログラムを記憶し、
前記ダイアログボックス情報作成処理手段は、前記プログラム表示画面における前記パラメータ数値の編集に伴って前記プログラム記憶手段に記憶されている前記機械制御プログラムが更新された場合に、更新された前記機械制御プログラムにおいて編集された前記パラメータ数値に基づいて前記ダイアログボックス情報記憶手段に記憶されている前記パラメータ数値を変更する機械制御プログラム作成装置。
【請求項３】
請求項１または２において、
前記外部入力手段は、前記ダイアログボックス表示画面において前記パラメータ名称を編集可能であり、編集した場合に前記ダイアログボックス情報作成処理手段により前記ダイアログボックス情報記憶手段に記憶されている前記パラメータ名称を更新させ、
前記プログラム作成処理手段は、前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報のうちの前記パラメータ名称が更新された場合に、前記プログラム記憶手段に記憶されている前記機械制御プログラムにおける対応する前記パラメータ名称を更新された前記パラメータ名称に変更する処理を行う機械制御プログラム作成装置。
【請求項４】
請求項１〜３の何れか一項において、
前記機械制御プログラム作成装置は、
複数の動作種別のそれぞれに対応する前記機械制御プログラムのテンプレートを記憶するテンプレート記憶手段と、
複数の前記テンプレートの中から１または複数の前記テンプレートを選択するテンプレート選択処理手段と、
を備え、
前記ダイアログボックス情報作成処理手段は、前記テンプレート選択処理手段により選択された１または複数の前記テンプレートに基づいて、前記ダイアログボックス情報を作成し、
前記プログラム作成処理手段は、前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報に基づいて前記機械制御プログラムを作成する機械制御プログラム作成装置。
【請求項５】
請求項１〜４の何れか一項において、
前記機械制御プログラム作成装置は、
前記機械制御プログラムを複数の動作サイクルに分割した場合に、それぞれの前記動作サイクルをシーケンシャルファンクションチャートのステップとして作成するＳＦＣ作成処理手段と、
前記ＳＦＣ作成処理手段により作成された前記シーケンシャルファンクションチャートを記憶するＳＦＣ記憶手段と、
ＳＦＣ表示画面と、
前記ＳＦＣ記憶手段に記憶されている前記シーケンシャルファンクションチャートを前記ＳＦＣ表示画面に表示させるＳＦＣ表示処理手段と、
を備え、
前記ダイアログボックス情報作成処理手段は、前記ＳＦＣ記憶手段に記憶されている前記シーケンシャルファンクションチャートの前記ステップに対応付けた前記ダイアログボックス情報を作成し、
前記プログラム作成処理手段は、前記ＳＦＣ記憶手段に記憶されている前記シーケンシャルファンクションチャートと前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報とに基づいて前記機械制御プログラムを作成し、
前記ＳＦＣ作成処理手段は、前記機械制御プログラム記憶手段に記憶されている前記機械制御プログラムのステップ開始記号およびステップ終了記号に基づいて前記シーケンシャルファンクションチャートを作成する機械制御プログラム作成装置。
【請求項６】
請求項５において、
前記機械制御プログラム作成装置は、機械の制御手順を示す工程表であり、複数の工程の順序を示す前記工程表を入力する工程表入力手段を備え、
前記ＳＦＣ作成処理手段は、前記工程表入力手段により入力された前記工程表のそれぞれの前記制御手順を前記機械制御プログラムのそれぞれの前記動作サイクルと認識し、前記制御手順毎に前記ステップを作成する機械制御プログラム作成装置。
【請求項７】
請求項５または６において、
前記ＳＦＣ記憶手段は、前記シーケンシャルファンクションチャートに加えて、前記ステップ毎にステップ名称を記憶し、
前記ＳＦＣ表示処理手段は、前記シーケンシャルファンクションチャートに加えて、前記ステップ毎にステップ名称を、前記ＳＦＣ表示画面に表示させる機械制御プログラム作成装置。
【請求項８】
請求項１〜７の何れか一項において、
前記ダイアログボックス情報は、動作種別を示す図面を含み、
前記ダイアログボックス表示画面には、前記動作種別を示す図面が表示される機械制御プログラム作成装置。
【請求項９】
請求項４において、
前記テンプレート記憶手段は、前記機械制御プログラムのテンプレート、および、当該テンプレートに対応した動作種別を示すテンプレート図を記憶し、
前記ダイアログボックス情報は、前記テンプレート図を含み、
前記ダイアログボックス表示画面には、前記テンプレート図が表示される機械制御プログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば工作機械や加工用ロボットなどを制御するための加工用プログラムを作成する装置に関するものである。
【背景技術】
【０００２】
工作機械や加工用ロボットなどを制御するための加工用プログラムは、例えば、ＧコードＭコードなどの特殊な記号の他、指令座標値、主軸回転数などの動作数値などの多数の数値が含まれている。加工用プログラムを作成するためには、特殊な記号の意味、数値を正確に把握する必要があった。そのため、従来は、熟練者でなければ加工用プログラムを作成することができなかった。そこで、容易に加工用プログラムを作成するために研究がされている。例えば、特開2003-186511号公報（特許文献１）には、ＮＣプログラムの作成支援として、ガイダンス表示を行い、ＮＣプログラムの作成を容易にすることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2003-186511号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、加工用プログラムを一度作成した後において、設計変更などにより加工用プログラム中の数値を編集することがある。このような場合には、加工用プログラム中の該当する数値全てについて編集しなければならない。しかし、編集すべき箇所が複数ある場合には、加工用プログラムの内容を把握していなければ編集ミスを起こすおそれがある。
【０００５】
本発明は、このような事情に鑑みてなされたものであり、機械制御プログラムを容易に作成または編集することができる機械制御プログラム作成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
（請求項１）本発明の機械制御プログラム作成装置は、被加工物を加工する加工機を制御するための加工用プログラムとしての機械制御プログラムの作成装置である機械制御プログラム作成装置であって、プログラム中にパラメータ数値、並びに、当該パラメータ数値に対応付けられたパラメータ記号およびパラメータ名称を含む前記機械制御プログラムを記憶するプログラム記憶手段と、前記プログラム記憶手段に記憶されている前記機械制御プログラムに含まれる前記パラメータ記号と前記パラメータ名称とによりパラメータ項目として認識し、認識した前記パラメータ記号および前記パラメータ名称とこれらに対応付けられている前記パラメータ数値とをダイアログボックス情報として作成するダイアログボックス情報作成処理手段と、前記ダイアログボックス情報作成処理手段により作成された前記ダイアログボックス情報を記憶するダイアログボックス情報記憶手段と、前記パラメータ数値の入力画面としてのダイアログボックス表示画面であり、少なくとも前記パラメータ名称および編集可能な前記パラメータ数値を表示する前記ダイアログボックス表示画面と、前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報としての前記パラメータ名称および前記パラメータ数値を、前記ダイアログボックス表示画面に表示させるダイアログボックス表示処理手段と、前記ダイアログボックス表示画面において前記パラメータ数値を編集可能であり、編集した場合に前記ダイアログボックス情報作成処理手段により前記ダイアログボックス情報記憶手段に記憶されている前記パラメータ数値を更新させる外部入力手段と、前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報のうちの前記パラメータ数値が更新された場合に、前記プログラム記憶手段に記憶されている前記機械制御プログラムにおける対応する前記パラメータ数値を更新された前記パラメータ数値に変更する処理を行うプログラム作成処理手段とを備える。
（請求項２）前記機械制御プログラム作成装置は、プログラム表示画面と、前記プログラム記憶手段に記憶されている前記機械制御プログラムを、前記プログラム表示画面に表示させるプログラム表示処理手段と、を備え、前記プログラム記憶手段は、前記プログラム表示画面において前記機械制御プログラムに含まれる前記パラメータ数値が作業者により直接編集された場合に、編集後の前記機械制御プログラムを記憶し、前記ダイアログボックス情報作成処理手段は、前記プログラム表示画面における前記パラメータ数値の編集に伴って前記プログラム記憶手段に記憶されている前記機械制御プログラムが更新された場合に、更新された前記機械制御プログラムにおいて編集された前記パラメータ数値に基づいて前記ダイアログボックス情報記憶手段に記憶されている前記パラメータ数値を変更する。
【０００７】
（請求項３）また、前記外部入力手段は、前記ダイアログボックス表示画面において前記パラメータ名称を編集可能であり、編集した場合に前記ダイアログボックス情報作成処理手段により前記ダイアログボックス情報記憶手段に記憶されている前記パラメータ名称を更新させ、前記プログラム作成処理手段は、前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報のうちの前記パラメータ名称が更新された場合に、前記プログラム記憶手段に記憶されている前記機械制御プログラムにおける対応する前記パラメータ名称を更新された前記パラメータ名称に変更する処理を行うようにしてもよい。
【０００８】
（請求項４）また、前記機械制御プログラム作成装置は、複数の動作種別のそれぞれに対応する前記機械制御プログラムのテンプレートを記憶するテンプレート記憶手段と、複数の前記テンプレートの中から１または複数の前記テンプレートを選択するテンプレート選択処理手段とを備え、前記ダイアログボックス情報作成処理手段は、前記テンプレート選択処理手段により選択された１または複数の前記テンプレートに基づいて、前記ダイアログボックス情報を作成し、前記プログラム作成処理手段は、前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報に基づいて前記機械制御プログラムを作成するようにしてもよい。
【０００９】
（請求項５）また、前記機械制御プログラム作成装置は、前記機械制御プログラムを複数の動作サイクルに分割した場合に、それぞれの前記動作サイクルをシーケンシャルファンクションチャートのステップとして作成するＳＦＣ作成処理手段と、前記ＳＦＣ作成処理手段により作成された前記シーケンシャルファンクションチャートを記憶するＳＦＣ記憶手段と、ＳＦＣ表示画面と、前記ＳＦＣ記憶手段に記憶されている前記シーケンシャルファンクションチャートを前記ＳＦＣ表示画面に表示させるＳＦＣ表示処理手段と、を備え、前記ダイアログボックス情報作成処理手段は、前記ＳＦＣ記憶手段に記憶されている前記シーケンシャルファンクションチャートの前記ステップに対応付けた前記ダイアログボックス情報を作成し、前記プログラム作成処理手段は、前記ＳＦＣ記憶手段に記憶されている前記シーケンシャルファンクションチャートと前記ダイアログボックス情報記憶手段に記憶されている前記ダイアログボックス情報とに基づいて前記機械制御プログラムを作成し、前記ＳＦＣ作成処理手段は、前記機械制御プログラム記憶手段に記憶されている前記機械制御プログラムのステップ開始記号およびステップ終了記号に基づいて前記シーケンシャルファンクションチャートを作成するようにしてもよい。
【００１０】
（請求項６）また、前記機械制御プログラム作成装置は、機械の制御手順を示す工程表であり、複数の工程の順序を示す前記工程表を入力する工程表入力手段を備え、前記ＳＦＣ作成処理手段は、前記工程表入力手段により入力された前記工程表のそれぞれの前記制御手順を前記機械制御プログラムのそれぞれの前記動作サイクルと認識し、前記制御手順毎に前記ステップを作成するようにしてもよい。
【００１１】
（請求項７）また、前記ＳＦＣ記憶手段は、前記シーケンシャルファンクションチャートに加えて、前記ステップ毎にステップ名称を記憶し、前記ＳＦＣ表示処理手段は、前記シーケンシャルファンクションチャートに加えて、前記ステップ毎にステップ名称を、前記ＳＦＣ表示画面に表示させるようにしてもよい。
【００１２】
（請求項８）また、前記ダイアログボックス情報は、動作種別を示す図面を含み、前記ダイアログボックス表示画面には、前記動作種別を示す図面が表示されるようにしてもよい。
【００１３】
（請求項９）また、前記テンプレート記憶手段は、前記機械制御プログラムのテンプレート、および、当該テンプレートに対応した動作種別を示すテンプレート図を記憶し、前記ダイアログボックス情報は、前記テンプレート図を含み、前記ダイアログボックス表示画面には、前記テンプレート図が表示されるようにしてもよい。
【発明の効果】
【００１４】
（請求項１，２）本発明によれば、ダイアログボックス表示画面の内容が、機械制御プログラムに記述されているパラメータ数値およびパラメータ名称に対応した内容となっている。つまり、機械制御プログラムにパラメータ記号およびパラメータ名称を記述することで、当該パラメータ名称をダイアログボックス表示画面の項目とすることができる。従って、機械制御プログラムに記述される数値を、自由にパラメータ化することができる。さらに、パラメータ化するための手段は、単に、機械制御プログラムに、パラメータ数値、パラメータ記号およびパラメータ名称を記述することで足りる。従って、非常に容易にパラメータ化できる。このように自由にパラメータ化できることで、機械制御プログラムにおいて、複数回記述する必要のある数値を容易にパラメータ化でき、パラメータ数値の編集作業も容易となる。その結果、機械制御プログラムにおける数値の入力ミスや設定ミスを軽減することができる。特に、設計変更により一部数値の変更を行う場合などに、機械制御プログラムの変更に要する時間を短縮できる。さらに、一度機械制御プログラムが作成されていれば、特殊なＧコードなどを把握していなくても、機械制御プログラムの編集ができる。
ところで、これまで、工作機械や加工用ロボットなどのプログラムの作成は熟練者による知識が必要であった。このような高度な知識が必要であった加工用プログラムの作成に、本発明の機械制御プログラム作成装置を適用することで、容易に加工用プログラムを作成することができる。
【００１５】
（請求項３）これにより、パラメータ名称の編集をダイアログボックス表示画面にて行うことができる。そして、ダイアログボックス表示画面におけるパラメータ名称の変更が、機械制御プログラムに反映される。従って、パラメータ名称をより分かりやすい名称に変更したい場合などにおいて、機械制御プログラムを直接編集することなく、ダイアログボックス表示画面にて編集が可能となる。これにより、作業者による編集自由度をより高めることができる。
【００１６】
（請求項４）テンプレートから機械制御プログラムを作成することで、機械制御プログラムの標準化を図ることができる。例えば、１のテンプレートにより、または、複数のテンプレートをつなげることにより、機械制御プログラムを作成し、当該機械制御プログラムに含まれるパラメータ数値の入力は上述したように、ダイアログボックス表示画面にて行うことができる。そして、テンプレート自身は、予め誤りなどが少なく完成度の高い状態とすることができる。そのため、テンプレートを用いて作成された機械制御プログラムのデバッグ時間を短縮できる。さらに、テンプレートから機械制御プログラムを作成できるため、ＮＣプログラムなどに含まれる特殊なＧコードなどを把握していなくても、機械制御プログラムを作成することができる。
【００１７】
（請求項５）これにより、機械制御プログラムをＳＦＣとして表示でき、当該ＳＦＣにより機械制御プログラムを作成できる。機械制御プログラムは、非常に難解なコードを用いて作成されているため、機械制御プログラムを見ただけでは熟練者でなければ容易に把握できない。しかし、機械制御プログラムをシーケンシャルファンクションチャートとして表示することとしたことにより、機械制御プログラムの手順を視覚的に把握することができる。さらに、機械制御プログラムがＳＦＣに基づいて作成されると共に、機械制御プログラムのステップ開始記号およびステップ終了記号に基づいてＳＦＣが作成されている。つまり、ＳＦＣと機械制御プログラムとが対応付けられている。従って、機械制御プログラムの作成および編集を視覚的にできる。さらに、ダイアログボックス情報がＳＦＣのステップに対応付けられている。従って、ＳＦＣを作成してダイアログボックス表示画面のパラメータ数値を入力することにより、機械制御プログラムを作成できる。つまり、機械制御プログラムに含まれる特殊なＧコードなどを把握していなくても、複数の動作サイクルからなる機械制御プログラムを容易に作成することができる。
【００１８】
（請求項６）工程表を予め作成していれば、この工程表によりＳＦＣを作成することができる。従って、より機械制御プログラムの作成が容易になる。
（請求項７）ＳＦＣのステップ名称をＳＦＣ表示画面に表示できることで、ＳＦＣの各ステップが行う処理を容易に把握できる。その結果、ＳＦＣを用いて、機械制御プログラムの作成が容易になる。
【００１９】
（請求項８）ダイアログボックス表示画面に動作種別を示す図面が表示されていることで、現在表示されているダイアログボックス表示画面が何を編集することができる画面であるかを視覚的に把握することができる。これにより、容易に、機械制御プログラムを作成することができる。
【００２０】
（請求項９）ダイアログボックス表示画面に表示する図面は、テンプレートに対応した図面であって、テンプレート記憶手段に記憶されている。従って、図面を個別に入力する必要はなく、かつ、テンプレートに対応づけられているため、表示する図面の設定ミスを防止することができる。
【図面の簡単な説明】
【００２２】
【図１】工作機械の構成図である。
【図２】図１の工作機械のＮＣプログラムを作成するためのプログラム作成装置の機能ブロック概要図である。
【図３】図２のＳＦＣ表示画面の表示内容である。
【図４】図２の第一ダイアログボックス表示画面である。
【図５】図２の第二ダイアログボックス表示画面である。
【図６】図２のプログラム表示画面の表示内容である。
【図７】図８のテンプレート記憶部に記憶されているテンプレートである。
【図８】図２のプログラム作成装置の機能ブロック図の詳細図である。
【図９】図８のＳＦＣ作成処理部による処理のフローチャートである。
【図１０】図８の工程表入力部にて入力される工程表である。
【図１１】図８のテンプレート選択処理部による処理のフローチャートである。
【図１２】図８のダイアログボックス情報作成処理部による処理のフローチャートである。
【図１３】図６のダイアログボックス表示処理部による処理のフローチャートである。
【図１４】作業者によりプログラムを新規作成する処理のフローチャートである。
【図１５】作業者によりプログラムを新規作成する処理のフローチャートである。
【発明を実施するための形態】
【００２３】
本実施形態の機械制御プログラム作成装置について、図面を参照して説明する。ここで、作成する機械制御プログラムとして、工作機械や加工用ロボットに用いるＮＣプログラムを例にあげる。特に、以下の説明においては、工作機械のうち横型マシニングセンタを例にあげる。ただし、マシニングセンタ以外の工作機械はもちろん、シリアルアーム型やパラレルアーム型の加工用ロボット、計測装置などの位置決めロボットについても適用可能である。
【００２４】
（１．対象機械の構成）
ＮＣプログラムにより制御される対象の工作機械である横型マシニングセンタについて、図１を参照して説明する。図１に示すように、当該工作機械は、ベッド１と、ベッド１上にてＸ軸方向に移動可能なコラム２と、コラム２の前面（図１の左面）にてＹ軸方向に移動可能なサドル３と、サドル３に回転可能に支持され工具５を保持する回転主軸４と、ベッド１上にてＺ軸方向に移動可能であり被加工物Ｗを載置するテーブル６とを備える。なお、図示しないが、当該工作機械は、コラム２、サドル３およびテーブル６を移動するためのモータや、クーラントを供給するクーラントノズル、クーラントポンプなどを備える。
【００２５】
（２．プログラム作成装置の概略構成）
上述した工作機械を制御するためのＮＣプログラムを作成するプログラム作成装置について、概略構成を示す図２の機能ブロック図を参照して説明する。また、プログラム作成装置を構成するＳＦＣ表示画面１０を図３に示し、ダイアログボックス表示画面３１，３２を図４および図５に示し、プログラム表示画面５０を図６に示す。また、テンプレートを示す図７も参照する。
【００２６】
図２に示すように、プログラム作成装置は、ＳＦＣ表示画面１０と、ＳＦＣ処理部２０と、ダイアログボックス表示画面３１，３２と、ダイアログボックス処理部４０と、プログラム表示画面５０と、プログラム処理部６０とを備える。
【００２７】
ＳＦＣ表示画面１０は、図３に示すように、ＮＣプログラムをシーケンシャル・ファンクション・チャート（ＳＦＣ）として表示する画面である。ＳＦＣ処理部２０は、ＮＣプログラムをＳＦＣとして認識し、かつ、ＳＦＣ表示画面１０に表示する処理を行う。ここで、ＳＦＣは、一般にプログラマブル・ロジック・コントローラ（ＰＬＣ）などに用いられている。ただし、本実施形態におけるＳＦＣとは、ＰＬＣなどに用いられるＳＦＣとは異なり、ＮＣプログラムに対して用いるものである。ここで、ＮＣプログラムは、複数の動作を順次行うようにされたプログラムである。例えば、面削り加工を行い、続いて工具交換を行い、穴明け加工を行い、別の箇所の穴明け加工を行う場合には、ＮＣプログラムは当該順序に従って作成されている。そこで、まとめることができる動作をＳＦＣのステップSTとして対応付けることで、ＮＣプログラムをＳＦＣとして認識するようにしている。つまり、ＮＣプログラムを複数の動作サイクル（加工サイクルおよび非加工サイクルを含む）に分割した場合に、ＳＦＣ処理部２０は、各動作サイクルに対応するステップSTを記憶しておき、ＳＦＣ表示画面１０にＮＣプログラムをＳＦＣとして表示させる。
【００２８】
ダイアログボックス表示画面３１，３２は、図４および図５に示すとおりである。このダイアログボックス表示画面３１，３２は、ダイアログボックス処理部４０によって表示処理がされる。ダイアログボックス処理部４０は、ＳＦＣ処理部２０に記憶されているＳＦＣのステップST毎にダイアログボックス情報を記憶し、図４に示すように、第一ダイアログボックス表示画面３１にダイアログボックス情報を表示させる。第一ダイアログボックス表示画面３１においては、当該ステップSTに対応するＮＣプログラムの部分に関するパラメータ情報（パラメータ名称およびパラメータ数値）が表示されている。そして、第一ダイアログボックス表示画面３１においては、作業者は、パラメータ数値のみならず、パラメータ名称を編集することができる。
【００２９】
さらに、ダイアログボックス処理部４０は、ＳＦＣのステップSTに対応するダイアログボックス情報を新規に作成する場合には、予め作成された動作サイクルの種別毎にテンプレートの中から該当するテンプレートを選択することができ、選択したテンプレートに基づいてダイアログボックス情報を作成する。テンプレートを選択する際の第二ダイアログボックス表示画面３２は、図５に示す。また、テンプレートは、図７に示す。ここで、図７に示すように、テンプレートに含まれているパラメータ数値は初期値が設定されているため、テンプレートから得られたダイアログボックス情報に含まれるパラメータ数値も初期値となる。そのため、作業者は、第一ダイアログボックス表示画面３１にてパラメータ数値を編集する必要がある。
【００３０】
プログラム表示画面５０は、図６に示すとおりである。このプログラム表示画面５０は、プログラム処理部６０によって表示処理がされる。プログラム処理部６０は、ＳＦＣ処理部２０にて作成されたＳＦＣと、ダイアログボックス処理部４０にて作成されたダイアログボックス情報とに基づいて、ＮＣプログラムを作成する。さらに、プログラム処理部６０は、作成したＮＣプログラムをプログラム表示画面５０に表示する処理を行う。図６において、例えば、「154(*$C110*穴 X*)」と記載されている箇所がある。この記載において、「１５４」がパラメータ数値を示し、「C110」がパラメータ記号を示し、「穴 X」がパラメータ名称を示す。ここで、図４に示す右枠欄において、「穴 X １５４」と記載された箇所が、当該ＮＣプログラムの当該箇所に対応する部分である。このように、ＮＣプログラムには、パラメータ数値、パラメータ名称およびパラメータ記号が対応付けて記述されている。そして、ＮＣプログラム中のパラメータ数値およびパラメータ名称が、ダイアログボックス情報と対応付けられている。
【００３１】
また、プログラム表示画面５０において、作業者は、ＮＣプログラムを直接編集することもできる。この場合、ＮＣプログラムの編集結果に応じて、ＳＦＣ処理部２０に記憶されているＳＦＣ情報を変更すると共に、ダイアログボックス処理部４０に記憶されているダイアログボックス情報を変更する。
【００３２】
このように、プログラム作成装置は、ＮＣプログラムをＳＦＣとして表示可能とし、ＳＦＣの各ステップSTに対応付けたダイアログボックス情報をダイアログボックス表示画面に表示する。そして、ダイアログボックス表示画面においては、ＮＣプログラムに含まれるパラメータ数値を編集することができる。さらに、ダイアログボックス表示画面においては、パラメータ名称がＮＣプログラムと対応付けられて表示されており、当該パラメータ名称の編集も可能である。逆に、ＮＣプログラム中のパラメータ名称に関する記載を編集すると、ダイアログボックス表示画面のパラメータ名称が変更される。そこで、パラメータとして認識できるように記述されたＮＣプログラムのテンプレートを予め準備しておく。特に、テンプレートは、ＳＦＣの各ステップSTに対応付けることができるようにする。このように、プログラム作成装置は、ＮＣプログラムをＳＦＣ化し、かつ、ＳＦＣのステップSTの内容を容易に作成、編集することができるようにし、さらに、ＮＣプログラム中の数値を自由にパラメータ化することができるようにしている。
【００３３】
（３．プログラム作成装置の詳細構成）
次に、プログラム作成装置の詳細構成について、図８の機能ブロック図を参照して説明する。また、プログラム作成装置を構成する各処理部の動作について、図９，図１１〜図１３のフローチャートを参照して説明する。また、ＳＦＣ処理部２０を構成する工程表入力部２１にて入力される工程表については、図１０を参照する。さらに、プログラム作成装置を構成する各表示画面１０，３１，３２，５０については、図２〜図６を適宜参照し、テンプレートを示す図７も参照する。
【００３４】
プログラム作成装置は、図２を参照して上述したように、ＳＦＣ表示画面１０と、ＳＦＣ処理部２０と、ダイアログボックス表示画面３１，３２と、ダイアログボックス処理部４０と、プログラム表示画面５０と、プログラム処理部６０と、外部入力部７０とを備える。ここで、図８には、ＳＦＣ処理部２０、ダイアログボックス処理部４０およびプログラム処理部６０をより詳細に区分した機能ブロックを記載している。
【００３５】
（３−１．ＳＦＣ）
ＳＦＣ表示画面１０は、図３に示すように、シンボル番号欄１１、シンボル表示欄１２、ステップ名称欄１３がある。シンボル番号欄１１は、行数を表している。シンボル表示欄１２は、各シンボル番号に一つずつＳＦＣのシンボルを表示する欄である。ＳＦＣのシンボルとは、矩形枠形状で表すステップST、トランジションTr、ジャンプなどである。図３においては、第一行、第三行、第五行、第七行に、ステップST0001〜ST0004を表示し、第二行、第四行、第六行に、トランジションTr0001〜Tr0003を表示している。ステップ名称欄１３には、シンボル表示欄１２のシンボルがステップSTの場合に、ステップST毎にステップ名称を表示する欄である。図３においては、ステップST0001のステップ名称を「取付面荒削り（φ・・）」と表示している。このステップ名称は、例えば、ＳＦＣのステップSTによる加工部位や、穴明け、面削り、荒加工、仕上加工などの加工種別や、工具径などを記載することで、当該ステップSTが何をするステップ（動作サイクル）であるかを把握するための文字列とする。また、ＳＦＣ表示画面１０は、右端に上下スクロールバー１４を表示しており、上下スクロールができるようにしている。
【００３６】
ＳＦＣ処理部２０は、図８に示すように、工程表入力部２１と、ＳＦＣ作成処理部２２と、ＳＦＣ記憶部２３と、ＳＦＣ表示処理部２４とを備える。工程表入力部２１は、工作機械の制御手順を示す工程表を入力（取得）する。作業者がキーボード、ポインティングデバイスなどの外部入力部７０を操作することにより、工程表のデータを入力する。この工程表は、複数の工程の順序を示すものであり、例えば図１０に示すような表形式データである。図１０に示す工程表には、工程順序、工程名称、工程情報が含まれている。工程名称は、上述したＳＦＣのステップ名称として用いられるような名称である。例えば、取付面荒削り（φ・・）などが記載される。また、工程情報には、例えば、使用工具種類、工具径、工具長などの工具情報、主軸回転数、加工送り速度、切込量などの加工条件が含まれる。
【００３７】
ＳＦＣ作成処理部２２は、ＮＣプログラムを複数の動作サイクルに分割した場合に、それぞれの動作サイクルをＳＦＣのステップSTとして作成する。さらに、ＳＦＣ作成処理部２２は、ステップST間にトランジションTrを介在するＳＦＣを作成することもできるし、トランジションTrを介在せずにステップSTを直接接続するＳＦＣを作成することもできる。図３のＳＦＣ表示画面には、全てのステップST間にトランジションTrを介在する場合を示している。
【００３８】
さらに、ＳＦＣは、後述するプログラム記憶部６２に記憶されているＮＣプログラムと対応付けられている。例えば、図６に示すＮＣプログラムにおいて、ステップ開始記号「(*$CYC0001*通常*)」（上から２行目）からステップ終了記号「(*$CYCEND*)」（最下行）までの間の部分が、ＳＦＣの１つのステップSTとなる。つまり、ＳＦＣ作成処理部２２は、ＮＣプログラムのステップ開始記号とステップ終了記号に基づいて、ＳＦＣのステップSTを作成する。
【００３９】
また、ＳＦＣ作成処理部２２は、作業者が外部入力部７０を用いて、直接に、新規のステップSTなどのシンボルを入力することで、ＳＦＣを作成することができる。この他に、ＳＦＣ作成処理部２２は、工程表入力部２１により入力された工程表（図１０に示す）を自動的に取得することで、ＳＦＣを作成することもできる。この場合、ＳＦＣ作成処理部２２は、図１０に示す工程表における制御手順を示す工程名称を動作サイクルと認識して、工程毎にＳＦＣのステップSTを作成する。例えば、ＳＦＣ作成処理部２２が、図１０に示す工程表を自動取得した場合には、図３に示すようなＳＦＣとなる。この場合、ＳＦＣ作成処理部２２は、図１０に示す工程表における工程名称を、図３におけるステップ名称として認識する。
【００４０】
ＳＦＣ記憶部２３は、ＳＦＣ作成処理部２２により作成されたＳＦＣを記憶する。ＳＦＣ記憶部２３に記憶されるＳＦＣとは、図３に示す程度の情報である。すなわち、ＳＦＣ記憶部２３には、シンボル番号に対応するシンボルの種別およびシンボル記号、すなわちシンボルの順序と、ステップST毎に対応するステップ名称とが記憶されている。
【００４１】
ＳＦＣ表示処理部２４は、ＳＦＣ記憶部２３に記憶されているＳＦＣおよびステップ名称をＳＦＣ表示画面１０に表示させる処理を行う。従って、ＳＦＣ記憶部２３に記憶されているＳＦＣが変更された場合には、変更に伴いＳＦＣ表示画面１０に表示される内容も変更される。
【００４２】
ここで、上述したＳＦＣ作成処理部２２の処理について、図９を参照して説明する。図９に示すように、ＳＦＣ作成処理部２２は、作業者により工程表の入力があるか否かを判定し（Ｓ１）、工程表の入力があれば工程表に基づくＳＦＣを作成し、ＳＦＣ記憶部２３に記憶する（Ｓ２）。工程表の入力がない場合には、続いて作業者によりシンボルの新規入力があるか否かを判定し（Ｓ３）、シンボルの新規入力があれば、入力されたシンボルに基づいてＳＦＣを作成する（Ｓ４）。
【００４３】
続いて、シンボルの新規入力がない場合には、既に作成されたシンボルが作業者により移動されたか否かを判定し（Ｓ５）、シンボルが移動された場合にはシンボルの移動処理、すなわち移動したシンボルの順序に応じたＳＦＣをＳＦＣ記憶部２３に記憶する（Ｓ６）。続いて、シンボルの移動処理がない場合には、既に作成されたシンボルが作業者により削除されたか否かを判定し（Ｓ７）、シンボルが削除された場合には、当該シンボルを削除して残りのシンボルの順序を変更したＳＦＣをＳＦＣ記憶部２３に記憶する（Ｓ８）。
【００４４】
続いて、シンボルの削除がない場合には、既に作成されたステップSTが作業者により選択されたか否かを判定し（Ｓ９）、ステップSTが選択された場合には後述するダイアログボックス表示処理部４５に対して、当該ステップSTに対応づけられたダイアログボックス情報を第一ダイアログボックス表示画面３１に表示するように指示する（Ｓ１０）。そして、Ｓ２，Ｓ４，Ｓ６，Ｓ８，Ｓ１０の処理の後、および、Ｓ９においてＮｏの場合には、処理をリターンする。
【００４５】
（３−２．ダイアログボックス）
第一ダイアログボックス表示画面３１は、ＮＣプログラムにおけるパラメータ数値およびパラメータ名称の設定および編集を行うことができる入力画面である。図４に示すように、この第一ダイアログボックス表示画面３１には、ＳＦＣのステップ番号の表示領域３１ａ、ステップ名称の表示領域３１ｂ、動作サイクル名の表示領域３１ｃ、動作サイクル選択ボタンの表示領域３１ｄ、パラメータの表示領域３１ｅ、図面の表示領域３１ｆ、ＮＣプログラム表示ボタン３１ｇがある。第一ダイアログボックス表示画面３１には、ＳＦＣ作成処理部２２にて選択されたステップSTに含まれるダイアログボックス情報が表示される。
【００４６】
ここで、ダイアログボックス情報には、上記の各領域に関する情報が含まれている。ただし、パラメータの表示領域に表示される情報としては、パラメータ名称およびパラメータ数値であるが、ダイアログボックス情報としては、パラメータ数値、パラメータ名称の他に、パラメータ記号が含まれている。なお、第一ダイアログボックス表示画面３１のパラメータの表示領域にパラメータ記号を表示していないが、表示するようにしてもよい。
【００４７】
そして、図４は、図３のＳＦＣのステップST0001のダイアログボックス情報が表示されている例を示している。図４において、表示領域３１ａのステップ番号および表示領域３１ｂのステップ名称は、ＳＦＣ作成処理部２２にて選択されたステップSTおよびそのステップ名称である。表示領域３１ｃに表示される動作サイクル名は、後述する複数のテンプレートに登録されている名称である。
【００４８】
表示領域３１ｄの動作サイクル選択ボタンは、後述するテンプレート選択処理部４２に連動しており、当該ステップSTにおける動作サイクルの種別のテンプレート（図７に示す）を選択する際に用いる。つまり、当該動作サイクル選択ボタンが選択されると、テンプレート選択処理部４２が第二ダイアログボックス表示画面３２を表示する処理を行う。
【００４９】
表示領域３１ｅのパラメータは、上述したように、ＮＣプログラム（図６に示す）に含まれるパラメータ数値およびパラメータ名称である。表示領域３１ｆの図面は、加工種別（動作種別）を示す図面であり、ここでは後述するテンプレート記憶部４１に予め記憶されているテンプレート図を表示している。このテンプレート図は、テンプレート選択処理部４２により選択されたテンプレートに対応付けられた図である。ここで、表示領域３１ｆの図面は、別途作業者が準備した被加工物Ｗの図面とすることもでき、例えば寸法を含む図面を表示領域３１ｆに表示させておくと、パラメータ数値の入力の際に参考にすることができる。ＮＣプログラム表示ボタン３１ｇは、図６に示すＮＣプログラム表示画面５０を表示する場合に用いる。
【００５０】
第二ダイアログボックス表示画面３２は、作業者が外部入力部７０を操作することによって、第一ダイアログボックス表示画面３１の表示領域３１ｄの動作サイクル選択ボタンを選択した場合に、動作サイクルのテンプレートを選択するために用いる。この第二ダイアログボックス表示画面３２には、図５に示すように、加工種別（動作種別）を複数の大きなグループに分けたグループ名を表示するグループ領域３２ａと、各グループに含まれる動作サイクルを表示する動作サイクル領域３２ｂとがある。例えば、図５において、グループ領域３２ａには、共通、穴明け、面削りなどが表示されており、動作サイクル領域３２ｂには、共通グループを表示しており、工程開始、工程完了、原点戻し、ＡＴＣ（工具交換）などが表示されている。つまり、動作サイクルを選択する際には、第二ダイアログボックス表示画面３２のグループ領域３２ａの中から１つを選択した後に、動作サイクル領域３２ｂの中から１つを選択する。
【００５１】
ダイアログボックス処理部４０は、図８に示すように、テンプレート記憶部４１と、テンプレート選択処理部４２と、ダイアログボックス情報作成処理部４３と、ダイアログボックス情報記憶部４４と、ダイアログボックス表示処理部４５とを備える。
【００５２】
テンプレート記憶部４１は、複数の動作種別のそれぞれに対応するＮＣプログラムのテンプレートを記憶する。例えば、図７には、１箇所の穴明け加工についてのテンプレートを示す。なお、「通常」と記載されているのは、１箇所の加工であることを意味し、複数箇所の加工を区別するための用語である。そして、図７に示すテンプレートにおいて、「数値(*$パラメータ記号*パラメータ名称*)」と記載されている部分は、後述するダイアログボックス情報作成処理部４３において当該数値がパラメータ数値であることを認識するための記述方法である。
【００５３】
例えば、「6000(*$C003*主軸回転数*)」と記載されている部分は、主軸回転数をパラメータ化するための記述であり、テンプレートにおいて6000回転／minと規定されている。また、「1200(*$C004*送り速度*)」と記載されている部分は、送り速度をパラメータ化するための記述であり、1200m/minと規定されている。ここで、主軸回転数および送り速度は、テンプレートにおいて標準値に規定しているが、パラメータ化されているため第一ダイアログボックス表示画面３１において編集可能である。また、「穴 X」「穴深さ（座標） Z」などは、テンプレートにおいて「０」に規定されているが、パラメータ化されているため第一ダイアログボックス表示画面３１において編集可能である。
【００５４】
テンプレート選択処理部４２は、テンプレート記憶部４１に記憶されている複数のテンプレートの中から、現在作成しているステップSTの動作サイクルに該当するテンプレートを選択する。テンプレート選択処理部４２は、作業者が外部入力部７０を操作することによって、図５に示す第二ダイアログボックス表示画面３２にて選択される。このテンプレート選択処理部４２による処理について、図１１を参照して説明する。
【００５５】
図１１に示すように、テンプレート選択処理部４２は、作業者が外部入力部７０を操作することにより、第一ダイアログボックス表示画面３１において表示領域３１ｄの動作サイクル選択ボタンが押されたか否かを判定する（Ｓ１１）。ボタンが押された場合には、第二ダイアログボックス表示画面３２を表示するように、後述するダイアログボックス表示処理部４５に対して指示する（Ｓ１２）。従って、図５に示す第二ダイアログボックス表示画面３２が表示される。
【００５６】
続いて、第二ダイアログボックス表示画面３２において、作業者が外部入力部７０を操作することにより、動作サイクルの選択が完了したか否かを判定する（Ｓ１３）。この判定は、作業者により動作サイクルの選択が完了するまで継続される。第二ダイアログボックス表示画面３２において動作サイクルの選択が完了すると、テンプレート記憶部４１に記憶されている複数のテンプレートの中から、当該動作サイクルに対応付けられたテンプレートを取得する（Ｓ１４）。そして、処理をリターンする。なお、ダイアログボックス情報作成処理部４３が、当該取得したテンプレートに基づいてダイアログボックス情報の新規作成を行う。
【００５７】
ダイアログボックス情報作成処理部４３は、テンプレート選択処理部４２により選択されたテンプレートに基づいてダイアログボックス情報を作成する。つまり、ダイアログボックス情報作成処理部４３は、図１１のＳ１４にて取得したテンプレートに含まれているパラメータに関する情報、および、テンプレートに対応付けられたテンプレート図などをダイアログボックス情報として、後述するダイアログボックス情報記憶部４４に記憶する。
【００５８】
また、ダイアログボックス情報作成処理部４３は、ＳＦＣ記憶部２３に記憶されているＳＦＣのステップSTに対応付けたダイアログボックス情報を作成する。ここで、テンプレート選択処理部４２により選択されたテンプレートは、第一ダイアログボックス表示画面３１に表示されているＳＦＣのステップSTに関するテンプレートである。例えば、図７に示すテンプレートに基づき作成されるダイアログボックス情報には、ステップ番号として「ST0001」が含まれている。
【００５９】
また、ダイアログボックス情報作成処理部４３は、後述するプログラム記憶部６２にＮＣプログラムが既に記憶されている場合、もしくは、ＮＣプログラムを直接作成した場合などにおいては、当該ＮＣプログラムに基づいてダイアログボックス情報を作成する。つまり、ダイアログボックス情報作成処理部４３は、ＮＣプログラムに含まれる「数値(*$パラメータ記号*パラメータ名称*)」との記載によりパラメータ項目として認識し、認識したパラメータ記号およびパラメータ名称とこれらに対応付けられているパラメータ数値とをダイアログボックス情報として作成する。
【００６０】
このダイアログボックス情報作成処理部４３の処理について、図１２を参照して説明する。図１２に示すように、ダイアログボックス情報作成処理部４３は、図５に示す第二ダイアログボックス表示画面３２にてテンプレートの選択処理中であるか否かを判定する（Ｓ２１）。選択処理中の場合には、テンプレート選択処理（図１１のＳ１４）で取得したテンプレートに含まれているパラメータに関する情報、および、テンプレートに対応付けられたテンプレート図などをダイアログボックス情報として新規作成する。そして、この情報をダイアログボックス情報記憶部４４に記憶する（Ｓ２２）。
【００６１】
Ｓ２１で選択処理中でない場合には、作業者が外部入力部７０を操作することにより、図４に示す第一ダイアログボックス表示画面３１のパラメータの表示領域３１ｅにおけるパラメータ数値またはパラメータ名称の編集が行われたか否かを判定する（Ｓ２３）。編集されていれば、パラメータ編集に伴って、ダイアログボックス情報記憶部４４に記憶しているダイアログボックス情報を変更する。（Ｓ２４）。
【００６２】
Ｓ２３でパラメータが編集されていなければ、作業者が外部入力部７０を操作することにより、図４に示す第一ダイアログボックス表示画面３１の表示領域３１ｂにおけるステップ名称の編集が行われたか否かを判定する（Ｓ２５）。編集されていれば、ステップ名称の編集に伴って、ダイアログボックス情報記憶部４４に記憶しているダイアログボックス情報を変更する。（Ｓ２６）。
【００６３】
Ｓ２５でステップ名称が編集されていなければ、プログラム記憶部６２に記憶されているＮＣプログラムに変更があるか否かを判定する（Ｓ２７）。変更があれば、ＮＣプログラムの変更に伴い、ダイアログボックス情報記憶部４４に記憶しているダイアログボックス情報を変更する（Ｓ２８）。例えば、図６に示すＮＣプログラムにおけるパラメータ数値、パラメータ名称、パラメータ記号などが変更された場合、パラメータ化されていない箇所がパラメータ化された場合、逆にパラメータ化されている箇所が非パラメータ化された場合などには、該当するパラメータ数値、パラメータ名称、パラメータ記号に関するダイアログボックス情報を変更する。
【００６４】
Ｓ２７でＮＣプログラムが変更されていなければ、ＳＦＣ記憶部２３に記憶されているＳＦＣに変更があるか否かを判定する（Ｓ２９）。変更があれば、ＳＦＣの変更に伴い、ダイアログボックス情報記憶部４４に記憶しているダイアログボックス情報を変更する（Ｓ３０）。例えば、図３に示すＳＦＣのステップSTが追加、移動、削除された場合などには、該当するステップSTに関するダイアログボックス情報を変更する。そして、Ｓ２２，Ｓ２４，Ｓ２６，Ｓ２８，Ｓ３０の処理の後、および、Ｓ２９においてＮｏの場合には、処理をリターンする。
【００６５】
ダイアログボックス情報記憶部４４は、ダイアログボックス情報作成処理部４３により作成されたダイアログボックス情報を記憶する。つまり、ダイアログボックス情報記憶部４４には、図４に示す各領域に関する情報に加えて、ＮＣプログラムに含まれるパラメータ記号が含まれている。
【００６６】
ダイアログボックス表示処理部４５は、ダイアログボックス情報記憶部４４に記憶されているダイアログボックス情報のうち図４に表示される情報を、第一ダイアログボックス表示画面３１に表示する処理を行う。このダイアログボックス表示処理部４５による処理について、図１３を参照して説明する。
【００６７】
図１３に示すように、ダイアログボックス表示処理部４５は、第一ダイアログボックス表示画面３１を表示中であるか否かを判定する（Ｓ３１）。表示されていなければ、ＳＦＣ表示画面１０において作業者が外部入力部７０を操作することにより、ＳＦＣ作成処理部２２がステップSTを選択したか否かを判定する（Ｓ３２）。選択された場合には、当該ステップSTについての第一ダイアログボックス表示画面３１を表示する（Ｓ３３）。
【００６８】
また、Ｓ３１で第一ダイアログボックス表示画面３１が表示中の場合には、ダイアログボックス情報の変更があったか否かを判定する（Ｓ３４）。変更があれば、当該変更内容を第一ダイアログボックス表示画面３１に反映させる（Ｓ３５）。例えば、テンプレート選択完了に伴うダイアログボックス情報の変更、ＳＦＣ作成処理部２２によるＳＦＣ記憶部２３におけるＳＦＣの変更、および、ＮＣプログラムのパラメータ数値、記号、名称の変更などにより、ダイアログボックス情報が変更された場合には、上記の処理を行う。一方、Ｓ３４でダイアログボックス情報の変更がない場合には、Ｓ３５の処理を行わない。
【００６９】
続いて、テンプレート選択処理により第二ダイアログボックス表示画面３２の表示指示があるか否かを判定する（Ｓ３６）。すなわち、作業者が外部入力部７０を操作することにより、第一ダイアログボックス表示画面３１の表示領域３１ｄの動作サイクル選択ボタンが押されたか否かを判定する。表示指示がある場合には、第二ダイアログボックス表示画面３２を表示する処理を行う（Ｓ３７）。一方、Ｓ３６で表示指示がない場合、Ｓ３２でステップSTの選択がない場合には、処理をリターンする。
【００７０】
（３−３．ＮＣプログラム）
プログラム表示画面５０は、図６に示すように、ＮＣプログラムを表示する画面である。プログラム表示画面５０には、ＮＣプログラム全体を表示することもできるし、ＮＣプログラムの動作サイクル毎に表示することもできる。このＮＣプログラムは、図６に示すように、ステップ開始記号「(*$CYC0001*通常*)」、ステップ終了記号「(*$CYCEND*)」、パラメータ化表示「数値(*$パラメータ記号*パラメータ名称*)」を含んでいる。パラメータ化表示は、１２種ある（図４の表示領域３１ｅに記載の１２項目）。また、一度パラメータ化したパラメータ記号は、「数値(*$パラメータ記号*)」と記載しており、パラメータ名称の記載を省略できる。例えば、下から５行目における「250(*$C112*)」がそれに該当する。
【００７１】
プログラム処理部６０は、図８に示すように、プログラム作成処理部６１と、プログラム記憶部６２と、プログラム表示処理部６３とを備える。プログラム作成処理部６１は、ＳＦＣ記憶部２３に記憶されているＳＦＣとダイアログボックス情報記憶部４４に記憶されているダイアログボックス情報とに基づいてＮＣプログラムを自動的に作成する。つまり、新規作成時のＮＣプログラムは、ＳＦＣのそれぞれにステップSTに対応づけられた動作サイクルのテンプレートを、ステップSTの順につなげ合わせたプログラムである。
【００７２】
さらに、プログラム作成処理部６１は、ダイアログボックス情報記憶部４４に記憶されているダイアログボックス情報のうちのパラメータ数値が更新された場合に、プログラム記憶部６２に記憶されているＮＣプログラムにおける対応するパラメータ数値を更新されたパラメータ数値に変更する処理を行う。また、ダイアログボックス情報のうちパラメータ名称が更新された場合にも同様である。つまり、当初テンプレートそのものとして作成されたＮＣプログラムは、第一ダイアログボックス表示画面３１においてパラメータ数値およびパラメータ名称が編集されることで、編集された情報が反映されたＮＣプログラムとなる。
【００７３】
プログラム記憶部６２は、プログラム作成処理部６１により作成されたＮＣプログラムを記憶する。プログラム表示処理部６３は、プログラム記憶部６２に記憶されているＮＣプログラムをプログラム表示画面５０に表示させる処理を行う。従って、プログラム記憶部６２に記憶されているＮＣプログラムが変更された場合には、変更に伴いプログラム表示画面５０に表示される内容も変更される。
【００７４】
（４．作業者によるＮＣプログラムの新規作成処理）
以上説明したプログラム作成装置を用いて、ＮＣプログラムの新規作成処理について説明する。以下に、２種類の作成処理を示す。第一の作成処理について、図１４を参照して説明する。図１４に示す処理は、作業者が外部入力部７０を操作することにより行う処理である。
【００７５】
まず、作業者は、ＳＦＣ表示画面１０において新規ステップSTを作成する（Ｓ４１）。この処理は、ＳＦＣ作成処理部２２が行う。続いて、作業者は、ＳＦＣ表示画面１０において、新規作成したステップSTを選択する（Ｓ４２）。そうすると、図９のＳ９，Ｓ１０および図１３のＳ３２，Ｓ３３より、図４に示す第一ダイアログボックス表示画面３１が表示される。
【００７６】
続いて、作業者は、第一ダイアログボックス表示画面３１において、表示領域３１ｄの動作サイクル選択ボタンを押す（Ｓ４３）。そうすると、図１１のＳ１１，Ｓ１２および図３６，Ｓ３７より、図５に示す第二ダイアログボックス表示画面３２が表示される。続いて、作業者は、第二ダイアログボックス表示画面３２において、動作サイクルを選択する（Ｓ４４）。そうすると、図１２のＳ２１，Ｓ２２よりダイアログボックス情報が作成され、図１３のＳ３６，Ｓ３７より第一ダイアログボックス表示画面３１に反映される。このとき第一ダイアログボックス表示画面３１に表示されるパラメータ数値は、テンプレートに記述されている初期値である。さらに、プログラム作成処理部６１により、テンプレートそのものを用いたＮＣプログラムが作成される。
【００７７】
続いて、作業者は、第一ダイアログボックス表示画面３１において、パラメータ数値を編集する（Ｓ４５）。そうすると、図１２のＳ２３，Ｓ２４よりダイアログボックス情報が変更され、図１３のＳ３４，Ｓ３５より第一ダイアログボックス表示画面３１の表示に反映される。さらに、プログラム作成処理部６１により、ＮＣプログラムのパラメータ数値が編集されたパラメータ数値に変更される。つまり、図６に示すような、編集されたパラメータ数値が記述されたＮＣプログラムが作成される。続いて、ＳＦＣ表示画面１０において、新たなステップSTを追加する場合には、再びＳ４１に戻り処理を繰り返す（Ｓ４６）。一方、新たなステップSTの追加がない場合には、ＮＣプログラムの作成処理が終了する。
【００７８】
次に、第二のＮＣプログラムの新規作成処理について、図１５を参照して説明する。図１５に示す処理は、作業者が外部入力部７０を操作することにより行う処理である。ここで、図１５において、図１４と同じ記号は、同一処理を示し、詳細な説明を省略する。
【００７９】
まず、作業者は、図１５に示すように、ＳＦＣ表示画面１０において、工程表を入力する（Ｓ５１）。この処理は、図８の工程表入力部２１により行われる。そうすると、図９のＳ１，Ｓ２より工程表に基づくＳＦＣが自動作成される。続いて、Ｓ４２→Ｓ４３→Ｓ４４→Ｓ４５→Ｓ４６の処理が行われる。そして、Ｓ４６にて、ＳＦＣ表示画面１０において、新たなステップSTを追加する場合には、再びＳ５１に戻り処理を繰り返す（Ｓ４６）。
【００８０】
（５．効果）
第一ダイアログボックス表示画面３１の内容が、ＮＣプログラムに記述されているパラメータ数値およびパラメータ名称に対応した内容となっている。つまり、ＮＣプログラムにパラメータ記号およびパラメータ名称を記述することで、当該パラメータ名称を第一ダイアログボックス表示画面３１の編集可能な項目とすることができる。従って、ＮＣプログラムに記述される数値を、自由にパラメータ化することができる。
【００８１】
さらに、パラメータ化するための手段は、単に、ＮＣプログラムに「数値(*$パラメータ記号*パラメータ名称*)」を記述することで足りる。従って、非常に容易にパラメータ化できる。このように自由にパラメータ化できることで、ＮＣプログラムにおいて、複数回記述する必要のある数値を容易にパラメータ化でき、パラメータ数値の編集作業も容易となる。その結果、ＮＣプログラムにおける数値の入力ミスや設定ミスを軽減することができる。特に、設計変更により一部数値の変更を行う場合などに、ＮＣプログラムの変更に要する時間を短縮できる。さらに、一度ＮＣプログラムが作成されていれば、特殊なＧコードなどを把握していなくても、ＮＣプログラムの編集ができる。
【００８２】
また、第一ダイアログボックス表示画面３１では、パラメータ数値のみならず、パラメータ名称の編集が可能である。そして、第一ダイアログボックス表示画面３１におけるパラメータ名称の変更が、ＮＣプログラムに反映される。従って、パラメータ名称をより分かりやすい名称に変更したい場合などにおいて、ＮＣプログラムを直接編集することなく、第一ダイアログボックス表示画面３１にて編集が可能となる。これにより、作業者による編集自由度をより高めることができる。
【００８３】
また、予めテンプレート記憶部４１に記憶されたテンプレートからＮＣプログラムを作成することができる。従って、ＮＣプログラムの標準化を図ることができる。例えば、１のテンプレートにより、または、複数のテンプレートをつなげることにより、ＮＣプログラムを作成し、当該ＮＣプログラムに含まれるパラメータ数値の入力は上述したように、第一ダイアログボックス表示画面３１にて行うことができる。ここで、テンプレート自身は、予め誤りなどが少なく完成度の高い状態とすることができる。そのため、テンプレートを用いて作成されたＮＣプログラムのデバッグ時間を短縮できる。さらに、テンプレートからＮＣプログラムを作成できるため、ＮＣプログラムなどに含まれる特殊なＧコードなどを把握していなくても、ＮＣプログラムを作成することができる。
【００８４】
さらに、ＮＣプログラムをＳＦＣとして認識することとしている。これにより、ＮＣプログラムをＳＦＣとして表示でき、当該ＳＦＣによりＮＣプログラムを作成できる。一般に、ＮＣプログラムは、非常に難解なコードを用いて作成されているため、ＮＣプログラムを見ただけでは熟練者でなければ容易に把握できない。しかし、ＮＣプログラムをＳＦＣとして表示することとしたことにより、ＮＣプログラムの手順を視覚的に把握することができる。さらに、ＮＣプログラムがＳＦＣに基づいて作成されると共に、ＮＣプログラムのステップ開始記号「(*$CYC0001*通常*)」およびステップ終了記号「(*$CYCEND*)」に基づいてＳＦＣが作成されている。つまり、ＳＦＣとＮＣプログラムとが対応付けられている。従って、ＮＣプログラムの作成および編集を視覚的にできる。
【００８５】
さらに、ダイアログボックス情報記憶部４４に記憶されているダイアログボックス情報がＳＦＣのステップSTに対応付けられている。従って、ＳＦＣを作成して第一ダイアログボックス表示画面３１のパラメータ数値を入力することにより、ＮＣプログラムを作成できる。つまり、ＮＣプログラムに含まれる特殊なＧコードなどを把握していなくても、複数の動作サイクルからなるＮＣプログラムを容易に作成することができる。
【００８６】
また、工程表を予め作成していれば、この工程表によりＳＦＣを作成することができる。従って、ＮＣプログラムの作成がより容易になる。さらに、ＳＦＣのステップ名称をＳＦＣ表示画面１０に表示できることで、ＳＦＣの各ステップSTが行う処理を容易に把握できる。その結果、ＳＦＣを用いて、ＮＣプログラムの作成が容易になる。
【００８７】
また、第一ダイアログボックス表示画面３１に動作種別を示す図面（例えば、テンプレート図、被加工物の図など）が表示されていることで、現在表示されている第一ダイアログボックス表示画面３１が何を編集することができる画面であるかを視覚的に把握することができる。これにより、容易に、ＮＣプログラムを作成することができる。そして、第一ダイアログボックス表示画面３１に表示する図面は、テンプレート図とすることができる。従って、図面を個別に入力する必要はなく、かつ、当該図がテンプレートに対応づけられているため、表示する図面の設定ミスを防止することができる。
【００８８】
また、上記実施形態においては、工作機械のＮＣプログラムの作成を例に挙げたが、この他に、他の加工用ロボット、計測装置など、構成する移動体を位置決めする装置において、制御するプログラムに適用できる。特に、工作機械のＮＣプログラムや加工用ロボットのプログラムは、特に熟練者による知識が必要であったため、これらに本装置を適用することが非常に有用である。
【符号の説明】
【００８９】
１０：ＳＦＣ表示画面、  ３１：第一ダイアログボックス表示画面
３１ｅ：パラメータの表示領域、  ３２：第二ダイアログボックス表示画面
【図１】
0005817256.tif 000002
【図２】
0005817256.tif 000003
【図３】
0005817256.tif 000004
【図４】
0005817256.tif 000005
【図５】
0005817256.tif 000006
【図６】
0005817256.tif 000007
【図７】
0005817256.tif 000008
【図８】
0005817256.tif 000009
【図９】
0005817256.tif 000010
【図１０】
0005817256.tif 000011
【図１１】
0005817256.tif 000012
【図１２】
0005817256.tif 000013
【図１３】
0005817256.tif 000014
【図１４】
0005817256.tif 000015
【図１５】
0005817256.tif 000016