(57)【特許請求の範囲】
【請求項１】
加工プログラムによって工作機械を制御しワークの加工を行う数値制御装置であって、
前記加工プログラムを構成する複数のブロックを保存するブロックバッファと、
前記ブロックバッファ内に保存されている前記各ブロックを順次実行して前記ワークを加工するとともに、所定の条件下においては、前記ブロックバッファ内に保存されている前記ブロックのうち、切削動作を行わないブロックである非切削ブロックを実行する前または実行した後に前記ワークの加工を停止する制御手段と、
を有しており、
前記所定の条件が、前記ブロックバッファ内に保存されている各ブロックのうち、実行中の非切削ブロック以後に、他の非切削ブロックが保存されていない場合である、数値制御装置。
【請求項２】
前記制御手段は、前記加工プログラムを解析するための加工プログラム解析部と、前記工作機械を動作させるサーボ機構への命令信号を補間する命令信号補間部とを有し、前記ブロックバッファが、前記加工プログラム解析部と前記命令信号補間部との間に設けられており、
前記数値制御装置は、前記ブロックバッファ内に保存されている前記非切削ブロックの数を記憶するブロックカウンタを有しているとともに、
前記加工プログラム解析部は、前記ブロックバッファ内に前記非切削ブロックが保存される度に、前記ブロックカウンタの値をインクリメントし、
前記命令信号補間部は、前記ブロックバッファ内の前記非切削ブロックが実行される度に、前記ブロックカウンタの値をデクリメントする、請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工プログラムによって工作機械を制御しワークの加工を行う数値制御装置に関するものである。
【背景技術】
【０００２】
従来、加工プログラムによって制御される工作機械において、ワークに傷が付くのを防止する技術が知られている。例えば、特開２００９−５３８０１号公報には、ワークの加工を中断した後に再開するためのプログラム再開ブロックデータを、ワークの加工を行っていない非切削位置で取得する数値制御装置が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−５３８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された発明は、ワークの加工を再開する場合に、加工工具の刃物が既に加工された部分に当接するのを防止するものに過ぎない。つまり、加工を再開するタイミングを調整するものであって、加工を停止するタイミングについては何ら考慮していない。このため、ワークを加工している最中に、ユーザの予期せぬ原因によって加工が突然停止してしまった場合には、ワークに傷が付くのを防止することができないという問題がある。
【０００５】
特に、近年、加工プログラムは、数値制御装置とは別個に設けられたパーソナルコンピュータ等の外部記憶装置に記憶されており、有線や無線による通信を介して数値制御装置へ供給されている。また、数値制御装置へ供給された加工プログラムは、所定数のブロックごとにブロックバッファ内に保存され、順次実行されるようになっている。
【０００６】
上記のような従来の数値制御装置では、外部記憶装置の電源が不意に落ちてしまったり、誤って通信ケーブルを抜いてしまった場合等、何らかの原因によって通信エラーが発生した場合、直ちに加工を停止するか、ブロックバッファ内の全ブロックを実行した後、加工を停止するようになっている。このため、ワークの切削動作を行っている最中でも加工が停止し、ワークに傷を付けてしまうおそれがある。
【０００７】
本発明は、このような問題点を解決するためになされたものであって、切削動作を行わない非切削ブロックでワークの加工を停止させることにより、ワークに傷が付くのを防止することができる数値制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明に係る数値制御装置は、加工プログラムによって工作機械を制御しワークの加工を行う数値制御装置であって、前記加工プログラムを構成する複数のブロックを保存するブロックバッファと、前記ブロックバッファ内に保存されている前記各ブロックを順次実行して前記ワークを加工するとともに、所定の条件下においては、前記ブロックバッファ内に保存されている前記ブロックのうち、切削動作を行わないブロックである非切削ブロックを実行する前または実行した後に前記ワークの加工を停止する制御手段と、を有している。
【０００９】
また、本発明の一態様として、前記所定の条件が、前記加工プログラムを記憶している外部記憶装置と前記数値制御装置との間で通信エラーが発生した場合であってもよい。
【００１０】
さらに、本発明の一態様として、前記制御手段は、前記通信エラーが解消されたとき、前記ワークの加工を再開してもよい。
【００１１】
また、本発明の一態様として、前記所定の条件が、前記ブロックバッファ内に保存されている各ブロックのうち、実行中の非切削ブロック以後に、他の非切削ブロックが保存されていない場合であってもよい。
【００１２】
さらに、本発明の一態様として、前記制御手段は、前記加工プログラムを解析するための加工プログラム解析部と、前記工作機械を動作させるサーボ機構への命令信号を補間する命令信号補間部とを有し、前記ブロックバッファが、前記加工プログラム解析部と前記命令信号補間部との間に設けられており、前記数値制御装置は、前記ブロックバッファ内に保存されている前記非切削ブロックの数を記憶するブロックカウンタを有しているとともに、前記加工プログラム解析部は、前記ブロックバッファ内に前記非切削ブロックが保存される度に、前記ブロックカウンタの値をインクリメントし、前記命令信号補間部は、前記ブロックバッファ内の前記非切削ブロックが実行される度に、前記ブロックカウンタの値をデクリメントしてもよい。
【発明の効果】
【００１３】
本発明によれば、切削動作を行わない非切削ブロックでワークの加工を停止させることにより、ワークに傷が付くのを防止することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係る数値制御装置の第１実施形態を示すブロック図である。
【図２】第１実施形態の加工プログラムを構成するブロックの一例を示す図である。
【図３】第１実施形態のブロックバッファを示す概念図である。
【図４】第１実施形態において、加工プログラムをブロックバッファに保存する処理を示すフローチャートである。
【図５】第１実施形態において、加工プログラムを実行する処理を示すフローチャートである。
【図６】本発明に係る数値制御装置の第２実施形態を示すブロック図である。
【図７】第２実施形態において、加工プログラムをブロックバッファに保存する処理を示すフローチャートである。
【図８】第２実施形態において、加工プログラムを実行する処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明に係る数値制御装置の第１実施形態について図面を用いて説明する。なお、本発明に係る数値制御装置は、いわゆるコンピュータ数値制御（ＣＮＣ：Computerized Numerical Control）等の数値制御処理を実行可能な全ての装置を含む概念である。
【００１６】
本第１実施形態の数値制御装置１Ａは、図１に示すように、外部記憶装置１０に記憶されている加工プログラムに基づいて、工作機械１１を動作させるサーボ機構１２へ命令信号を出力することにより工作機械１１を制御し、ワークに対して様々な加工を行うためのものである。以下、各構成について詳細に説明する。
【００１７】
外部記憶装置１０は、一般的なオペレーティングシステムが搭載されたパーソナルコンピュータ等によって構成されている。本第１実施形態において、外部記憶装置１０は、ＣＦカード等のメモリーカードを差し込むためのカードスロット（図示せず）を備えており、当該メモリーカード内に加工プログラムが記憶されている。そして、外部記憶装置１０は、当該メモリーカードから加工プログラムを読み出し、数値制御装置１Ａへ供給するようになっている。
【００１８】
工作機械１１は、旋盤、ボール盤、中ぐり盤、フライス盤、歯切り盤、研削盤等のように、金属、木材、石材、樹脂等のワークに対して、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ等の加工を施すための機械である。本第１実施形態において、工作機械１１は、数値制御装置１Ａから供給される命令信号を増幅するサーボアンプ１２ａと、このサーボアンプ１２ａから出力される駆動信号に基づいて工具やテーブルを駆動するサーボモータ１２ｂとから構成されるサーボ機構１２を有している。
【００１９】
数値制御装置１Ａは、加工プログラムに基づいて工作機械１１を制御しワークの加工を行うものであり、図１に示すように、各種のデータを記憶するとともに、制御手段３が演算処理を行う際のワーキングエリアとして機能する記憶手段２と、記憶手段２にインストールされた数値制御装置用プログラム１ａを実行することにより、各種の演算処理を実行する制御手段３とを有している。以下、各構成手段について説明する。
【００２０】
本第１実施形態において、記憶手段２は、ハードディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等で構成されており、図１に示すように、プログラム記憶部２１と、ブロックバッファ２２とを有している。
【００２１】
プログラム記憶部２１には、リアルタイムオペレーティングシステム（ＲＴＯＳ）が搭載されているとともに、本第１実施形態の数値制御装置１Ａを制御するための数値制御装置用プログラム１ａがインストールされている。そして、制御手段３が、当該数値制御装置用プログラム１ａを実行することにより、コンピュータを後述する各構成部としてとして機能させるようになっている。
【００２２】
ブロックバッファ２２は、加工プログラムを構成する複数のブロックを保存するものである。本第１実施形態において、加工プログラムは、図２に示すように、各ブロックごとにＧコードやＭコード等が付されており、切削動作を伴う切削ブロック（Ｇ０１：直線補間、Ｇ０２：円弧補間ＣＷ（時計回り）、Ｇ０３：円弧補間ＣＣＷ（反時計回り）等）と、切削動作を伴わない非切削ブロック（Ｇ００：位置決め、Ｇ５０：スケーリングキャンセル、Ｍ３０：プログラムエンド等）とから構成されている。
【００２３】
また、本第１実施形態において、ブロックバッファ２２には、図３に示すように、後述する加工プログラム解析部３２によって解析された各種のブロックが順次保存される。そして、ＦＩＦＯ（ファーストインファーストアウト）方式に従って、ブロックバッファ２２に格納された順番で各ブロックが順次処理され、実行されたブロックから順次ブロックバッファ２２から削除されるようになっている。
【００２４】
つぎに、制御手段３は、ＣＰＵ（Central Processing Unit）等によって構成されており、記憶手段２にインストールされた数値制御装置用プログラム１ａを実行することにより、図１に示すように、加工プログラム取得部３１と、加工プログラム解析部３２と、通信状態監視部３３と、命令信号補間部３４と、ブロック実行制御部３５として機能するようになっている。以下、各構成部についてより詳細に説明する。
【００２５】
加工プログラム取得部３１は、加工プログラム解析部３２からの要求に応じて、加工プログラムを外部記憶装置１０から取得するものである。本第１実施形態では、数値制御装置１Ａと外部記憶装置１０とがＬＡＮケーブルで通信可能に接続されており、当該ＬＡＮケーブルを介して加工プログラムを取得するようになっている。なお、数値制御装置１Ａと外部記憶装置１０との接続はＬＡＮケーブルに限定されるものではなく、ブルートゥース等の無線通信インターフェースを介して無線通信可能に構成されていてもよい。
【００２６】
加工プログラム解析部３２は、加工プログラムを解析するためのものである。本第１実施形態において、加工プログラム解析部３２は、加工プログラム取得部３１によって取得された加工プログラムを解析し、その解析結果としてのブロックをブロックバッファ２２へ順次格納するようになっている。これにより、各ブロックは、図３に示すように、切削ブロックであるか、非切削ブロックであるかが判別された状態でブロックバッファ２２に格納される。
【００２７】
通信状態監視部３３は、数値制御装置１Ａと外部記憶装置１０との間の通信状態を監視するものである。本第１実施形態において、通信状態監視部３３は、数値制御装置１Ａと外部記憶装置１０との間の通信エラーに起因して、加工プログラム取得部３１が加工プログラムを取得できない場合、その旨をブロック実行制御部３５へ通知する。なお、通信エラーの原因としては、外部記憶装置１０の電源やオペレーティングシステムが不意に落ちてしまったり、誤ってＬＡＮケーブルを抜いてしまった場合等が考えられる。
【００２８】
命令信号補間部３４は、工作機械１１を動作させるサーボ機構１２への命令信号を補間するものである。本第１実施形態において、命令信号補間部３４は、ブロックバッファ２２からブロックを順次１つずつ取得するとともに、切削指令や位置決め指令等の命令信号を補間してサーボモータ１２ｂごとの指令値を求め、サーボアンプ１２ａへ出力するようになっている。
【００２９】
なお、本第１実施形態では、上述したとおり、加工プログラム解析部３２が解析済みのブロックをブロックバッファ２２に保存した後、命令信号補間部３４が当該ブロックバッファ２２から順次ブロックを読み出しており、データの流れにおいては、ブロックバッファ２２が加工プログラム解析部３２と命令信号補間部３４との間に設けられている。
【００３０】
このため、加工プログラムの解析機能は、加工プログラム解析部３２のみに持たせればよく、実装が簡単となる。また、命令信号補間部３４が順次ブロックを処理している間に、加工プログラム解析部３２では各ブロックの解析処理を先に進められるため、演算処理に係る負荷も軽いというメリットがある。しかしながら、上記構成に限定されるものでなく、データの流れにおいて、加工プログラム取得部３１と加工プログラム解析部３２との間にブロックバッファ２２を設けてもよい。ただし、この場合、加工プログラム取得部３１にも別途、加工プログラムの解析機能を実装する必要がある。
【００３１】
ブロック実行制御部３５は、所定の条件下において、ブロックバッファ２２内に保存されているブロックのうち、非切削ブロックを実行した後にワークの加工を停止するものである。本第１実施形態において、所定の条件は、外部記憶装置１０と数値制御装置１Ａとの間で通信エラーが発生した場合である。この場合、ブロック実行制御部３５は、通信状態監視部３３から通信エラーを受信すると、命令信号補間部３４によって取得された１ブロックが非切削ブロックか否かを判別する。
【００３２】
当該判別の結果、非切削ブロックでなければ（すなわち切削ブロックであれば）、ブロック実行制御部３５は、命令信号補間部３４における処理を停止させることなく、ワークに対する加工を続行させる。すなわち、通信エラーが回復するまでの間、ブロックバッファ２２内にある切削ブロックを順次実行する。また、切削ブロックの実行中に通信が回復すれば、通常の処理状態へと戻す。
【００３３】
一方、上記判別の結果、非切削ブロックであれば、当該非切削ブロックを実行した後に、ブロック実行制御部３５は、命令信号補間部３４における処理を中断させ、ワークの加工を停止するようになっている。なお、本第１実施形態では、ワークの加工を停止させるタイミングが、非切削ブロックを実行した後に設定されているが、この構成に限定されるものではなく、非切削ブロックを実行する前であってもよい。
【００３４】
また、本第１実施形態において、ブロック実行制御部３５は、通信エラーが解消されたとき、ワークの加工を再開させる。具体的には、ブロック実行制御部３５は、通信状態監視部３３からの通信エラーが通知されなくなったとき、外部記憶装置１０と数値制御装置１Ａとの間の通信状態が回復したものと判断し、命令信号補間部３４における処理を再開させるようになっている。
【００３５】
つぎに、本第１実施形態の数値制御装置１Ａによる作用について説明する。
【００３６】
まず、本第１実施形態の数値制御装置１Ａによって工作機械１１を制御しワークの加工を行う場合、図４に示すように、加工プログラム取得部３１が、外部記憶装置１０から加工プログラムを取得する（ステップＳ１）。加工プログラムを外部記憶装置１０に保存することで、数値制御装置１Ａ側のメモリを増設することなく、ファイルサイズの大きな加工プログラムを処理することが可能となる。
【００３７】
つぎに、加工プログラム解析部３２が、加工プログラム取得部３１によって取得された加工プログラムを解析し（ステップＳ２）、その解析結果としてのブロックをブロックバッファ２２へ順次格納する（ステップＳ３）。これにより、ブロックバッファ２２には、図３に示すように、加工プログラムを構成する各ブロックが、切削ブロックであるか、非切削ブロックであるかが判別された状態でブロックバッファ２２に格納される。
【００３８】
上述したステップＳ１〜ステップＳ３の各処理は、加工プログラムを構成する全ブロックが取得されるまで繰り返された後（ステップＳ４）、終了する。また、これらの処理と同時並行して、図５に示す処理が実行される。
【００３９】
具体的には、まず、命令信号補間部３４が、ブロックバッファ２２から一つのブロックを取得すると（ステップＳ１１）、通信状態監視部３３が、数値制御装置１Ａと外部記憶装置１０との間に通信エラーが発生しているか否かを判別する（ステップＳ１２）。その判別の結果、通信エラーが発生していなければ（ステップＳ１２：ＮＯ）、命令信号補間部３４は、取得した１ブロックを実行し（ステップＳ１３）、加工プログラムが終了するまでステップＳ１１へと処理が戻される（ステップＳ１４）。
【００４０】
一方、ステップＳ１２における判別の結果、通信エラーが発生している場合（ステップＳ１２：ＹＥＳ）、ブロック実行制御部３５が、命令信号補間部３４によって取得された１ブロックが非切削ブロックか否かを判別する（ステップＳ１５）。そして、当該ブロックが非切削ブロックでなければ（ステップＳ１５：ＮＯ）、ブロック実行制御部３５は、命令信号補間部３４に当該切削ブロックを実行させる（ステップＳ１３）。そして、通信エラーが発生している限り（ステップＳ１２：ＹＥＳ）、非切削ブロックに到達するまで（ステップＳ１５：ＮＯ）、ブロックバッファ２２内の切削ブロックを順次実行する（ステップＳ１３）。また、非切削ブロックに到達する前に通信が回復すれば（ステップＳ１２：ＮＯ）、通常の処理状態へと戻る。
【００４１】
一方、非切削ブロックであれば（ステップＳ１５：ＹＥＳ）、ブロック実行制御部３５は、命令信号補間部３４に当該非切削ブロックを実行させた後（ステップＳ１６）、ブロックの実行を停止させる（ステップＳ１７）。これにより、数値制御装置１Ａと外部記憶装置１０との間に通信エラーが発生した場合でも、工作機械１１においては、直ちに加工を停止したり、ブロックバッファ２２内の全ブロックを実行してしまうことがなく、必ず加工工具の刃物がワークに接触していない状態で加工が停止されるため、ワークに傷を付けてしまうおそれがない。
【００４２】
その後、ブロック実行制御部３５は、通信状態監視部３３から通信エラーが通知されなくなるまでブロックの実行を停止する（ステップＳ１８：ＮＯ）。そして、通信エラーの通知がなくなると、ブロック実行制御部３５は、外部記憶装置１０と数値制御装置１Ａとの間の通信状態が回復したものと判断し（ステップＳ１８：ＹＥＳ）、処理をステップＳ１１へと戻す。これにより、加工工具の刃物がワークに接触していない状態から加工が再開されるため、ワークに傷を付けてしまうおそれがない。
【００４３】
なお、本第１実施形態では、上述したとおり、非切削ブロックを実行した後に、ワークの加工を停止させているが、この構成に限定されるものではなく、非切削ブロックを実行する前にワークの加工を停止させてもよい。すなわち、ステップＳ１６の処理をステップＳ１８の後に移動させることにより、非切削ブロックであれば（ステップＳ１５：ＹＥＳ）、直ちにブロックの実行を停止させ（ステップＳ１７）、通信状態が回復次第（ステップＳ１８：ＹＥＳ）、当該非切削ブロックから再開させるようにしてもよい。
【００４４】
以上のような本第１実施形態によれば、以下のような効果を奏する。
１．数値制御装置１Ａと外部記憶装置１０との間に通信エラーが発生した場合には、非切削ブロックでワークの加工を停止させることにより、ワークに傷が付くのを防止することができる。
２．停止位置は常に非切削ブロックとなるため、通信状態が回復した場合、当該停止位置から加工を再開することができる。
３．加工プログラム解析部３２と命令信号補間部３４との間にブロックバッファ２２を設けることで、簡単に実装でき、演算処理の負荷を軽減することができる。
【００４５】
つぎに、本発明に係る数値制御装置の第２実施形態について説明する。なお、本第２実施形態のうち、上述した第１実施形態の構成やステップと同一若しくは相当する構成やステップについては、同一の符号を付して再度の説明を省略する。
【００４６】
本第２実施形態の特徴は、切削ブロックが長期に渡って連続する場合等のように、ブロックバッファ２２内に非切削ブロックが一つも保存されていない状態を生じさせる可能性のある加工プログラムであっても、必ず非切削ブロックで加工を停止させる点にある。
【００４７】
本第２実施形態において、数値制御装置１Ｂは、図６に示すように、第１実施形態における通信状態監視部３３を有しておらず、別途、ブロックカウンタ２３を有している点で、第１実施形態の数値制御装置１Ａと異なっている。
【００４８】
ブロックカウンタ２３は、ブロックバッファ２２内に保存されている非切削ブロックの数を記憶するものである。本第２実施形態では、加工プログラム解析部３２が、ブロックバッファ２２内に非切削ブロックを保存する度に、ブロックカウンタ２３の値をインクリメントする。一方、命令信号補間部３４は、実行したブロックが非切削ブロックか否かを判別するとともに、ブロックバッファ２２内の非切削ブロックを実行する度に、ブロックカウンタ２３の値をデクリメントするようになっている。
【００４９】
また、ブロック実行制御部３５は、所定の条件下において、ブロックバッファ２２内に保存されているブロックのうち、非切削ブロックを実行した後にワークの加工を停止するものである。本第２実施形態において、所定の条件は、ブロックバッファ２２内に保存されている各ブロックのうち、実行中の非切削ブロック以後に、他の非切削ブロックが保存されていない場合である。
【００５０】
具体的には、ブロック実行制御部３５は、ブロックカウンタ２３の値を監視し、ブロックカウンタ２３の値が１以上の場合のみ、命令信号補間部３４による処理を開始させる。一方、ブロックカウンタ２３の値が０の場合、すなわち、ブロックバッファ２２内に非切削ブロックが保存されていない場合、命令信号補間部３４による処理を中断させ、ワークの加工を停止するようになっている。
【００５１】
つぎに、本第２実施形態の数値制御装置１Ｂによる作用について説明する。
【００５２】
図７に示すように、本第２実施形態の数値制御装置１Ｂによって工作機械１１を制御しワークの加工を行う場合、第１実施形態と同様、加工プログラム取得部３１が外部記憶装置１０から加工プログラムを取得し（ステップＳ１）、加工プログラム解析部３２が加工プログラムを解析し（ステップＳ２）、解析されたブロックをブロックバッファ２２へ順次格納する（ステップＳ３）。
【００５３】
このとき、本第２実施形態では、加工プログラム解析部３２が、ブロックバッファ２２内に非切削ブロックを保存する度に、ブロックカウンタ２３の値をインクリメントする。すなわち、加工プログラム解析部３２は、ｎ個の非切削ブロックをブロックバッファ２２内に保存した場合、ブロックカウンタ２３の値にｎを加算する（ステップＳ５）。
【００５４】
上述したステップＳ１〜ステップＳ３およびステップＳ５の各処理は、加工プログラムを構成する全ブロックが取得されるまで繰り返された後（ステップＳ４）、終了する。また、これらの処理と同時並行して、図８に示す処理が実行される。
【００５５】
具体的には、ブロック実行制御部３５が、ブロックカウンタ２３の値を監視し、ブロックカウンタ２３の値が１以上とならない限り、すなわち、ブロックバッファ２２内に一つ以上の非切削ブロックが保存されていない限り、命令信号補間部３４による処理を開始させない（ステップＳ２１：ＮＯ）。一方、ブロックカウンタ２３の値が１以上の場合のみ（ステップＳ２１：ＹＥＳ）、命令信号補間部３４が処理を開始し、ブロックバッファ２２から一つのブロックを取得するとともに（ステップＳ２２）、当該ブロックを実行する（ステップＳ２３）。
【００５６】
当該ブロックを実行後、加工プログラムが終了であれば（ステップＳ２４：ＹＥＳ）、本処理を終了する。一方、加工プログラムが終了でなければ（ステップＳ２４：ＮＯ）、命令信号補間部３４が、実行したブロックが非切削ブロックか否かを判別する（ステップＳ２５）。その結果、非切削ブロックでなければ（ステップＳ２５：ＮＯ）、処理はステップＳ３２へと戻り、引き続き加工が続行される。
【００５７】
一方、実行したブロックが非切削ブロックであれば（ステップＳ２５：ＹＥＳ）、命令信号補間部３４が、ブロックカウンタ２３の値をデクリメントする（ステップＳ２６）。その後、処理はステップＳ２１へと戻り、上述した処理が繰り返される。これにより、実行中の非切削ブロック以後に、他の非切削ブロックがブロックバッファ２２内に保存されていない場合には、当該非切削ブロックを実行した後にワークの加工が停止されるため（ステップＳ２１：ＮＯ）、切削中の急停止によってワークに傷を付けてしまうおそれがない。
【００５８】
なお、本第２実施形態においても、ワークの加工を停止させるタイミングが、非切削ブロックを実行した後に設定されているが、この構成に限定されるものではなく、非切削ブロックを実行する前であってもよい。
【００５９】
以上のような本第２実施形態によれば、上述した第１実施形態の作用効果に加えて、以下のような効果を奏する。
１．ブロックバッファ２２内に非切削ブロックが保存されている場合のみ加工を実行し、切削ブロックで加工が停止しないことを保証することができる。
２．切削ブロックが長期に渡って連続するような加工プログラムであっても、切削中の急停止が原因でワークに傷が付くのを防止することができる。
３．外部記憶装置１０と数値制御装置１Ｂとの間の通信エラーの有無に関わらず、ブロックバッファ２２内の非切削ブロックの有無によってのみ加工の停止タイミングが決められるため、一時的な通信障害が発生したとしても、通信状態が回復すれば加工も自動的に再開することができる。
【００６０】
なお、本発明に係る数値制御装置１Ａ，１Ｂは、前述した各実施形態に限定されるものではなく、適宜変更することができる。
【００６１】
例えば、上述した第２実施形態では、ブロックバッファ２２内に非切削ブロックが保存されていない状態では、加工が実行されないため、加工時間が長くなるおそれがある。そこで、数値制御装置１Ｂにおけるパラメータの設定により、第２実施形態に係る機能をオン／オフできるようにしてもよい。これにより、極めて高価なワークを加工する場合等のように、ワークの保全を優先したい場合には、当該機能をオンにする一方、加工時間の短縮を優先したい場合には、当該機能をオフにすることで、ユーザの希望に沿うことができる。
【符号の説明】
【００６２】
１Ａ，１Ｂ  数値制御装置
１ａ  数値制御装置用プログラム
２  記憶手段
３  制御手段
１０  外部記憶装置
１１  工作機械
１２  サーボ機構
１２ａ  サーボアンプ
１２ｂ  サーボモータ
２１  プログラム記憶部
２２  ブロックバッファ
２３  ブロックカウンタ
３１  加工プログラム取得部
３２  加工プログラム解析部
３３  通信状態監視部
３４  命令信号補間部
３５  ブロック実行制御部
【図１】
0006472227.tif 000002
【図２】
0006472227.tif 000003
【図３】
0006472227.tif 000004
【図４】
0006472227.tif 000005
【図５】
0006472227.tif 000006
【図６】
0006472227.tif 000007
【図７】
0006472227.tif 000008
【図８】
0006472227.tif 000009