(57)【特許請求の範囲】
【請求項１】
加工プログラムに従って工作機械の動作を制御する数値制御装置において、
前記加工プログラムの実行を開始する実行開始位置及び実行を終了する実行終了位置並びに前記加工プログラムの実行開始位置までの命令を記憶する記憶手段と、
前記実行開始位置から加工プログラムを実行する場合に、前記加工プログラムの実行開始位置までの命令を前記記憶手段から読み出して、前記加工プログラムを前記実行開始位置から実行することが可能な状態とする復帰運転を行った後、前記加工プログラムの前記実行開始位置に相当する命令から実行終了位置に相当する命令までの部分だけ実行するプログラム実行手段と
を備えることを特徴とする数値制御装置。
【請求項２】
前記実行開始位置及び前記実行終了位置は、工具の交換を指示する工具交換命令の情報に基づいて指定してあることを特徴とする請求項１記載の数値制御装置。
【請求項３】
前記工具交換命令の情報は、工具の種類を識別する情報であることを特徴とする請求項２記載の数値制御装置。
【請求項４】
前記実行終了位置は、前記実行開始位置で指定された工具の種類を識別する情報と異なる工具の種類を識別する情報を含む工具交換命令、又は該工具交換命令の１つ手前の命令であることを特徴とする請求項３記載の数値制御装置。
【請求項５】
前記実行開始位置は、前記加工プログラムに記載されている工具の種類を識別する情報の数に基づいて指定してあることを特徴とする請求項３記載の数値制御装置。
【請求項６】
前記実行終了位置は、前記実行開始位置以降の前記加工プログラムに記載されている工具の種類を識別する情報の数に基づいて指定してあることを特徴とする請求項２記載の数値制御装置。
【請求項７】
前記実行開始位置及び実行終了位置は、前記加工プログラムに記載してある命令のシーケンス番号に基づいて指定してあることを特徴とする請求項１記載の数値制御装置。
【請求項８】
前記実行開始位置及び実行終了位置は、前記加工プログラムのブロック番号に基づいて指定してあることを特徴とする請求項１記載の数値制御装置。
【請求項９】
加工プログラムに従って工作機械の動作を制御する数値制御方法において、
前記加工プログラムの実行を開始する実行開始位置及び実行を終了する実行終了位置並びに前記加工プログラムの実行開始位置までの命令を記憶手段に記憶し、
前記実行開始位置から加工プログラムを実行する場合に、前記加工プログラムの前記実行開始位置までの命令を前記記憶手段から読み出して、前記加工プログラムを前記実行開始位置から実行することが可能な状態とする復帰運転を行った後、前記加工プログラムの前記実行開始位置に相当する命令から前記実行終了位置に相当する命令までの部分だけ実行すること
を特徴とする数値制御方法。
【請求項１０】
加工プログラムに従って工作機械の動作を制御する数値制御装置で実行することが可能なコンピュータプログラムにおいて、
前記数値制御装置を、
前記加工プログラムの実行を開始する実行開始位置及び実行を終了する実行終了位置並びに前記加工プログラムの実行開始位置までの命令を記憶手段に記憶する手段、及び
前記実行開始位置から加工プログラムを実行する場合に、前記加工プログラムの前記実行開始位置までの命令を前記記憶手段から読み出して、前記加工プログラムを前記実行開始位置から実行することが可能な状態とする復帰運転を行った後、前記加工プログラムの前記実行開始位置に相当する命令から前記実行終了位置に相当する命令までの部分だけ実行する手段
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工プログラムの一部分のみを実行したい場合、加工プログラムを変更することなく所望の部分のみ実行することが可能な数値制御装置、数値制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
数値制御装置では、一旦加工が終了した後に部分的に再加工する必要のある場合や、加工範囲を限定して部分加工する場合がある。例えば、自動運転中に工具が破損等した場合、破損した工具の加工部分だけを再度実行する必要が生じる。
【０００３】
特に大量生産用の生産ラインでは、工具の破損を即座に発見することは困難で有る。したがって、工具の破損を発見した時点では、既に破損した工具でワークを何十個、何百個等加工した後であり、気づかずに加工したワークを全て再加工する必要が生じることから、手戻り工数が無視できないオーダーとなる。
【０００４】
斯かる問題を解決するために、従来は、シーケンス番号サーチ機能、プログラムリスタート機能等により、加工プログラムの途中の工程から再実行することにより、未加工のワークに対して正しい加工を行っていた。また、加工プログラムのブロックに、ブロックをスキップするか否かを指定する判断記号を付加しておき、加工プログラムの実行時に、ブロックのスキップが指定されたブロックを無視して加工プログラムを実行することにより、加工プログラムの部分的な再実行を実現していた（特許文献１参照）。
【特許文献１】特許第３６６００３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したシーケンス番号サーチ機能、プログラムリスタート機能を用いる場合、加工プログラムを起動する都度再実行するシーケンス番号を指定する必要があり、工作機械ごとにシーケンス番号を指定する作業が発生する等、再加工する工数を低減することが困難であるという問題点があった。
【０００６】
また、スキップするブロックを指定する方法では、どのブロックをスキップするか加工プログラムを修正して指定する必要が生じる。したがって、加工プログラムの更新作業が煩雑であると共に、加工プログラムの戻し忘れ等の人為的エラーの発生源となるという問題点があった。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、加工プログラムを修正することなく、再実行することが必要な部分だけ加工プログラムを再実行することができる数値制御装置、数値制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために第１発明に係る数値制御装置は、加工プログラムに従って工作機械の動作を制御する数値制御装置において、前記加工プログラムの実行を開始する実行開始位置及び実行を終了する実行終了位置並びに前記加工プログラムの実行開始位置までの命令を記憶する記憶手段と、前記実行開始位置から加工プログラムを実行する場合に、前記加工プログラムの実行開始位置までの命令を前記記憶手段から読み出して、前記加工プログラムを前記実行開始位置から実行することが可能な状態とする復帰運転を行った後、前記加工プログラムの前記実行開始位置に相当する命令から実行終了位置に相当する命令までの部分だけ実行するプログラム実行手段とを備えることを特徴とする。
【０００９】
また、第２発明に係る数値制御装置は、第１発明において、前記実行開始位置及び前記実行終了位置は、工具の交換を指示する工具交換命令の情報に基づいて指定してあることを特徴とする。
【００１０】
また、第３発明に係る数値制御装置は、第２発明において、前記工具交換命令の情報は、工具の種類を識別する情報であることを特徴とする。
【００１１】
また、第４発明に係る数値制御装置は、第３発明において、前記実行終了位置は、前記実行開始位置で指定された工具の種類を識別する情報と異なる工具の種類を識別する情報を含む工具交換命令、又は該工具交換命令の１つ手前の命令であることを特徴とする。
【００１２】
また、第５発明に係る数値制御装置は、第３発明において、前記実行開始位置は、前記加工プログラムに記載されている工具の種類を識別する情報の数に基づいて指定してあることを特徴とする。
【００１３】
また、第６発明に係る数値制御装置は、第２発明において、前記実行終了位置は、前記実行開始位置以降の前記加工プログラムに記載されている工具の種類を識別する情報の数に基づいて指定してあることを特徴とする。
【００１４】
また、第７発明に係る数値制御装置は、第１発明において、前記実行開始位置及び実行終了位置は、前記加工プログラムに記載してある命令のシーケンス番号に基づいて指定してあることを特徴とする。
【００１５】
また、第８発明に係る数値制御装置は、第１発明において、前記実行開始位置及び実行終了位置は、前記加工プログラムのブロック番号に基づいて指定してあることを特徴とする。
【００１７】
また、第９発明に係る数値制御方法は、加工プログラムに従って工作機械の動作を制御する数値制御方法において、前記加工プログラムの実行を開始する実行開始位置及び実行を終了する実行終了位置並びに前記加工プログラムの実行開始位置までの命令を記憶手段に記憶し、前記実行開始位置から加工プログラムを実行する場合に、前記加工プログラムの前記実行開始位置までの命令を前記記憶手段から読み出して、前記加工プログラムを前記実行開始位置から実行することが可能な状態とする復帰運転を行った後、前記加工プログラムの前記実行開始位置に相当する命令から前記実行終了位置に相当する命令までの部分だけ実行することを特徴とする。
【００１９】
また、第１０発明に係るコンピュータプログラムは、加工プログラムに従って工作機械の動作を制御する数値制御装置で実行することが可能なコンピュータプログラムにおいて、前記数値制御装置を、前記加工プログラムの実行を開始する実行開始位置及び実行を終了する実行終了位置並びに前記加工プログラムの実行開始位置までの命令を記憶手段に記憶する手段、及び前記実行開始位置から加工プログラムを実行する場合に、前記加工プログラムの前記実行開始位置までの命令を前記記憶手段から読み出して、前記加工プログラムを前記実行開始位置から実行することが可能な状態とする復帰運転を行った後、前記加工プログラムの前記実行開始位置に相当する命令から前記実行終了位置に相当する命令までの部分だけ実行する手段として機能させることを特徴とする。
【００２０】
第１発明、第９発明、及び第１０発明では、加工プログラムの実行を開始する実行開始位置、及び実行を終了する実行終了位置を記憶手段に記憶しておき、該記憶手段から実行開始位置及び実行終了位置を読み出し、加工プログラムの実行開始位置に相当する命令から実行終了位置に相当する命令までの部分だけ実行する。記憶手段に実行開始位置及び実行終了位置を記憶しておくことにより、加工プログラムの更新作業が不要であり、加工プログラムの戻し忘れ等の人為的エラーを未然に回避することができ、加工プログラムの実行終了位置も確実に指定することが可能となる。したがって、加工プログラムの更新作業が発生することなく、再実行することが必要な部分だけ再実行することが可能となる。また加工プログラムの実行開始位置までの命令を記憶手段に記憶し、実行開始位置から加工プログラムを部分的に実行する場合、加工プログラムの実行開始位置までの命令を記憶手段から読み出して、加工プログラムを実行開始位置から実行することが可能な状態とする復帰運転を行う。これにより、加工プログラムを実行開始位置まで単純にスキップするだけではなく、部分的に加工プログラムを開始する場合であっても、それまでの命令が実行された場合と同様の初期条件下で実行することが可能となる。
【００２１】
第２発明では、実行開始位置及び実行終了位置を、工具の交換を指示する工具交換命令の情報に基づいて指定する。これにより、所定の工具が折損等した場合、該工具による加工部分を、工具の交換を支持する工具交換命令に含まれる情報、例えば工具の種類、交換回数等に基づいて特定することにより、部分的に加工プログラムを実行することができ、無駄な工程を実行することを回避して、手戻り工程を最小限に止めることが可能となる。
【００２２】
第３発明では、工具交換命令の情報は、工具の種類を識別する情報である。これにより、所定の工具が折損等した場合、該工具による加工部分を、工具の種類に基づいて特定することにより、部分的に加工プログラムを実行することができ、無駄な工程を実行することを回避して、手戻り工程を最小限に止めることが可能となる。
【００２３】
第４発明では、実行終了位置は、実行開始位置で指定された工具の種類を識別する情報と異なる工具の種類を識別する情報を含む工具交換命令、又は該工具交換命令の１つ手前の命令である。これにより、ワークに影響を及ぼすことが無い範囲で加工プログラムを部分的に実行する部分を特定することができ、特定された部分のみ再実行することが可能となる。
【００２４】
第５発明では、実行開始位置を、加工プログラムに記載されている工具の種類を識別する情報の数に基づいて指定する。これにより、加工プログラムの実行開始位置を同一工具により加工する回数に基づいて特定することができ、例えば折損等が生じた工具による加工部分のみ実行することが可能となる。
【００２５】
第６発明では、実行終了位置を、実行開始位置以降の加工プログラムに記載されている工具の種類を識別する情報の数に基づいて指定する。これにより、加工プログラムの実行終了位置を同一工具により加工する回数に基づいて特定することができ、例えば折損等が生じた工具による加工部分のみ実行することが可能となる。
【００２６】
第７発明は、実行開始位置及び実行終了位置は、加工プログラムに記載してある命令のシーケンス番号に基づいて指定する。これにより、加工プログラムのうち実行する部分を正確に特定することができ、特定された部分のみ再実行することが可能となる。
【００２７】
第８発明では、実行開始位置及び実行終了位置は、加工プログラムのブロック番号に基づいて指定する。これにより、加工プログラムのうち実行する部分を正確に特定することができ、特定された部分のみ再実行することが可能となる。
【発明の効果】
【００２９】
本発明によれば、記憶手段に実行開始位置及び実行終了位置を記憶しておくことにより、加工プログラムの更新作業が不要であり、加工プログラムの戻し忘れ等の人為的エラーを未然に回避することができ、加工プログラムの実行終了位置も確実に指定することが可能となる。したがって、加工プログラムの更新作業が発生することなく、再実行することが必要な部分だけ再実行することが可能となる。また、実行開始位置及び実行終了位置を、工具の種類を識別する情報、加工プログラムのシーケンス番号、又はブロック番号に基づいて指定することにより、所定の工具が折損等した場合、該工具による加工部分のみ加工プログラムを実行することができ、無駄な工程を実行することを回避することができ、手戻り工程を最小限に止めることが可能となる。
【００３０】
また本発明によれば、加工プログラムを実行開始位置まで単純にスキップするだけではなく、部分的に加工プログラムを開始する場合であっても、それまでの命令が実行された場合と同様の初期条件下で実行することが可能となる。
【発明を実施するための最良の形態】
【００３１】
以下に、本発明をその実施の形態を示す図面に基づいて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されるものではなく、本発明の技術的範囲に属する限り、種々の態様で実施できることは言うまでもない。
【００３２】
（実施の形態１）
図１は、本発明の実施の形態１に係る数値制御装置１を３軸制御の工作機械に用いる場合の構成を示すブロック図である。図１において、数値制御装置１は、少なくとも、ＣＰＵ（中央演算装置）１１、ＲＯＭ１２、ＲＡＭ１３、入出力インタフェース１４、制御対象となる各種モータの駆動を制御する信号を出力する出力インタフェース２０、および記憶手段２６が、内部バス１９を介して接続されている。入出力インタフェース１４には、マウス及びキーボード等の入力手段１５、ディスプレイ等の表示手段１６、補助記憶手段１７、及び外部とデータ通信する通信手段１８が接続されている。
【００３３】
ＣＰＵ１１は、内部バス１９を介して数値制御装置１の上述したようなハードウェア各部と接続されており、上述したハードウェア各部を制御するとともに、ＲＡＭ１３に格納された加工プログラム３又は補助記憶手段１７であるＣＤ−ＲＯＭ、ＤＶＤ等の（可搬型）記録媒体２を用いてＲＡＭ１３へ導入された加工プログラム３に従って、出力インタフェース２０を介して接続されている種々の機器の動作を制御する。
【００３４】
ＲＡＭ１３は、ＳＲＡＭ、フラッシュメモリ等で構成されソフトウェアの実行時に発生する一時的なデータ、ソフトウェアの実行に必要なデータ等を記憶する。入出力インタフェース１４を介して接続されている入力手段１５は、数値制御装置１を操作するために必要な文字キー、テンキー、各種のファンクションキー等を備えたキーボード、マウス等の入力媒体である。表示手段１６は、液晶表示装置、ＣＲＴディスプレイ等の表示装置であり、数値制御装置１の動作状態を示す画像、ユーザへ操作入力を促す画像等を表示する。なお、表示手段１６をタッチパネル方式とすることにより、入力手段１５の各種のファンクションキーの内の一部又は全部を表示手段１６が代用することも可能である。通信手段１８は、外部からのデータの取得、外部装置の動作制御データ等を送受信する。
【００３５】
記憶手段２６は、不揮発メモリ、ハードディスク等の固定型記憶装置であり、工具の交換を指示する工具交換命令に含まれている情報に基づいて指定してある加工プログラム３の部分的な実行開始位置及び実行終了位置を記憶してある。工具交換命令に基づいて加工プログラム３の部分的な実行開始位置及び実行終了位置を制御することにより、例えば所定の工具が折損等した場合、該工具による加工部分に関する命令のみ部分的に再実行することができ、無駄な工程を実行することを回避して、手戻り工程を最小限に止めることができる。
【００３６】
出力インタフェース２０は、Ｘ軸モータ２２、Ｙ軸モータ２３、Ｚ軸モータ２４、及び主軸モータ２５のそれぞれを駆動させる駆動回路２１、２１、２１、２１へ駆動信号を送信する。
【００３７】
以下、上述した構成の数値制御装置１を備えた工作機械を複数用いて大量生産を行う場合、一の工作機械で工具の一部が折損等したときには、既に大量のワークに対して加工が完了していることがある。したがって、既に折損した工具等で異常な加工が行われたワークに対して、再度正常な状態で加工を行う必要がある。
【００３８】
図２は、本実施の形態１に係る数値制御装置１で実行する加工プログラム３の一例を示す図である。図２に示す加工プログラム３では、工具交換命令‘Ｍ６’に工具を識別する情報である工具番号‘Ｔｎ’（ｎは自然数）を付与している。また、シーケンス番号‘Ｎ１０’乃至‘Ｎ１３０’はそれぞれブロック番号１乃至１３に対応しており、‘Ｍ３０’は加工プログラム３の終了ブロックである旨を示している。
【００３９】
図３は、本実施の形態１に係る数値制御装置１で実行する加工プログラム３を部分的に再実行する場合の実行開始位置及び実行終了位置を示す実行部分特定情報の一例を示す図である。実行部分特定情報は、ＣＰＵ１１がユーザによる設定を受け付け、記憶手段２６に記憶する。図３の例では、加工プログラム３の工具交換命令に含まれる工具番号、及びシーケンス番号により、加工プログラム３を部分的に再実行する場合の実行開始位置及び実行終了位置を指定している。
【００４０】
シーケンス番号を用いる場合、加工プログラム３のシーケンス番号で部分的に実行する範囲を特定する。工具番号を用いる場合、加工プログラム３の命令に含まれる工具番号への工具交換命令で部分的に実行する範囲を特定する。また、実行終了位置には‘ａｎｙ’を用い、実行開始位置を特定した工具番号以外の工具番号への工具交換命令を検出した時点で実行を終了するようにしても良い。
【００４１】
図３の例では、ＣＰＵ１１は、まず１ブロック目の命令‘Ｍ８’を解釈し、ブロック番号１に対応するシーケンス番号１０である１ブロック目の命令‘Ｍ８’を実行する。ＣＰＵ１１は、次のブロックの命令‘Ｍ２０’を解釈し、図３に示す実行終了位置に該当しないと判断して、命令‘Ｍ２０’を実行する。
【００４２】
ＣＰＵ１１は、次のブロックの命令‘Ｇ５４Ｇ０Ｘ０Ｙ０Ｚ０’を解釈し、図３に示す実行終了位置に該当すると判断して、命令‘Ｇ５４Ｇ０Ｘ０Ｙ０Ｚ０’を実行しない。同様にＣＰＵ１１は、次の実行開始位置に該当する工具交換命令‘Ｍ６Ｔ２’まで命令をスキップし、工具番号‘２’が一致している工具交換命令‘Ｍ６Ｔ２’を実行する。ＣＰＵ１１は、実行終了位置に該当する工具交換命令‘Ｍ６Ｔ３’までの命令を実行する。そして、終了ブロックである‘Ｍ３０’により運転を終了する。
【００４３】
なお、上述の例では、実行終了位置の１つ手前の命令まで実行する場合について説明しているが、特にこれに限定されるものではなく、実行終了位置に該当する命令まで実行しても良い。
【００４４】
また、実行開始位置及び実行終了位置、又はいずれか一方を、加工プログラムに記載されている工具交換の数に基づいて指定しても良い。実行開始位置を工具交換の数で指定する場合、加工プログラム３の最初の命令から実効開始位置に該当する工具番号への工具交換が指定された数読み出された命令から実行を開始する。実行終了位置を工具交換の数で指定する場合、実行開始位置以降の加工プログラムの命令から実行終了位置に該当する工具番号への工具交換が指定された数読み出された命令、又は該命令の１つ手前の命令で実行を終了する。さらに、実行終了位置は、実行開始位置で指定された工具番号とは異なる工具番号への工具交換が含まれていることを検出した場合、該工具番号を含む工具交換命令、又は該工具交換命令の１つ手前の命令としても良い。上述の例における‘ａｎｙ’の指定がこれに該当する。もちろん、工具交換命令の数を計数し、例えば３番目の工具交換命令から５番目の工具交換命令までを実行するように、工具交換命令の数に基づいて実行開始位置及び実行終了位置を指定しても良い。
【００４５】
図４は、再度加工を行う場合の加工プログラム３の実行開始位置、及び実行終了位置の指定を受け付ける画面の一例を示す図である。図４に示すように、指定受付画面は、加工プログラム３の命令をブロック単位で表示する加工プログラム表示領域４１、加工プログラム３を部分的に実行する実行開始位置及び実行終了位置を入力／表示する実行範囲入力領域４２、及び実行開始位置と実行終了位置とをどの項目に基づいて指定するかの選択を受け付ける項目選択領域４３を備えている。
【００４６】
ユーザは、加工プログラム表示領域４１に表示されている加工プログラムを閲覧しながら、どこを、又はどの工具について部分的に再実行させるか判断し、項目選択領域４３へ実行開始位置及び実行終了位置を指定する項目を入力する。図４の例では、入力値が‘０’である場合には、設定を終了する。入力値が‘１’である場合には、工具番号に基づいて設定する。同様に、入力値が‘２’である場合にはシーケンス番号に基づいて、入力値が‘３’である場合にはブロック番号に基づいて、それぞれ設定する。
【００４７】
項目選択領域４３へ実行開始位置及び実行終了位置を指定する項目が入力された場合、実行範囲入力領域４２に設定対象となる項目が表示され、空欄となっている「実行開始位置」及び「実行終了位置」へそれぞれの項目に応じて値を入力する。
【００４８】
図５は、本発明の実施の形態１に係る数値制御装置１で加工プログラム３を部分的に再実行する場合のＣＰＵ１１の処理手順を示すフローチャートである。数値制御装置１のＣＰＵ１１は、実行対象となる加工プログラム３の選択を受け付け（ステップＳ５０１）、選択された加工プログラム３を起動し、フラグ情報を‘０’に初期化する（ステップＳ５０２）。
【００４９】
ＣＰＵ１１は、実行範囲が指定されているか否かを判断し（ステップＳ５０３）、ＣＰＵ１１が、実行範囲が指定されていないと判断した場合（ステップＳ５０３：ＮＯ）、ＣＰＵ１１は、該加工プログラムを最初の命令から最後の命令まで順次実行する（ステップＳ５０４）。ＣＰＵ１１が、実行範囲が指定されていると判断した場合（ステップＳ５０３：ＹＥＳ）、ＣＰＵ１１は、指定されている実行範囲、すなわち該加工プログラム３の実行開始位置及び実行終了位置を読み出し（ステップＳ５０５）、加工プログラム３の命令を順次１ブロックずつ解釈する（ステップＳ５０６）。
【００５０】
ＣＰＵ１１は、解釈したブロックの命令が‘Ｍ３０’であるか否か、すなわち加工プログラム３の実行終了命令であるか否かを判断し（ステップＳ５０７）、ＣＰＵ１１が、解釈したブロックの命令が‘Ｍ３０’であると判断した場合（ステップＳ５０７：ＹＥＳ）、ＣＰＵ１１は、該加工プログラム３の実行を終了する。
【００５１】
ＣＰＵ１１が、解釈したブロックの命令が‘Ｍ３０’でないと判断した場合（ステップＳ５０７：ＮＯ）、ＣＰＵ１１は、フラグ情報が‘０’であるか否かを判断する（ステップＳ５０８）。ＣＰＵ１１が、フラグ情報が‘０’であると判断した場合（ステップＳ５０８：ＹＥＳ）、ＣＰＵ１１は、解釈したブロックが実行開始位置であるか否かを判断する（ステップＳ５０９）。
【００５２】
ＣＰＵ１１が、解釈したブロックが実行開始位置ではないと判断した場合（ステップＳ５０９：ＮＯ）、ＣＰＵ１１は、処理をステップＳ５０６へ戻し、上述した処理を繰り返す。ＣＰＵ１１が、フラグ情報が‘０’ではないと判断した場合（ステップＳ５０８：ＮＯ）、ＣＰＵ１１は、解釈したブロックが実行終了位置であるか否かを判断する（ステップＳ５１０）。
【００５３】
ＣＰＵ１１が、解釈したブロックが実行終了位置であると判断した場合（ステップＳ５１０：ＹＥＳ）、ＣＰＵ１１は、フラグ情報を‘０’に設定して（ステップＳ５１１）、処理をステップＳ５０６へ戻す。ＣＰＵ１１が、解釈したブロックが実行開始位置であると判断した場合（ステップＳ５０９：ＹＥＳ）、又は解釈したブロックが実行終了位置ではないと判断した場合（ステップＳ５１０：ＮＯ）、ＣＰＵ１１は、解釈されたブロックの命令を実行して、フラグ情報を‘１’に設定する（ステップＳ５１２）。ＣＰＵ１１は、処理をステップＳ５０６へ戻し、上述した処理を繰り返す。
【００５４】
以上のように本実施の形態１によれば、記憶手段２６に実行開始位置及び実行終了位置を記憶しておくことにより、加工プログラム３の更新作業が不要であり、加工プログラム３の戻し忘れ等の人為的エラーを未然に回避することができ、加工プログラム３の実行終了位置も確実に指定することが可能となる。したがって、加工プログラム３の更新作業が発生することなく、再実行することが必要な部分だけ再実行することが可能となる。
【００５５】
（実施の形態２）
以下、本発明の実施の形態２に係る数値制御装置１について図面を参照しながら詳細に説明する。本発明の実施の形態２に係る数値制御装置１の構成は、実施の形態１と同様であることから、同一の符号を付することにより詳細な説明を省略する。本実施の形態２は、加工プログラム３を部分的に実行する場合に、部分的に実行する前段階の処理（復帰運転）を実行した後に部分的に加工プログラムを実行する点で実施の形態１と相違する。
【００５６】
図６は、本実施の形態２に係る数値制御装置１で実行する加工プログラム３の一例を示す図である。図６に示す加工プログラム３では、ドリルサイクル‘Ｇ８１’を用いてドリル加工する加工プログラム３を例に挙げている。なお、シーケンス番号‘Ｎ１０’乃至‘Ｎ１５０’は、それぞれブロック番号１乃至１５に対応しており、‘Ｍ３０’は加工プログラム３の終了ブロックである旨を示している。
【００５７】
図７は、本実施の形態２に係る数値制御装置１で実行する加工プログラム３を部分的に再実行する場合の実行開始位置及び実行終了位置を示す実行部分特定情報の一例を示す図である。実行部分特定情報は、ＣＰＵ１１がユーザによる設定を受け付け、記憶手段２６に記憶する。図７の例では、加工プログラム３のブロック番号により、加工プログラム３を部分的に再実行する場合の実行開始位置及び実行終了位置を指定している。
【００５８】
図７の例では、ＣＰＵ１１は、まず１ブロック目の命令‘Ｍ６Ｔ１Ｇ５４’を解釈し、ブロック番号１が図７に示す実行開始位置に該当しないと判断し、復帰運転情報を記憶手段２６へ記憶する。ＣＰＵ１１は、次のブロックの命令‘Ｍ８’を解釈し、同じく図７に示す実行開始位置に該当しないと判断して、復帰運転情報を記憶手段２６へ記憶する。
【００５９】
ＣＰＵ１１は、同様に順次ブロック命令を解釈し、ブロック番号７が図７に示す実行開始位置に該当すると判断して、命令‘Ｘ−２０．Ｙ−２０．’を実行すべく復帰運転を実行する。具体的には工具１に工具を交換し、Ｍ８信号を出力し、主軸を１０００回転として、Ｘ−１０．Ｙ−１０．Ｚ−５０．へ移動する。そしてドリルサイクルＧ８１を動作状態とする。
【００６０】
ＣＰＵ１１は、命令‘Ｘ−２０．Ｙ−２０．’を実行し、次のブロックの命令‘Ｘ−３０．Ｙ−３０．’を解釈し、図７に示す実行終了位置に該当しないと判断して、命令‘Ｘ−３０．Ｙ−３０．’を実行する。ＣＰＵ１１は、次のブロックの命令‘Ｇ０Ｘ０Ｙ０Ｚ５０’を解釈し、図７に示す実行終了位置に該当すると判断して、復帰運転情報を記憶手段２６へ記憶する。具体的には次に実行開始位置となるまでの命令を記憶手段２６に記憶する。以下、同様にして命令を実行する前に必ず記憶手段２６に記憶してある復帰運転情報に基づいて復帰運転を行った後に、実行開始位置に該当する命令を実行する。これにより、加工プログラム３を実行開始位置まで単純にスキップするだけではなく、部分的に加工プログラム３を開始する場合であっても、それまでの命令が実行された場合と同様の初期条件下、例えば工具の位置、状態等で実行することができる。
【００６１】
なお、上述の例では、実行終了位置の命令まで実行する場合について説明しているが、特にこれに限定されるものではなく、実行終了位置の１つ手前に該当する命令まで実行するものであっても良い。
【００６２】
また、実行開始位置及び実行終了位置の指定方法は、実施の形態１と同様、様々なバリエーションが存在する。ユーザは、図４と同様の画面から状況に応じた項目で指定すれば良い。
【００６３】
図８は、本発明の実施の形態１に係る数値制御装置１で加工プログラム３を部分的に再実行する場合のＣＰＵ１１の処理手順を示すフローチャートである。数値制御装置１のＣＰＵ１１は、実行対象となる加工プログラム３の選択を受け付け（ステップＳ８０１）、選択された加工プログラム３を起動し、フラグ情報を‘０’に初期化する（ステップＳ８０２）。
【００６４】
ＣＰＵ１１は、実行範囲が指定されているか否かを判断し（ステップＳ８０３）、ＣＰＵ１１が、実行範囲が指定されていないと判断した場合（ステップＳ８０３：ＮＯ）、ＣＰＵ１１は、該加工プログラムを最初の命令から最後の命令まで順次実行する（ステップＳ８０４）。ＣＰＵ１１が、実行範囲が指定されていると判断した場合（ステップＳ８０３：ＹＥＳ）、ＣＰＵ１１は、指定されている実行範囲、すなわち該加工プログラム３の実行開始位置及び実行終了位置を読み出し（ステップＳ８０５）、加工プログラム３の命令を順次１ブロックずつ解釈する（ステップＳ８０６）。
【００６５】
ＣＰＵ１１は、解釈したブロックの命令が‘Ｍ３０’であるか否か、すなわち加工プログラム３の実行終了命令であるか否かを判断し（ステップＳ８０７）、ＣＰＵ１１が、解釈したブロックの命令が‘Ｍ３０’であると判断した場合（ステップＳ８０７：ＹＥＳ）、ＣＰＵ１１は、該加工プログラム３の実行を終了する。
【００６６】
ＣＰＵ１１が、解釈したブロックの命令が‘Ｍ３０’でないと判断した場合（ステップＳ８０７：ＮＯ）、ＣＰＵ１１は、フラグ情報が‘０’であるか否かを判断する（ステップＳ８０８）。ＣＰＵ１１が、フラグ情報が‘０’であると判断した場合（ステップＳ８０８：ＹＥＳ）、ＣＰＵ１１は、解釈したブロックが実行開始位置であるか否かを判断する（ステップＳ８０９）。
【００６７】
ＣＰＵ１１が、解釈したブロックが実行開始位置ではないと判断した場合（ステップＳ８０９：ＮＯ）、ＣＰＵ１１は、解釈したブロックを復帰運転情報として記憶手段２６に記憶し（ステップＳ８１０）、処理をステップＳ８０６へ戻し、上述した処理を繰り返す。ＣＰＵ１１が、フラグ情報が‘０’ではないと判断した場合（ステップＳ８０８：ＮＯ）、ＣＰＵ１１は、解釈したブロックが実行終了位置であるか否かを判断する（ステップＳ８１１）。
【００６８】
ＣＰＵ１１が、解釈したブロックが実行終了位置であると判断した場合（ステップＳ８１１：ＹＥＳ）、ＣＰＵ１１は、フラグ情報を‘０’に設定して（ステップＳ８１２）、解釈したブロックを復帰運転情報として記憶手段２６に記憶し（ステップＳ８１３）、処理をステップＳ８０６へ戻し、上述した処理を繰り返す。ＣＰＵ１１が、解釈したブロックが実行開始位置であると判断した場合（ステップＳ８０９：ＹＥＳ）、ＣＰＵ１１は、記憶手段２６に記憶してある復帰運転情報に従って復帰運転を実行する（ステップＳ８１４）。ＣＰＵ１１が復帰運転を実行した後又は解釈したブロックが実行終了位置ではないと判断した場合（ステップＳ８１１：ＮＯ）、ＣＰＵ１１は、解釈されたブロックの命令を実行して、フラグ情報を‘１’に設定する（ステップＳ８１５）。ＣＰＵ１１は、処理をステップＳ８０６へ戻し、上述した処理を繰り返す。
【００６９】
以上のように本実施の形態２によれば、加工プログラム３を実行開始位置まで単純にスキップするだけではなく、部分的に加工プログラム３を開始する場合であっても、それまでの命令が実行された場合と同様の初期条件下で実行することが可能となる。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施の形態１に係る数値制御装置を３軸制御の工作機械に用いる場合の構成を示すブロック図である。
【図２】本実施の形態１に係る数値制御装置で実行する加工プログラムの一例を示す図である。
【図３】本実施の形態１に係る数値制御装置で実行する加工プログラムを部分的に再実行する場合の実行開始位置及び実行終了位置を示す実行部分特定情報の一例を示す図である。
【図４】再度加工を行う場合の加工プログラムの実行開始位置、及び実行終了位置の指定を受け付ける画面の一例を示す図である。
【図５】本発明の実施の形態１に係る数値制御装置で加工プログラムを部分的に再実行する場合のＣＰＵの処理手順を示すフローチャートである。
【図６】本実施の形態２に係る数値制御装置で実行する加工プログラムの一例を示す図である。
【図７】本実施の形態２に係る数値制御装置で実行する加工プログラムを部分的に再実行する場合の実行開始位置及び実行終了位置を示す実行部分特定情報の一例を示す図である。
【図８】本発明の実施の形態２に係る数値制御装置で加工プログラムを部分的に再実行する場合のＣＰＵの処理手順を示すフローチャートである。
【符号の説明】
【００７１】
１  数値制御装置
２  記憶媒体
３  加工プログラム
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１５  入力手段
１６  表示手段
２６  記憶手段
【図１】
0004654937.tif 000002
【図２】
0004654937.tif 000003
【図３】
0004654937.tif 000004
【図４】
0004654937.tif 000005
【図５】
0004654937.tif 000006
【図６】
0004654937.tif 000007
【図７】
0004654937.tif 000008
【図８】
0004654937.tif 000009