(57)【特許請求の範囲】
【請求項１】
画像表示装置を有し、少なくともワーク形状データおよび加工条件を指定し、該指定された前記ワーク形状および加工条件から一連の移動指令を生成する加工サイクル指令を含む加工プログラムに基づいて工作機械の可動部を制御する数値制御装置のシミュレーション装置において、
前記加工プログラムを解析し、前記解析した前記加工プログラムの指令が加工サイクル指令であるとき、前記ワーク形状データおよび前記加工条件から前記可動部の移動指令を順次生成する実行部と、
前記生成された移動指令を記憶するメモリと、
前記画像表示装置の加工プログラム表示領域に前記加工プログラムを表示し、動画表示領域に前記加工プログラムの動画を表示し、移動指令表示領域に前記移動指令を表示する表示部と、
を備え、
前記画像表示装置に前記生成した移動指令および該移動指令に基づく加工動作の動画を表示すると同時に前記移動指令を前記メモリに記憶することを特徴とする数値制御装置のシミュレーション装置。
【請求項２】
前記画像表示装置に表示された前記加工サイクル指令の移動指令の任意の指令を指定する操作部を備え、
前記実行部は、前記指定された移動指令から順次移動指令を前記メモリから呼び出し、前記呼び出した移動指令を実行することを特徴とする請求項１に記載の数値制御装置のシミュレーション装置。
【請求項３】
前記画像表示装置に表示された前記加工サイクル指令の移動指令の任意の指令を指定する操作部を備え、
前記実行部は、前記指定された移動指令で前記メモリに記憶された移動指令の実行を停止することを特徴とする請求項１に記載の数値制御装置のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置のシミュレーション装置に関する。
【背景技術】
【０００２】
ワークを加工するプログラムを作成する場合、オペレータは工具の移動経路の始点、終点を計算し、その移動指令を１ブロックずつ作成する必要がある。１ブロックとは加工プログラムを構成する１つの指令単位である。加工プログラムに用いられる指令として加工サイクル指令がある。加工サイクル指令は、複数のブロックからなる一連の移動指令を１つの指令で行うようにしたものであり、ワーク形状と加工条件を定義した指令である。工作機械を制御する数値制御装置は、加工プログラムに記述された加工サイクル指令により定義されたワーク形状と加工条件から、複数の移動指令を生成して可動軸を制御する。オペレータはこの加工サイクル指令を用いることで、ワークを加工するプログラムを容易に作成できる。
【０００３】
図１は実際の加工サイクル指令（旋削サイクル）を説明する加工プログラムの例である。図２は加工指令（旋削条件）を説明する図である。図３はワーク形状指令（形状定義）を説明する図である。加工プログラム名「Ｏ１０００」の加工プログラム例には、「Ｇ１９００Ｄ５０．Ｌ１００．Ｋ０」で記述されるワーク情報と、「Ｔ１」で記述される工具情報、「Ｓ５００」で記述される主軸回転数情報と、加工サイクル指令が記述されている。加工サイクル指令の切削条件を指定する加工指令は図２に示されるように各項目が指定され、切削して加工するワーク形状を定義するワーク形状指令は図３に示されるようにＸＺ平面において形状が定義される。加工サイクルでは、図４に示されるように、まず、切削領域を切削するための移動指令５０を生成し、実行する（ａ）。次に、（ａ）の切削終了位置から工具を逃がすための移動指令５１を生成し、実行する（ｂ）。次に、（ｂ）の終了位置から切削開始位置に工具を移動するための移動指令５２を生成し、実行する。前記（ａ）〜（ｃ）を繰り返し、切削領域内を切削する工程を切削領域の加工が終了するまで繰り返す（ｄ）。
【０００４】
従来、数値制御装置あるいはシミュレーション装置において、実際の加工前に、加工プログラムに基づいて加工のシミュレーションを行う。数値制御装置やシミュレーション装置に備わった画像表示装置の画面上に、素材形状、チャック形状、工具形状を表示すると共に、素材が削られていく様子や工具軌跡をグラフィック表示（シミュレーション描画）させて、加工プログラムに示された加工動作を実際のワークの加工に先立ち、チェックすることができる（特許文献１参照）。
【０００５】
加工サイクル指令を含む加工プログラムをシミュレーション装置によりシミュレーション実行時、加工サイクル指令は複数の移動指令に変換され、実行される。図５は加工サイクル指令を含む加工プログラムのシミュレーションを実行した際に加工サイクル指令が複数の移動指令に変換されることを説明する図である。加工プログラム１０は、移動指令（ａ）１１、移動指令（ｂ）１３で示される複数の移動指令と、ワーク形状と加工条件が指令される加工サイクル指令１２を含んで構成される。シミュレーション装置により加工プログラム１０のシミュレーションを行うと、加工プログラム１０から、移動指令（ａ）２１、移動指令（ｂ）２３と、加工サイクル指令１２が複数の移動指令（２２1，２２2,・・・，２２n）に変換された加工プログラム２０が生成される。
【０００６】
図６に示されるように、加工サイクル指令１２は切削条件の指令部１２ａとワーク形状の指令部１２ｂとから構成される。加工プログラム中の加工サイクル指令を実行する場合、はじめに、加工サイクル指令のワーク形状指令の引数データより、切削領域６（図７参照）を求める。図７には、チャックに固定されたワークにおいて切削領域を、工具を用いて加工することを図示している。チャックはチャック形状２、ワークはワーク形状４、切削領域６、工具は工具形状８として表示される。なお、図７はシミュレーション装置に備わった画像表示装置に表示されるシミュレーション画像である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２２６６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来、図８に示されるようにシミュレーションにより加工サイクルの加工動作の動画を表示することはできたが、以下の問題があった。図８は従来のシミュレーション装置に備わった画像表示装置に表示される画面構成の一例を説明する図である。画面構成９０には第１表示領域１０１と第２表示領域１０２を有する。第１表示領域１０１はシミュレーション（工具軌跡またはアニメ描画）を表示する領域で、加工動作の動画が表示される。第２表示領域１０２には加工プログラムが表示される。第２表示領域１０２においてカーソル１１０が実行中のブロックに表示される。なお、カーソル１１０は他のブロックの表示領域の表示色と異なる。
【０００９】
加工サイクル指令を含む加工プログラムを公知のシミュレーション装置によりシミュレーションを実行すると、求められた切削領域内を切削するための移動指令を１ブロック生成し、生成された移動指令は、すぐに実行され、これにより工具の移動や加工動作の描画が行われる。そして、加工動作完了後に、切削領域内の次の移動指令を生成し、実行する。生成した移動指令は、工具の移動や加工動作の描画に使用されるため、一時的にメモリ領域に記憶されるが、次に生成した移動指令の情報は、前回の移動指令の情報を記憶していたメモリ領域に上書きするため、前回の移動指令の情報は記憶されない。そのため、過去の移動指令を再度確認することができず、また、加工サイクルの途中の移動指令を指定することもできない。加工サイクル内の途中の加工動作のみを確認したい場合、途中の移動指令を指定できないため、加工サイクルの先頭から実行しなければならないし、目的箇所までシングルブロック運転する必要がある。
【００１０】
そこで、本発明の目的は、上記従来技術の問題点に鑑み、加工サイクル指令を構成するブロック（移動指令）を任意に確認可能な、加工サイクル指令を含む加工プログラムの加工動作の動画を表示する数値制御装置のシミュレーション装置を提供することである。
【課題を解決するための手段】
【００１１】
本願の請求項１に係る発明は、画像表示装置を有し、少なくともワーク形状データおよび加工条件を指定し、該指定された前記ワーク形状および加工条件から一連の移動指令を生成する加工サイクル指令を含む加工プログラムに基づいて工作機械の可動部を制御する数値制御装置のシミュレーション装置において、前記加工プログラムを解析し、前記解析した前記加工プログラムの指令が加工サイクル指令であるとき、前記ワーク形状データおよび前記加工条件から前記可動部の移動指令を順次生成する実行部と、前記生成された移動指令を記憶するメモリと、前記画像表示装置の加工プログラム表示領域に前記加工プログラムを表示し、動画表示領域に前記加工プログラムの動画を表示し、移動指令表示領域に前記移動指令を表示する表示部と、を備え、前記画像表示装置に前記生成した移動指令および該移動指令に基づく加工動作の動画を表示すると同時に前記移動指令を前記メモリに記憶することを特徴とする数値制御装置のシミュレーション装置である。  
請求項２に係る発明は、前記画像表示装置に表示された前記加工サイクル指令の移動指令の任意の指令を指定する操作部を備え、前記実行部は、前記指定された移動指令から順次移動指令を前記メモリから呼び出し、前記呼び出した移動指令を実行することを特徴とする請求項１に記載の数値制御装置のシミュレーション装置である。  
請求項３に係る発明は、前記画像表示装置に表示された前記加工サイクル指令の移動指令の任意の指令を指定する操作部を備え、前記実行部は、前記指定された移動指令で前記メモリに記憶された移動指令の実行を停止することを特徴とする請求項１に記載の数値制御装置のシミュレーション装置である。
【発明の効果】
【００１２】
本発明により、加工サイクル指令を構成するブロック（移動指令）を任意に確認可能な、加工サイクル指令を含む加工プログラムの加工動作の動画を表示する数値制御装置のシミュレーション装置を提供できる。
請求項１に係る発明により、加工動作の動画と同期して加工サイクル指令を構成するブロックを表示可能であり、請求項２に係る発明により、再実行を開始したい加工サイクルの途中のブロックを選択可能とし、加工サイクルの途中から加工動作の動画を再実行可能であり、請求項３に係る発明により、停止したい加工サイクルの途中のブロックを選択可能とし、加工サイクルの途中のブロックで加工動作の動画を停止可能である。
【図面の簡単な説明】
【００１３】
【図１】実際の加工サイクル指令（旋削サイクル）を説明する加工プログラムの例である。
【図２】加工指令（旋削条件）を説明する図である。
【図３】ワーク形状指令（形状定義）を説明する図である。
【図４】加工サイクル実行の流れを説明する図である。
【図５】加工サイクル指令を含む加工プログラムのシミュレーションを実行した際に加工サイクル指令が複数の移動指令に変換されることを説明する図である。
【図６】加工サイクル指令を説明する図である。
【図７】加工サイクル指令により指定される切削領域を説明する図である。
【図８】従来技術に係る画面構成を説明する図である。
【図９】本発明の数値制御装置のシミュレーション装置の構成の実施形態を説明する図である。
【図１０】本発明に係る画面構成を説明する図である。
【図１１−１】本発明の操作部と表示部の処理フローを説明する図である（その１）。
【図１１−２】本発明の操作部と表示部の処理フローを説明する図である（その２）。
【図１２−１】本発明の実行部の処理フローを説明する図である（その１）。
【図１２−２】本発明の実行部の処理フローを説明する図である（その２）。
【図１２−３】本発明の実行部の処理フローを説明する図である（その３）。
【図１３】図１１−１〜図１１−２に示される処理フローにおいて表示される表示領域を示す図である。
【図１４】図１１−１〜図１２−３に示される処理フローにおいてデータの格納あるいは参照されるシミュレーション装置のメモリを説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。なお、従来技術と同じまたは類似する構成については同じ符号を用いて説明する。  
本発明は、加工サイクル指令を解析し、生成された移動指令をメモリ領域に記憶し、記憶された移動指令を表示し、表示された移動指令を１ブロック単位で指定できるようにし、記憶されたメモリ領域のプログラムにおいて、指定されたブロックから実行し、あるいは、記憶されたメモリ領域のプログラムにおいて、指定されたブロックで停止すること、加工サイクル内での再実行と停止が可能な、数値制御装置のシミュレーション装置を実現する。
【００１５】
図９は本発明の数値制御装置のシミュレーション装置の構成の実施形態を説明する図である。数値制御装置のシミュレーション装置３０（以下、「シミュレーション装置」という。）は、加工プログラム１０を入力するためのインタフェースである入力部３２、本発明を実現するためのシミュレーションを含む演算処理を行う実行部３４、実行部３４の演算処理で順次生成される移動指令を記憶するメモリ３６、シミュレーションを含む演算処理の結果をシミュレーション装置３０に備わった画像表示装置３７に表示する表示部３８を備えている。  
さらに、シミュレーション装置３０において、加工プログラムのシミュレーションを実行状態にする、つまり、シミュレーションの開始を指令するための開始ソフトキー、シミュレーション状態の一時停止に指令するための一時停止ソフトキー、シミュレーション状態の停止を指令するための停止ソフトキー、後述する第３領域に表示されるカーソルの上下への移動を指令する［↑］キーと［↓］キーと、カーソル位置のブロック番号を停止ブロック番号としてメモリ３６に格納することを指令する設定ソフトキーと、カーソル位置のブロック番号を再開ブロック番号としてメモリ３６に格納することを指令する設定ソフトキーを含む操作部３９を備えている。
【００１６】
シミュレーション装置３０は、図１１−１〜図１２−３に示されるフローチャートの処理を実行するプログラムを備えることによって、少なくともワーク形状データおよび加工条件を指定し、該指定された前記ワーク形状および加工条件から一連の移動指令を生成する加工サイクル指令を含む加工プログラムを解析し、前記解析した前記加工プログラムの指令が加工サイクル指令であるとき、前記ワーク形状データおよび前記加工条件から前記可動部の移動指令を順次生成し、前記生成された移動指令をメモリに記憶し、前記加工プログラムを表示し、前記加工プログラムの動画を表示し、前記加工サイクル指令を構成する前記移動指令を表示することができる。このシミュレーション装置３０は、例えば、画像処理機能を備えたパーソナルコンピュータ（図示せず）によって実現される。あるいは、工作機械を制御するコンピュータ内蔵の数値制御装置（図示せず）を用いて構成してもよい。
【００１７】
図１０は本発明に係る画面構成を説明する図である。本発明の画面表示の一例である画面構成１００は第１表示領域１０１と第２表示領域１０２と第３表示領域１０３とを備えている。第１表示領域１０１は加工動作の動画を表示する領域である。図１０の第１表示領域１０１には加工サイクル指令で形状が定義されるワーク形状４が表示され、切削領域６内には加工サイクルで生成される各移動指令の工具軌跡が表示される。第２表示領域１０２は加工サイクル指令を含む加工プログラムが表示される領域である。第３表示領域１０３は加工サイクル指令からシミュレーションにより生成された加工サイクル指令を構成する１つ以上のブロックが表示される領域である。第２表示領域１０２と第３表示領域１０３において、実行中のブロックにカーソル１１０と１１２が表示される。なお、カーソル１１０と１１２は他のブロックの表示領域の表示色と異なる。
【００１８】
図１１−１，図１１−２，図１２−１，図１２−２，図１２−３は本発明の処理フローを説明する図である。図１１−１は本発明の操作部と表示部の処理フローを説明する図である（その１）。図１１−２は本発明の操作部と表示部の処理フローを説明する図である（その２）。図１２−１は本発明の実行部の処理フローを説明する図である（その１）。図１２−２は本発明の実行部の処理フローを説明する図である（その２）。図１２−３は本発明の実行部の処理フローを説明する図である（その３）。図１１−１，図１１−２，図１２−１，図１２−２，図１２−３のフローチャートにおいて、操作部、表示部、実行部に分けられる。操作部はＳＡ０１，ＳＡ１０〜ＳＡ２１、表示部はＳＡ０２〜ＳＡ０９、実行部はＳＢ０１〜ＳＢ２４に対応する。
【００１９】
なお、図１１−１〜図１２−３に示されるフローチャートに記載されている第１表示領域、第２表示領域、第３表示領域は、図１３においてそれぞれ、符号１０１で示される領域（第１表示領域）、符号１０２で示される領域（第２表示領域）、符号１０３で示される領域（第３表示領域）に対応する。これらの表示領域１０１，１０２，１０３はシミュレーション装置３０の画像表示装置３７の表示画面に表示される。また、シミュレーション装置３０には、図９の操作部３９の入力インタフェースとして、シミュレーション状態を指令したり、カーソルを移動させるためのファンクションキーが設けられている。例えば、ファンクションキーＦ１は開始キー、ファンクションキーＦ２は一時停止キー、ファンクションキーＦ３は停止キー、ファンクションキーＦ４は停止ブロック番号用の設定キー、ファンクションキーＦ５は再開ブロック番号用の設定キー、ファンクションキーＦ６はカーソルを上方向に移動させる［↑］キー、ファンクションキーＦ７はカーソルを下方向に移動させる［↓］キーとして割り当てられている。
【００２０】
図１３の画面構成１００は図１０の本発明の画面構成に係る例に対応する。メモリは図１４に符号３６として図示されている。
【００２１】
まず、操作部と表示部の処理を図１１−１，図１１−２のフローチャートの各ステップに従って説明する。  
●［ステップＳＡ０１］キー操作ありか否か判断し、キー操作があり（ＹＥＳ）の場合ステップＳＡ１０へ移行し、キー操作がない（ＮＯ）場合ステップＳＡ０２へ移行する。  
●［ステップＳＡ０２］シミュレーション状態は実行中であるか否か判断し、シミュレーション状態が実行中の場合（ＹＥＳ）ステップＳＡ０３へ移行し、実行中ではない場合（ＮＯ）ステップＳＡ０１へ戻る。  
●［ステップＳＡ０３］加工動画描画用情報をメモリ３６から取得する。なお、加工動画描画用情報はステップＳＢ１４（図１２−２参照）の処理によりメモリ３６に格納されている。
【００２２】
●［ステップＳＡ０４］第１表示領域に加工動作を描画する。  
●［ステップＳＡ０５］第２表示領域に実行中の加工プログラムを表示する。  
●［ステップＳＡ０６］加工サイクルフラグＯＮか否か判断し、フラグＯＮの場合（ＹＥＳ）ステップＳＡ０７へ移行し、フラグＯＦＦの場合（ＮＯ）ステップＳＡ０１へ戻る。なお、加工サイクルフラグについて補足して説明する。加工サイクルフラグは加工サイクル指令が実行されている場合にフラグＯＮ、それ以外はフラグＯＦＦとなる。ＯＮ、ＯＦＦのタイミングは、後述するステップＳＢ１０（図１２−２参照）の処理によりフラグＯＮ、ステップＳＢ１７（図１２−２参照）、ステップＳＢ２４（図１２−３参照）の処理でフラグＯＦＦとなる。
●［ステップＳＡ０７］加工サイクルの実行中の展開ブロックのプログラムをメモリ３６から取得する。表示用加工サイクルの展開ブロックのプログラムはステップＳＢ２２（図１２−３参照）の処理によりメモリ３６に格納される。また、シミュレーション状態が停止した場合、ステップＳＢ０５（図１２−１参照）の処理によりメモリ３６に格納された表示用加工サイクルの展開ブロックのプログラム情報は削除される。  
【００２３】
●［ステップＳＡ０８］第３表示領域に実行中の展開ブロックのプログラムを表示する。●［ステップＳＡ０９］第３表示領域の実行中の展開ブロックにカーソルを表示し、ステップＳＡ０１へ戻る。
●［ステップＳＡ１０］開始ソフトキーが押下されているか否か判断し、開始ソフトキーが押下されている場合（ＹＥＳ）ステップＳＡ１４へ移行し、押下されていない場合（ＮＯ）ステップＳＡ１１へ移行する。
●［ステップＳＡ１１］一時停止ソフトキーが押下されているか否か判断し、一時停止ソフトキーが押下されている場合（ＹＥＳ）ステップＳＡ１５へ移行し、押下されていない場合（ＮＯ）ステップＳＡ１２へ移行する。  
●［ステップＳＡ１２］停止ソフトキーが押下されているか否か判断し、停止ソフトキーが押下されている場合（ＹＥＳ）ステップＳＡ１６へ移行し、押下されていない場合（ＮＯ）ステップＳＡ１３へ移行する。  
●［ステップＳＡ１３］シミュレーション状態は一時停止か否か判断し、一時停止の場合（ＹＥＳ）ステップＳＡ１７へ移行し、一時停止ではない場合（ＮＯ）ステップＳＡ０２に戻る。
【００２４】
●［ステップＳＡ１４］シミュレーション状態を実行中にする。  
●［ステップＳＡ１５］シミュレーション状態を一時停止にする。  
●［ステップＳＡ１６］シミュレーション状態を停止にする。
●［ステップＳＡ１７］加工サイクルフラグがＯＮか否か判断し、フラグＯＮの場合（ＹＥＳ）ステップＳＡ１８へ移行し、加工サイクルフラグがＯＦＦの場合（ＮＯ）ステップＳＡ０２へ戻る。なお、加工サイクルフラグについてはステップＳＡ０６において説明している。  
●［ステップＳＡ１８］カーソルを上方向へ移動させるソフトキー［↑］、または、カーソルを下方向へ移動させるソフトキー［↓］が押下されたか否か判断し、それらのキーが押下された場合（ＹＥＳ）ステップＳＡ２０へ移行し、押下されていない場合（ＮＯ）ステップＳＡ１９へ移行する。
【００２５】
●［ステップＳＡ１９］設定ソフトキーが押下されたか否か判断し、押下された場合（ＹＥＳ）ステップＳＡ２１へ移行し、押下されていない場合（ＮＯ）ステップＳＡ０２へ戻る。  
●［ステップＳＡ２０］第３表示領域内のカーソルをソフトキーで指令される矢印方向に移動させる。カーソル位置はステップＳＡ１８の処理によってオペレータのキー操作に応じて任意のブロックを選択することができる。  
●［ステップＳＡ２１］第３表示領域内のカーソル位置のブロック番号を停止ブロック番号としてメモリ３６に格納する。または、シミュレーションを再実行するブロック番号を再開ブロック番号としてメモリ３６に格納し、ステップＳＡ０２へ戻る。
【００２６】
次に、実行部の処理を図１２−１，図１２−２，図１２−３のフローチャートの各ステップに従って説明する。
●［ステップＳＢ０１］シミュレーション状態を待機にする。待機状態とは、シミュレーションが完全に停止、かつシミュレーションがすぐ開始できる状態を表す。
●［ステップＳＢ０２］シミュレーション状態は実行中であるか否か判断し、シミュレーション状態が実行中の場合（ＹＥＳ）ステップＳＢ０７へ移行し、実行中ではない場合（ＮＯ）ステップＳＢ０３へ移行する。
●［ステップＳＢ０３］シミュレーション状態は一時停止か否か判断し、シミュレーション状態が一時停止の場合（ＹＥＳ）ステップＳＢ０２へ戻り、一時停止ではない場合（ＮＯ）ステップＳＢ０４へ移行する。
【００２７】
●［ステップＳＢ０４］シミュレーション状態は停止か否か判断し、シミュレーション状態が停止の場合（ＹＥＳ）ステップＳＢ０５へ移行し、シミュレーション状態が停止ではない場合（ＮＯ）ステップＳＢ０２へ戻る。
●［ステップＳＢ０５］表示用加工サイクルの展開ブロックのプログラムをメモリ３６の記憶領域から削除する。ステップＳＢ０４においてシミュレーション状態は停止と判断されたので、展開ブロックのプログラムのデータは必要なくなり、表示用加工サイクルの展開ブロックのプログラムとしてメモリ３６に格納されている展開ブロックを削除する。メモリの節約のために削除する。
【００２８】
●［ステップＳＢ０６］シミュレーション状態を待機にし、ステップＳＢ０２へ戻る。
●［ステップＳＢ０７］加工サイクルフラグＯＮか否か判断し、フラグＯＮの場合（ＹＥＳ）ステップＳＢ１１へ移行し、加工サイクルフラグＯＦＦの場合（ＮＯ）ステップＳＢ０８に移行する。加工サイクルフラグの既定値は、フラグＯＦＦである。
●［ステップＳＢ０８］シミュレーションする加工プログラムの次のブロックがあるか否か判断し、ある場合（ＹＥＳ）ステップＳＢ０９へ移行し、ない場合（ＮＯ）ステップＳＢ１６へ移行する。なお、次のブロックがないことは加工プログラムの最後のブロックまでシミュレーションが終了したことを意味する。
【００２９】
●［ステップＳＢ０９］加工プログラムのブロックを読み込み、読み込んだブロックが加工サイクル指令か否か判断し、加工サイクル指令の場合（ＹＥＳ）ステップＳＢ１０へ移行し、加工サイクル指令ではない場合（ＮＯ）ステップＳＢ１７へ移行する。なお、加工サイクル指令であるか否かは例えばブロックに指定されるＧコードによって判断できる。
●［ステップＳＢ１０］加工サイクルフラグＯＮにする。
【００３０】
●［ステップＳＢ１１］加工プログラムの加工サイクル指令のブロックより、加工サイクルの展開ブロックの１ブロックを作成する。同時に加工サイクルの展開ブロックのブロック番号を作成しメモリ３６に格納する。  
また、シミュレーションを再実行する場合の処理について説明する。処理は２つある。まず再開ブロック番号を用いた方法から説明する。まずメモリに記憶している再開ブロック番号を取得し、そのブロック番号を元に表示用加工サイクルの展開ブロックのプログラムから該当するブロック番号のブロックの情報を取得することで１ブロック作成する。    続いて２つ目の処理について説明する。２つ目の処理は、第３表示領域のカーソル位置からシミュレーションの再実行する場合の処理の説明である。この場合、現在のカーソル位置の情報と表示用加工サイクルの展開ブロックのプログラムから１ブロック作成する。  補足として、再開したブロックのさらに次の１ブロックを作成する処理について説明する。表示用加工サイクルの展開ブロックのプログラムが記憶しているブロックの情報がなくなるまで参照して、１ブロック作成することを順次繰り返していく。ブロックの情報なくなった場合、再度加工プログラムの加工サイクル指令のブロックから加工サイクルの展開ブロックの１ブロックを作成する。なお、再実行において、表示用加工サイクルの展開ブロックのプログラムを実行している間は、加工サイクルの展開ブロックのブロック番号を作成、格納は行わない。
【００３１】
●［ステップＳＢ１２］ステップＳＢ１１で作成した加工サイクルの展開ブロックの１ブロックを実行用ワークに格納する。実行用ワークを補足して説明する。実行用ワークとは、シミュレーション実行時に使用される一時記憶メモリである。実行用ワークの容量は１ブロック分のみであり、次のブロックが実行されるときに以前の１ブロックの情報は上書きされる。  
●［ステップＳＢ１３］実行用ワークの１ブロックを実行する。
【００３２】
●［ステップＳＢ１４］加工動作描画用情報を生成し、加工動作描画用情報をメモリ３６に格納する。  
●［ステップＳＢ１５］加工サイクルフラグＯＮか否か判断し、フラグＯＮの場合（ＹＥＳ）ステップＳＢ１９へ移行し、加工サイクルフラグＯＦＦの場合（ＮＯ）ステップＳＢ０２に戻る。  
【００３３】
●［ステップＳＢ１６］シミュレーション状態を停止にし、ステップＳＢ０２へ戻る。
●［ステップＳＢ１７］加工サイクルフラグＯＦＦにする。
●［ステップＳＢ１８］加工プログラムの１ブロック分の情報を実行用ワーク（メモリ３６）へコピーし、ステップＳＢ１３へ移行する。
【００３４】
●［ステップＳＢ１９］現在実行中の加工サイクルの展開ブロックのブロック番号をメモリ３６から取得する。加工サイクルの展開ブロックのブロック番号はステップＳＢ１１（図１２−２参照）の処理により格納される。
●［ステップＳＢ２０］メモリ３６に格納されている停止ブロック番号とステップＳＢ１９において取得した加工サイクルの展開ブロックのブロック番号とが等しいか否か判断し、両者が等しい番号の場合（ＹＥＳ）ステップＳＢ２１へ移行し、両者が等しい番号ではない場合（ＮＯ）ステップＳＢ２２へ移行する。
【００３５】
●［ステップＳＢ２１］シミュレーション状態を一時停止にし、ステップＳＢ０２へ戻る。  
●［ステップＳＢ２２］実行用ワーク（メモリ３６）から加工サイクルの展開ブロックのプログラムを取得し、表示用加工サイクルの展開ブロックのプログラムとしてメモリ３６に格納する。表示用加工サイクルの展開ブロックのプログラムは、現在実行中の加工サイクルが終了するまで保存し続ける。加工サイクルが終了するとステップＳＢ０５（図１２−１参照）の処理により表示用加工サイクルの展開ブロックのプログラムのメモリは削除される。
【００３６】
●［ステップＳＢ２３］加工サイクル指令の最後のブロックか否か判断し、最後のブロックの場合（ＹＥＳ）ステップＳＢ２４へ移行し、最後のブロックでない場合（ＮＯ）ステップＳＢ０２に戻る。また、加工サイクル指令の最後のブロックか否かの判断は、ステップＳＢ１１（図１２−２参照）の処理において、加工サイクルの展開ブロックの１ブロックが作成されない場合とする。
●［ステップＳＢ２４］加工サイクルフラグＯＦＦにし、ステップＳＢ０２へ戻る。
ここで、請求項２、３を補足して説明する。  
＜請求項２＞
請求項２の操作部には、再開ブロック番号を取得するためのＳＡ１８〜ＳＡ２１が対応する。また、実行部には、ＳＢ１１〜ＳＢ１４が対応する。  
＜請求項３＞
請求項３の操作部には、停止ブロック番号を取得するためのＳＡ１８〜ＳＡ２１が対応する。また、実行部には、ＳＢ２０〜２１が対応する。
【００３７】
図１３は、図１１−１〜図１１−２に示される処理フローにおいて表示される表示領域を示す図である。シミュレーション装置３０の画像表示装置３７の画面に表示される画面構成１００は、第１表示領域１０１、第２表示領域１０２、および、第３表示領域１０３を有する。画像表示装置３７には、ファンクションキーＦ１〜Ｆ７が少なくとも配置されている。  
【００３８】
図１４は図１１−１〜図１２−３に示される処理フローにおいてデータの格納あるいは参照されるシミュレーション装置のメモリを説明する図である。図９に示されるシミュレーション装置３０のメモリ３６は、加工プログラム格納部３６ａ、実行用ワーク格納部３６ｂ、加工動作描画用情報格納部３６ｃ、表示用加工サイクルの展開ブロックのプログラム格納部３６ｄ、加工サイクルの展開ブロックのブロック番号格納部３６ｅ、停止ブロック番号格納部３６ｆ、再開ブロック番号格納部３６ｇを備えている。図１１−１〜図１２−３に示されるフローチャートの処理を実行することで、メモリ３６の前記各格納部３６ａ，３６ｂ，３６ｃ，３６ｄ，３６ｅ，３６ｆ，３６ｇに情報が格納され、格納された情報が読み出され、不必要となった情報が削除されたりする。
【符号の説明】
【００３９】
２  チャック形状
４  ワーク形状
６  切削領域
８  工具形状
１０  加工プログラム
１１  移動指令（ａ）
１２  加工サイクル指令
１２ａ  切削条件の指令部
１２ｂ  ワーク形状の指令部
１３  移動指令（ｂ）
２０  加工プログラム
２１  移動指令（ａ）
２２1  加工サイクルの移動指令１
２２2  加工サイクルの移動指令２
２２n  加工サイクルの移動指令ｎ
２３  移動指令（ｂ）
３０  シミュレーション装置
３２  入力部
３４  実行部
３６  メモリ
３７  画像表示装置
３８  表示部
３９  操作部
５０  切削するための移動指令
５１  移動指令
９０  画面構成
１００  画面構成
１０１  第１表示領域
１０２  第２表示領域
１０３  第３表示領域
１１０  カーソル
１１２  カーソル
【図１】
0005444489.tif 000002
【図３】
0005444489.tif 000003
【図４】
0005444489.tif 000004
【図５】
0005444489.tif 000005
【図６】
0005444489.tif 000006
【図７】
0005444489.tif 000007
【図９】
0005444489.tif 000008
【図１１−１】
0005444489.tif 000009
【図１１−２】
0005444489.tif 000010
【図１２−１】
0005444489.tif 000011
【図１２−２】
0005444489.tif 000012
【図１２−３】
0005444489.tif 000013
【図１３】
0005444489.tif 000014
【図１４】
0005444489.tif 000015
【図２】
0005444489.tif 000016
【図８】
0005444489.tif 000017
【図１０】
0005444489.tif 000018