(57)【特許請求の範囲】
【請求項１】
ＮＣプログラムに基づいて制御される工作機械によるワークの加工に要する加工時間を予測する加工時間予測装置において、
第１のＮＣプログラムを構成する複数の区間に係る第１の区間情報を記憶する記憶部と、
前記第１のＮＣプログラムに基づいて修正された第２のＮＣプログラムを複数の区間に区分けし、前記複数の区間に係る第２の区間情報を生成するプログラム区分け手段と、
前記第１の区間情報および第２の区間情報に基づいて、前記第１のＮＣプログラムを構成する複数の区間と、前記第２のＮＣプログラムを構成する複数の区間との、それぞれの対応関係を特定する区間関係特定手段と、
前記第２のＮＣプログラムを構成する複数の区間のうち、加工時間予測対象となる区間を決定する予測区間決定手段と、
前記第２のＮＣプログラムに基づいて制御される工作機械による加工の加工時間を予測する加工時間予測手段と、
を備え、
前記第１の区間情報は、前記第１のＮＣプログラムを構成する複数の区間それぞれについて、前記複数の区間に基づく加工の予測時間を含み、
前記加工時間予測手段は、前記予測区間決定手段により加工時間予測対象となる区間について加工時間を予測すると共に、前記予測区間決定手段により加工時間予測対象とされていない区間については前記第１の区間情報に含まれる予測時間を取得し、全加工時間を算出する加工時間予測手段と、
を備えたことを特徴とする加工時間予測装置。
【請求項２】
前記第１の区間情報、および前記第２の区間情報は、それぞれ前記第１，第２の区間情報に対応する区間の先頭プログラムテキストを含み、
前記区間関係特定手段は、前記先頭プログラムテキストに基づいて前記第１のＮＣプログラムを構成複数の区間と、前記第２のＮＣプログラムを構成する複数の区間との、それぞれの対応関係を特定する、
ことを特徴とする請求項１に記載の加工時間予測装置。
【請求項３】
前記第１の区間情報、および前記第２の区間情報は、それぞれ前記第１，第２の区間情報に対応する区間の先頭ブロック実行開始時の前記工作機械の軸位置を含み、
前記区間関係特定手段は、前記先頭ブロック実行開始時の前記工作機械の軸位置に基づいて前記第１のＮＣプログラムを構成複数の区間と、前記第２のＮＣプログラムを構成する複数の区間との、それぞれの対応関係を特定する、
ことを特徴とする請求項１または２のいずれか１つに記載の加工時間予測装置。
【請求項４】
前記第１の区間情報、および前記第２の区間情報は、それぞれ前記第１，第２の区間情報に対応する区間のプログラムテキストのパリティ情報を含み、
前記予測区間決定手段は、前記第１，第２の区間情報に対応する区間のプログラムテキストのパリティ情報に基づいて加工時間予測対象となる区間を決定する、
ことを特徴とする請求項１〜３のいずれか１つに記載の加工時間予測装置。
【請求項５】
前記予測区間決定手段は、前記第１，第２の区間情報に対応する区間のプログラムテキストのパリティ情報に加えて、前記第２のＮＣプログラムの修正内容に基づいて加工時間予測対象となる区間を決定する、
ことを特徴とする請求項４に記載の加工時間予測装置。
【請求項６】
前記予測区間決定手段は、前記第２のＮＣプログラムの修正内容の指令が当該指令以降のブロック対して与える影響に基づいて加工時間予測対象となる区間を決定する、
ことを特徴とする請求項５に記載の加工時間予測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工時間予測装置に関し、特にＮＣプログラムを修正した場合における加工時間の予測にかかる時間を短縮する加工時間予測装置に関する。
【背景技術】
【０００２】
ＮＣプログラムを作成または修正するオペレータは、ＮＣプログラムを作成または修正した後に、ＮＣプログラムが正しく動作することを確認すると同時に、ＮＣプログラムによる加工時間についても確認を望むことが多い。
これは、対象としたＮＣプログラムで加工するとき、次の加工の準備をいつまでに行えばいいのかを確認するために、または、決められた日程・時間内で、加工できる個数を予測し、生産計画を行うために、加工時間の把握が必要となるからである。
【０００３】
一般的に、オペレータは、「ＮＣプログラムの作成または修正」と「ＮＣプログラムの実行時間の確認」の２つの作業を繰り返し、ＮＣプログラムを最適化する。ここで、「ＮＣプログラムの実行時間の確認」の方法には次のような手段がある。
（１）実際の工作機械で対象のＮＣプログラムを実行する。
（２）ＣＡＤ／ＣＡＭシステムによりＮＣプログラムを作成した際に一緒に求められる実行時間を使用する。
（３）ＮＣプログラムの加工時間を予測するソフトウェアを使用する。
【０００４】
ここで、（１）の方法は、加工時間を確認のためにＮＣプログラムの実行時間と同じ時間を要し、また、その加工時間を確認するために工作機械を実際に動作させる必要があるために当該工作機械を専有してしまうという問題がある。また、（２）の方法は、工具の移動距離と指令送り速度から、移動に要する時間を求める方法であるため、数値制御装置による運転時に考慮される加減速が予測加工時間に含まれず、予測加工時間の誤差が大きくなるという問題がある。
【０００５】
これに対して、（３）の一例として特許文献１にはＮＣプログラムの加工時間を予測する技術が開示されている。特許文献１に記載の技術は、上述する（１），（２）の手法に比べて高速かつ高精度に加工時間を予測することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４９８０４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の技術では、ＮＣプログラムの「加工時間の予測」は、ＮＣプログラムの先頭から最終ブロックまでの全範囲が対象であり、ＮＣプログラムが長い場合には、加工時間の予測結果を求めるための処理時間も長くなるという問題がある。そのため、図１４に示すように、ＮＣプログラムの修正箇所が数ブロックであっても予測処理時間は常に同じ程度の時間がかかってしまうため、ＮＣプログラムの最適化のために行う、「ＮＣプログラム作成・修正」と「加工時間の予測」を何度も繰り返すと、ＮＣプログラムが長い時には、当然ＮＣプログラムの最適化に費やす作業時間は顕著に長くなってしまうという問題があった。
【０００８】
そこで、本発明の目的は、ＮＣプログラム修正後の加工時間予測の処理時間を短くすることを可能とする加工時間予測装置を提供することである。
【課題を解決するための手段】
【０００９】
本願の請求項１に係る発明は、ＮＣプログラムに基づいて制御される工作機械によるワークの加工に要する加工時間を予測する加工時間予測装置において、第１のＮＣプログラムを構成する複数の区間に係る第１の区間情報を記憶する記憶部と、前記第１のＮＣプログラムに基づいて修正された第２のＮＣプログラムを複数の区間に区分けし、前記複数の区間に係る第２の区間情報を生成するプログラム区分け手段と、前記第１の区間情報および第２の区間情報に基づいて、前記第１のＮＣプログラムを構成する複数の区間と、前記第２のＮＣプログラムを構成する複数の区間との、それぞれの対応関係を特定する区間関係特定手段と、前記第２のＮＣプログラムを構成する複数の区間のうち、加工時間予測対象となる区間を決定する予測区間決定手段と、前記第２のＮＣプログラムに基づいて制御される工作機械による加工の加工時間を予測する加工時間予測手段と、を備え、前記第１の区間情報は、前記第１のＮＣプログラムを構成する複数の区間それぞれについて、前記複数の区間に基づく加工の予測時間を含み、前記加工時間予測手段は、前記予測区間決定手段により加工時間予測対象となる区間について加工時間を予測すると共に、前記予測区間決定手段により加工時間予測対象とされていない区間については前記第１の区間情報に含まれる予測時間を取得し、全加工時間を算出する加工時間予測手段と、を備えたことを特徴とする加工時間予測装置である。
【００１０】
ここで、第１のＮＣプログラムは、オペレータによるＮＣプログラムの最適化作業の中で、前回加工時間予測を行ったＮＣプログラムであり、第２のＮＣプログラムは、第１のＮＣプログラムに対して修正を加え、これから加工時間予測を行う対象としているＮＣプログラムである。すなわち、請求項１に係る発明では、オペレータにより「ＮＣプログラムの作成または修正」と「ＮＣプログラムの実行時間の確認」を繰り返す、ＮＣプログラムの最適化工程において、修正前のＮＣプログラムに対して行った加工時間予測結果を再利用することで、修正後のＮＣプログラムに対して行う加工時間予測処理にかかる時間を短縮し、最適化工程の大幅な効率化を図ることができる。
【００１１】
本願の請求項２に係る発明は、前記第１の区間情報、および前記第２の区間情報が、それぞれ前記第１，第２の区間情報に対応する区間の先頭プログラムテキストを含み、前記区間関係特定手段が、前記先頭プログラムテキストに基づいて前記第１のＮＣプログラムを構成複数の区間と、前記第２のＮＣプログラムを構成する複数の区間との、それぞれの対応関係を特定する、ことを特徴とする請求項１に記載の加工時間予測装置である。
【００１２】
本願の請求項３に係る発明は、前記第１の区間情報、および前記第２の区間情報が、それぞれ前記第１，第２の区間情報に対応する区間の先頭ブロック実行開始時の前記工作機械の軸位置を含み、前記区間関係特定手段が、前記先頭ブロック実行開始時の前記工作機械の軸位置に基づいて前記第１のＮＣプログラムを構成複数の区間と、前記第２のＮＣプログラムを構成する複数の区間との、それぞれの対応関係を特定する、ことを特徴とする請求項１または２のいずれか１つに記載の加工時間予測装置である。
【００１３】
本願の請求項４に係る発明は、前記第１の区間情報、および前記第２の区間情報が、それぞれ前記第１，第２の区間情報に対応する区間のプログラムテキストのパリティ情報を含み、前記予測区間決定手段が、前記区間情報に対応する区間のプログラムテキストのパリティ情報に基づいて加工時間予測対象となる区間を決定する、ことを特徴とする請求項１〜３のいずれか１つに記載の加工時間予測装置である。
【００１４】
本願の請求項５に係る発明は、前記予測区間決定手段が、前記第１，第２の区間情報に対応する区間のプログラムテキストのパリティ情報に加えて、前記第２のＮＣプログラムの修正内容に基づいて加工時間予測対象となる区間を決定する、ことを特徴とする請求項４に記載の加工時間予測装置である。
【００１５】
本願の請求項６に係る発明は、前記予測区間決定手段が、前記第２のＮＣプログラムの修正内容の加工指令が当該指令以降のブロック対して与える影響に基づいて加工時間予測対象となる区間を決定する、ことを特徴とする請求項５に記載の加工時間予測装置である。
【発明の効果】
【００１６】
本発明により、１度加工時間を予測したＮＣプログラムを修正した場合において、修正前のＮＣプログラムについて予測された加工時間の予測結果を用いて修正後のＮＣプログラムに関する加工時間の予測を行うため、加工時間予測処理時間を短縮することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態における加工時間予測装置の要部ブロック図である。
【図２】本発明の実施の形態における加工時間予測装置の機能ブロック図である。
【図３】後続のブロックに対してＮＣプログラムの動作に影響を与える指令を示す図である。
【図４】本発明の実施の形態における加工時間予測対象のＮＣプログラムの例を示す図である。
【図５】修正前のＮＣプログラムによる加工時間予測にかかる時間を示す図である。
【図６】従来技術における修正前後のＮＣプログラムによる加工時間予測にかかる時間を示す図である。
【図７】本発明の実施例１におけるＮＣプログラムによる加工時間予測にかかる時間を示す図である。
【図８】本発明の実施例１における修正後のＮＣプログラムによる加工時間予測処理の流れを説明する図である。
【図９】本発明の実施例２における修正による影響範囲がある場合のＮＣプログラムによる加工時間予測にかかる時間を示す図である。
【図１０】本発明の実施例２における修正による影響範囲がある場合のＮＣプログラムによる加工時間予測処理の流れを説明する図である。
【図１１】本発明の実施例２における修正による影響範囲が無い場合のＮＣプログラムによる加工時間予測にかかる時間を示す図である。
【図１２】本発明の実施例２における修正による影響範囲が無い場合のＮＣプログラムによる加工時間予測処理の流れを説明する図である。
【図１３】本発明の実施例３におけるＮＣプログラムによる加工時間予測処理の流れを説明する図である。
【図１４】従来技術のおけるＮＣプログラムによる加工時間予測処理の問題点を説明する図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面と共に説明する。
本発明の加工時間予測装置は、コンピュータなどの演算処理装置により構成される。図１は、本発明に係る実施の形態の演算処理装置１００の要部ブロック図である。演算処理装置１００は、演算処理を行うプロセッサであるＣＰＵ１１と、ＲＡＭやＲＯＭなどのメモリ１２、表示器３００を制御する表示コントローラ１３、電源スイッチ４００からのオン・オフ信号により演算処理装置１００の電源をオン・オフ制御する電源コントローラ１４、外部入力機器５００を制御する入力機器コントローラ１５、記憶装置２００を制御する記憶装置コントローラ１６がバス１７を介して接続される。
【００１９】
メモリ１２は、記憶装置２００や外部入力機器５００などにより外部から入力された各種データを格納したり、制御用プログラムを記憶しておく記憶手段である。外部入力機器５００としてキーボードなどがあり、入力機器コントローラ１５により外部入力機器５００からの入力データが演算処理装置１００に取り込まれる。記憶装置コントローラ１６は記憶装置２００とのデータの入出力を制御する。
記憶装置２００には、予測対象ＮＣプログラム２１、現データ領域２２、前回データ領域２３が格納されており、それぞれ加工時間予測処理において記憶装置コントローラ１６を介して演算処理装置１００に読み込まれて利用される。
【００２０】
図２は、本発明の一実施形態における演算処理装置１００の機能ブロック図である。演算処理装置１００は、プログラム区分け手段１１０、区間関係特定手段１２０、予測区間決定手段１３０を、加工時間予測手段１４０を備えている。
【００２１】
プログラム区分け手段１１０は、記憶装置２００から読み込まれた予測対象ＮＣプログラム２１をブロック毎に処理し、「区間先頭条件」を判別して複数のブロック毎の区間に区切る処理を行い、記憶装置２００の現データ領域２２に区間情報として記憶する。また、プログラム区分け手段１１０は、記憶装置２００の現データ領域２２を確認し、区間情報がすでに記録されている場合には、当該記録されている区間情報を前回データ領域２３へと移動する。
【００２２】
ここで、「区間先頭条件」とはＮＣプログラムを構成する各区間を区分けするための条件である。本実施の形態では、ＮＣプログラム内の以下の各ブロックを「区間先頭条件」として定義する。
●プログラム先頭
●補助コード（Ｍ，Ｓ，Ｔ，Ｂ）を含むブロック
●サブプログラム呼出し
●特定のキーワードを含むコメントブロック
●マスクバッファされるブロック（Ｇ４．１，Ｇ３１，Ｇ５３，Ｍコード等、当該ブロックが終了するまで、そのブロック以降のブロックのバッファリングが抑制される指令ブロック）
【００２３】
プログラム区分け手段１１０は、上記各「区間先頭条件」に対応するブロックでＮＣプログラムを分割し、分割されたＮＣプログラムテキストをそれぞれ以下の各項目と共に区間情報として現データ領域２２に記録する。
●［区間情報項目１］先頭ブロックのプログラムテキスト
●［区間情報項目２］先頭ブロック実行開始時の現在位置（先頭ブロックがマスクバッファされている場合のみ）
●［区間情報項目３］当該区間のＮＣプログラムテキストのパリティ情報
【００２４】
ここで、区間情報項目１の先頭ブロックのプログラムテキストは、当該区間の先頭ブロックのプログラムテキストそのものであり、プログラム名や呼び出されるサブプログラムの名称などが含まれており、一つのＮＣプログラム内において一意に定まるテキストである。また、区間情報項目２の先頭ブロック実行開始時の現在位置とは、当該区間の先頭ブロックが実行開始される際の、制御対象となる機械の各制御軸の位置情報である。更に、区間情報項目３のパリティ情報は、分割された各区間のＮＣプログラムのテキストに基づいて算出されたパリティ情報であり、当該区間のＮＣプログラムが修正された際に修正後のＮＣプログラムから算出されるパリティ情報と、修正前のＮＣプログラムから算出されたパリティ情報とから、当該ＮＣプログラムが修正されたことが識別できる程度のパリティ長を備えているものとする。なお、パリティ情報については、上述した通り当該区間のＮＣプログラムが修正されたことが識別できる情報であればどのような情報を用いてもよく、チェックサムやＣＲＣ、その他の一方向性ハッシュ関数などを用いるようにしてもよい。
【００２５】
区間関係特定手段１２０は、プログラム区分け手段１１０が区分けした現データの各区間情報に基づいて、記憶装置２００の前回データ領域２３から、それぞれ同じとみなされる区間情報を検索する。
前回データ領域２３には、予測対象となるＮＣプログラムが修正される前に作成された、修正前ＮＣプログラムの各区間情報が記録されており、また、当該各区間情報に前回予測した区間毎の加工予測時間がそれぞれ関連付けて記録されている。現データの各区間と同じとみなされる前回データの区間を検索する際には、区間情報項目１「先頭ブロックのプログラムテキスト」、または、区間情報項目２「先頭ブロック実行開始時の現在位置」（先頭ブロックそのものが編集されている場合など）を検索キーとして用いる。
【００２６】
予測区間決定手段１３０は、区間関係特定手段１２０が検索した同じとみなされる区間情報について、現データと前回データの区間情報項目３「パリティ情報」を比較し、パリティ情報に違いがある区間を加工時間予測必要区間とする。そして、パリティ情報に違いがあった区間について、当該区間のプログラムテキストを比較して修正個所を特定し、修正によるテキストの差が生じたブロック内に、以後のブロックの動作に影響を及ぼす命令があった場合には、その後の区間も加工時間予測必要区間とする。
ＮＣプログラムに対する修正が、当該修正されたブロック以降の動作に影響を及ぼす命令の一例として、図３に示す各指令等が挙げられる。
【００２７】
加工時間予測手段１４０は、予測区間決定手段１３０が加工時間予測必要区間として決定した区間について、加工時間を予測する。また、加工時間予測必要区間以外の区間については、前回データ領域２３から検索された同じとみなされる区間の加工予測時間を採用する。そして、これらをすべて加算して、今回のＮＣプログラム予測加工時間結果として出力し、記憶装置２００に記録する。
加工時間の予測処理については、従来技術にあげた特許文献１に記載の加工時間予測アルゴリズムや、その他の周知の加工時間予測アルゴリズムを利用するようにすればよい。
以上で述べた、本発明の構成により実施される加工時間の予測処理について、以下に各実施例に基づいて説明する。
【００２８】
図４は、本実施例において用いる加工時間予測対象のプログラムのプログラム構成を説明する図である。
図４に示す通り、以後説明する実施例において、加工時間予測対象のプログラムとして、メインプログラムＯ０００１から、２つのサブプログラムＯ０００２，Ｏ０００３を読み出すＮＣプログラムを取り上げる。各実施例においては、図４に示すプログラムに対して本発明の実施の形態における演算処理装置において加工時間の予測を行った上で区間情報として記録し、当該ＮＣプログラムを１度修正した後に、再度加工時間の予測を行う場合として説明する。
【００２９】
図５は、図４のＮＣプログラムの各区間について、最初の加工時間予測処理にかかる時間を示す表である。本発明の実施の形態においては、従来技術における加工時間予測アルゴリズムを用いるため、図５に示す加工時間予測アルゴリズムの加工時間予測処理に係る時間は、従来技術における加工時間予測処理と同じになる。
なお、一般にＮＣプログラムの修正によりブロック数に変化がある場合には加工時間予測アルゴリズムによる加工時間予測処理にかかる時間は修正した分だけ変化するものであるが、以下の実施例の説明においては、本発明の特徴を判り易くするために、小規模の修正が行われたものとして、編集前後で加工時間予測アルゴリズムによる加工時間予測処理にかかる時間は略変化しないものとして説明を行う。
【００３０】
図６は、従来技術における加工時間予測アルゴリズムを用いて、修正前と修正後の加工時間予測処理を実行した場合における、各処理に係る時間を示す表である。図６に示すように、修正前と修正後のＮＣプログラムについて従来技術による加工時間予測を行う場合、修正後も修正前と同じく全区間に対して加工時間予測処理を実行するため、修正後の加工時間予測処理に、修正前の加工時間予測処理と同じ時間がかかる。図４のＮＣプログラムに対する加工時間予測処理では、修正前・後共に処理時間にそれぞれ７分の時間を要し、合計の加工時間予測処理時間として１４分を要するものとする。
【００３１】
（実施例１）
本実施例では、ＮＣプログラムに対する修正は図４に示すＮＣプログラムにおける区間４に対して行われたものとする。このような場合、本発明の実施の形態における演算処理装置１００による修正後のＮＣプログラムに対する加工時間予測処理では、プログラムテキストに変更がなかった区間１，２，３について再予測処理は実行されず、プログラムテキストが変更された区間４に対してのみ加工時間予測処理が実行される。したがって、図７の表に示すように、区間１〜３の加工時間予測処理時間は略０（分）となり、２回目の加工時間予測処理にかかる時間は、１回目の加工時間予測処理にかかる時間と比較して６分短縮される。
【００３２】
図８は、本実施例における修正後のＮＣプログラムについて加工時間を予測する場合の処理の流れを説明する図である。
●［ステップＳＡ０１］ＮＣプログラムを修正した後に、オペレータが演算処理装置１００に対して加工時間予測を実行するように指令すると、プログラム区分け手段１１０は記憶装置から予測対象となるＮＣプログラム２１を読み込む。
●［ステップＳＡ０２］プログラム区分け手段１１０は、読み込んだＮＣプログラム２１に対して区分け処理を実行してＮＣプログラム２１を区間１〜４へと区分けし、各区間について区間情報を生成する。
●［ステップＳＡ０３］プログラム区分け手段１１０は、区分けしたＮＣプログラム２１の各区間について生成した区間情報を記憶装置２００の現データ領域２２へと記録する。
●［ステップＳＡ０４］区間関係特定手段１２０は、現データ領域２２に記録された各区間情報の先頭ブロックテキストを用いて、前回データ領域２３に記録されている区間情報を検索し、現データ領域２２に記録されている各区間について、それぞれ同じとみなされる前回データ領域２３に記録されている区間情報を特定する。
●［ステップＳＡ０５］区間関係特定手段１２０は、現データ領域２２に記録された各区間情報のテキストパリティ情報を用いて、ステップＳＡ０４で特定された同じとみなされる区間情報のテキストパリティ情報と比較し、修正された区間を特定する（本実施例では区間４）。
●［ステップＳＡ０６］予測区間決定手段１３０は、ステップＳＡ０５で特定された修正された区間４を加工時間予測必要区間とする。
●［ステップＳＡ０７］加工時間予測手段１４０は、区間１〜３については前回の予測時間を取得し、また、加工時間予測必要区間とされた区間４については、加工時間予測アルゴリズムに基づく加工時間予測処理を実行して、全区間の予測時間を求める。
【００３３】
以上の通り、本実施例においては修正された区間４以外の区間１〜３について、前回の加工時間予測結果を再利用して加工時間予測処理を短縮することができる。
【００３４】
（実施例２）
本実施例では、ＮＣプログラムに対する修正は図４に示すＮＣプログラムにおける区間３に対して行われたものとする。
ここで、区間３において修正されたブロックに、後続の区間４のプログラムに基づく運転に影響を及ぼす指令（図３）が含まれていた場合、本発明の実施の形態における演算処理装置１００による修正後のＮＣプログラムに対する加工時間予測処理では、プログラムテキストに変更がなかった区間１，２について再予測処理は実行されず、プログラムテキストが変更された区間３、および区間３の修正により影響を受ける区間４に対して加工時間予測処理が実行される。したがって、図９の表に示すように、区間１，２の加工時間予測処理時間は略０（分）となり、２回目の加工時間予測処理にかかる時間は、１回目の加工時間予測処理にかかる時間と比較して３分短縮される。
【００３５】
図１０は、本実施例における修正後のＮＣプログラムについて加工時間を予測する場合の処理の流れを説明する図である。
●［ステップＳＢ０１］ＮＣプログラムを修正した後に、オペレータが演算処理装置１００に対して加工時間予測を実行するように指令すると、プログラム区分け手段１１０は記憶装置から予測対象となるＮＣプログラム２１を読み込む。
●［ステップＳＢ０２］プログラム区分け手段１１０は、読み込んだＮＣプログラム２１に対して区分け処理を実行してＮＣプログラム２１を区間１〜４へと区分けし、各区間について区間情報を生成する。
●［ステップＳＢ０３］プログラム区分け手段１１０は、区分けしたＮＣプログラム２１の各区間について生成した区間情報を生成し、記憶装置２００の現データ領域２２へと記録する。
●［ステップＳＢ０４］区間関係特定手段１２０は、現データ領域２２に記録された各区間情報の先頭ブロックテキストを用いて、前回データ領域２３に記録されている区間情報を検索し、現データ領域２２に記録されている各区間について、それぞれ同じとみなされる前回データ領域２３に記録されている区間情報を特定する。
●［ステップＳＢ０５］区間関係特定手段１２０は、現データ領域２２に記録された各区間情報のテキストパリティ情報を用いて、ステップＳＢ０４で特定された同じとみなされる区間情報のテキストパリティ情報と比較し、修正された区間を特定する（本実施例では区間３）。
●［ステップＳＢ０６］予測区間決定手段１３０は、ステップＳＢ０５で特定された修正された区間３を加工時間予測必要区間とする。また、区間３の修正個所を当該区間のプログラムテキストを比較して当該修正が後続の区間に影響を及ぼす指令を含んでいることを検出し、区間３の後続の区間４についても加工時間予測必要区間とする。
●［ステップＳＢ０７］加工時間予測手段１４０は、区間１，２については前回の予測時間を取得し、また、加工時間予測必要区間とされた区間３，４については、加工時間予測アルゴリズムに基づく加工時間予測処理を実行して、全区間の予測時間を求める。
【００３６】
また、同様に区間３が修正された場合において、区間３の修正されたブロックに、後続の区間４のプログラムに基づく運転に影響を及ぼす指令（図３）が含まれていなかった場合、本発明の実施の形態における演算処理装置１００による修正後のＮＣプログラムに対する加工時間予測処理では、プログラムテキストに変更がなかった区間１，２，４について再予測処理は実行されず、プログラムテキストが変更された区間３ついてのみ加工時間予測処理が実行される。したがって、図１１の表に示すように、区間１，２，４の加工時間予測処理時間は略０（分）となり、２回目の加工時間予測処理にかかる時間は、１回目の加工時間予測処理にかかる時間と比較して４分短縮される。
【００３７】
図１２は、本実施例における修正後のＮＣプログラムについて加工時間を予測する場合の処理の流れを説明する図である。
●［ステップＳＣ０１］ＮＣプログラムを修正した後に、オペレータが演算処理装置１００に対して加工時間予測を実行するように指令すると、プログラム区分け手段１１０は記憶装置から予測対象となるＮＣプログラム２１を読み込む。
●［ステップＳＣ０２］プログラム区分け手段１１０は、読み込んだＮＣプログラム２１に対して区分け処理を実行してＮＣプログラム２１を区間１〜４へと区分けし、各区間について区間情報を生成する。
●［ステップＳＣ０３］プログラム区分け手段１１０は、区分けしたＮＣプログラム２１の各区間について生成した区間情報を記憶装置２００の現データ領域２２へと記録する。
●［ステップＳＣ０４］区間関係特定手段１２０は、現データ領域２２に記録された各区間情報の先頭ブロックテキストを用いて、前回データ領域２３に記録されている区間情報を検索し、現データ領域２２に記録されている各区間について、それぞれ同じとみなされる前回データ領域２３に記録されている区間情報を特定する。
●［ステップＳＣ０５］区間関係特定手段１２０は、現データ領域２２に記録された各区間情報のテキストパリティ情報を用いて、ステップＳＣ０４で特定された同じとみなされる区間情報のテキストパリティ情報と比較し、修正された区間を特定する（本実施例では区間３）。
●［ステップＳＣ０６］予測区間決定手段１３０は、ステップＳＣ０５で特定された修正された区間３を加工時間予測必要区間とする。ここで区間３の修正個所を当該区間のプログラムテキストを比較して当該修正が後続の区間に影響を及ぼす指令を含んでいないことを検出し、修正された区間３のみを加工時間予測必要区間とする。
●［ステップＳＣ０７］加工時間予測手段１４０は、区間１，２については前回の予測時間を取得し、また、加工時間予測必要区間とされた区間３，４については、加工時間予測アルゴリズムに基づく加工時間予測処理を実行して、全区間の予測時間を求める。
【００３８】
以上の通り、本実施例においては修正された区間について、後続の区間に影響を及ぼす修正であるかを検出し、加工時間予測が必要な区間についてのみ加工時間予測処理を実行するため、加工時間予測処理を短縮することができる。
【００３９】
（実施例３）
本実施例では、図４に示すＮＣプログラムにおいて、区間３の先頭ブロック「Ｍ９８Ｐ０００３」から「Ｍ９８Ｐ０００４」へと修正されたものとする。
このような場合、区間３については先頭ブロックそのものが変更されているため、区間情報項目１「先頭ブロックのプログラムテキスト」による前回データ領域２３から同じとみなす区間情報を特定することができないが、区間３は先頭ブロックにＭコード（マスクバッファされる指令ブロック）が含まれているため、区間３の区間情報には、区間情報項目２「先頭ブロック実行開始時の現在位置」が記録されている。そのため、区間３については、区間情報項目２「先頭ブロック実行開始時の現在位置」を用いて前回データ領域２３における同じとみなす区間を特定することができる。
【００４０】
これは、加工における切削経路は殆どの場合、同じ位置を通過することはないため、区間のＮＣプログラムを実行開始する際に、区間情報項目「先頭ブロック実行開始時の現在位置」が同じあることは、それぞれが同じ区間とすることができる。
また、マスクバッファされるブロックにおいて、そのブロック実行開始時の現在位置が同じであることは、ＮＣプログラム内において、マスクバッファされるブロックは少数であり、そのためそれぞれが同じ区間であることの同一性の保証を高めることができる。
【００４１】
図１３は、本実施例における修正後のＮＣプログラムについて加工時間を予測する場合の処理の流れを説明する図である。
●［ステップＳＤ０１］ＮＣプログラムを修正した後に、オペレータが演算処理装置１００に対して加工時間予測を実行するように指令すると、プログラム区分け手段１１０は記憶装置から予測対象となるＮＣプログラム２１を読み込む。
●［ステップＳＤ０２］プログラム区分け手段１１０は、読み込んだＮＣプログラム２１に対して区分け処理を実行してＮＣプログラム２１を区間１〜４へと区分けする。ここでは、マスクバッファされたブロックについて、区間情報として区間情報項目２「先頭ブロック実行開始時の現在位置」も生成される。
●［ステップＳＤ０３］プログラム区分け手段１１０は、区分けしたＮＣプログラム２１の各区間について生成した区間情報を記憶装置２００の現データ領域２２へと記録する。
●［ステップＳＤ０４］区間関係特定手段１２０は、現データ領域２２に記録された各区間情報の区間情報項目１「先頭ブロックテキスト」を用いて、前回データ領域２３に記録されている区間情報を検索し、現データ領域２２に記録されている各区間情報について、それぞれ同じとみなされる前回データ領域２３に記録されている区間情報を特定する。また、先頭ブロックが修正されている区間については、現データ領域２２に記録された各区間情報の区間情報項目２「先頭ブロック実行開始時の現在位置」を用いて、前回データ領域２３に記録されている区間情報を検索し、現データ領域２２に記録されている各区間情報について、それぞれ同じとみなされる前回データ領域２３に記録されている区間情報を特定する。
●［ステップＳＤ０５］区間関係特定手段１２０は、今までの実施例と同様に加工時間予測必要区間を決定し、全区間の予測時間を求める。
【００４２】
以上の通り、本実施例においては先頭ブロックが修正された場合においても、加工時間の予測が必要な区間を特定し、前回の加工時間予測結果を再利用して加工時間予測処理を短縮することができる。
【符号の説明】
【００４３】
１１    ＣＰＵ
１２    メモリ
１３    表示コントローラ
１４    電源コントローラ
１５    入力機器コントローラ
１６    記憶装置コントローラ
１７    バス
２１    ＮＣプログラム
２２    現データ領域
２３    前回データ領域
１００    演算処理装置
１１０    プログラム区分け手段
１２０    区間関係特定手段
１３０    予測区間決定手段
１４０    加工時間予測手段
２００    記憶装置
３００    表示器
４００    電源スイッチ
５００    外部入力機器
【図１】
0006333656.tif 000002
【図２】
0006333656.tif 000003
【図３】
0006333656.tif 000004
【図４】
0006333656.tif 000005
【図５】
0006333656.tif 000006
【図６】
0006333656.tif 000007
【図７】
0006333656.tif 000008
【図８】
0006333656.tif 000009
【図９】
0006333656.tif 000010
【図１０】
0006333656.tif 000011
【図１１】
0006333656.tif 000012
【図１２】
0006333656.tif 000013
【図１３】
0006333656.tif 000014
【図１４】
0006333656.tif 000015