(58)【調査した分野】(Int.Cl.,DB名)
前記制御手段は、前記加工プログラムを解析するための加工プログラム解析部と、前記工作機械を動作させるサーボ機構への命令信号を補間する命令信号補間部とを有し、前記ブロックバッファが、前記加工プログラム解析部と前記命令信号補間部との間に設けられており、
前記数値制御装置は、前記ブロックバッファ内に保存されている前記非切削ブロックの数を記憶するブロックカウンタを有しているとともに、
前記加工プログラム解析部は、前記ブロックバッファ内に前記非切削ブロックが保存される度に、前記ブロックカウンタの値をインクリメントし、
前記命令信号補間部は、前記ブロックバッファ内の前記非切削ブロックが実行される度に、前記ブロックカウンタの値をデクリメントする、請求項1に記載の数値制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載された発明は、ワークの加工を再開する場合に、加工工具の刃物が既に加工された部分に当接するのを防止するものに過ぎない。つまり、加工を再開するタイミングを調整するものであって、加工を停止するタイミングについては何ら考慮していない。このため、ワークを加工している最中に、ユーザの予期せぬ原因によって加工が突然停止してしまった場合には、ワークに傷が付くのを防止することができないという問題がある。
【0005】
特に、近年、加工プログラムは、数値制御装置とは別個に設けられたパーソナルコンピュータ等の外部記憶装置に記憶されており、有線や無線による通信を介して数値制御装置へ供給されている。また、数値制御装置へ供給された加工プログラムは、所定数のブロックごとにブロックバッファ内に保存され、順次実行されるようになっている。
【0006】
上記のような従来の数値制御装置では、外部記憶装置の電源が不意に落ちてしまったり、誤って通信ケーブルを抜いてしまった場合等、何らかの原因によって通信エラーが発生した場合、直ちに加工を停止するか、ブロックバッファ内の全ブロックを実行した後、加工を停止するようになっている。このため、ワークの切削動作を行っている最中でも加工が停止し、ワークに傷を付けてしまうおそれがある。
【0007】
本発明は、このような問題点を解決するためになされたものであって、切削動作を行わない非切削ブロックでワークの加工を停止させることにより、ワークに傷が付くのを防止することができる数値制御装置を提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明に係る数値制御装置は、加工プログラムによって工作機械を制御しワークの加工を行う数値制御装置であって、前記加工プログラムを構成する複数のブロックを保存するブロックバッファと、前記ブロックバッファ内に保存されている前記各ブロックを順次実行して前記ワークを加工するとともに、所定の条件下においては、前記ブロックバッファ内に保存されている前記ブロックのうち、切削動作を行わないブロックである非切削ブロックを実行する前または実行した後に前記ワークの加工を停止する制御手段と、を有している。
【0009】
また、本発明の一態様として、前記所定の条件が、前記加工プログラムを記憶している外部記憶装置と前記数値制御装置との間で通信エラーが発生した場合であってもよい。
【0010】
さらに、本発明の一態様として、前記制御手段は、前記通信エラーが解消されたとき、前記ワークの加工を再開してもよい。
【0011】
また、本発明の一態様として、前記所定の条件が、前記ブロックバッファ内に保存されている各ブロックのうち、実行中の非切削ブロック以後に、他の非切削ブロックが保存されていない場合であってもよい。
【0012】
さらに、本発明の一態様として、前記制御手段は、前記加工プログラムを解析するための加工プログラム解析部と、前記工作機械を動作させるサーボ機構への命令信号を補間する命令信号補間部とを有し、前記ブロックバッファが、前記加工プログラム解析部と前記命令信号補間部との間に設けられており、前記数値制御装置は、前記ブロックバッファ内に保存されている前記非切削ブロックの数を記憶するブロックカウンタを有しているとともに、前記加工プログラム解析部は、前記ブロックバッファ内に前記非切削ブロックが保存される度に、前記ブロックカウンタの値をインクリメントし、前記命令信号補間部は、前記ブロックバッファ内の前記非切削ブロックが実行される度に、前記ブロックカウンタの値をデクリメントしてもよい。
【発明の効果】
【0013】
本発明によれば、切削動作を行わない非切削ブロックでワークの加工を停止させることにより、ワークに傷が付くのを防止することができる。
【発明を実施するための形態】
【0015】
以下、本発明に係る数値制御装置の第1実施形態について図面を用いて説明する。なお、本発明に係る数値制御装置は、いわゆるコンピュータ数値制御(CNC:Computerized Numerical Control)等の数値制御処理を実行可能な全ての装置を含む概念である。
【0016】
本第1実施形態の数値制御装置1Aは、
図1に示すように、外部記憶装置10に記憶されている加工プログラムに基づいて、工作機械11を動作させるサーボ機構12へ命令信号を出力することにより工作機械11を制御し、ワークに対して様々な加工を行うためのものである。以下、各構成について詳細に説明する。
【0017】
外部記憶装置10は、一般的なオペレーティングシステムが搭載されたパーソナルコンピュータ等によって構成されている。本第1実施形態において、外部記憶装置10は、CFカード等のメモリーカードを差し込むためのカードスロット(図示せず)を備えており、当該メモリーカード内に加工プログラムが記憶されている。そして、外部記憶装置10は、当該メモリーカードから加工プログラムを読み出し、数値制御装置1Aへ供給するようになっている。
【0018】
工作機械11は、旋盤、ボール盤、中ぐり盤、フライス盤、歯切り盤、研削盤等のように、金属、木材、石材、樹脂等のワークに対して、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ等の加工を施すための機械である。本第1実施形態において、工作機械11は、数値制御装置1Aから供給される命令信号を増幅するサーボアンプ12aと、このサーボアンプ12aから出力される駆動信号に基づいて工具やテーブルを駆動するサーボモータ12bとから構成されるサーボ機構12を有している。
【0019】
数値制御装置1Aは、加工プログラムに基づいて工作機械11を制御しワークの加工を行うものであり、
図1に示すように、各種のデータを記憶するとともに、制御手段3が演算処理を行う際のワーキングエリアとして機能する記憶手段2と、記憶手段2にインストールされた数値制御装置用プログラム1aを実行することにより、各種の演算処理を実行する制御手段3とを有している。以下、各構成手段について説明する。
【0020】
本第1実施形態において、記憶手段2は、ハードディスク、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等で構成されており、
図1に示すように、プログラム記憶部21と、ブロックバッファ22とを有している。
【0021】
プログラム記憶部21には、リアルタイムオペレーティングシステム(RTOS)が搭載されているとともに、本第1実施形態の数値制御装置1Aを制御するための数値制御装置用プログラム1aがインストールされている。そして、制御手段3が、当該数値制御装置用プログラム1aを実行することにより、コンピュータを後述する各構成部としてとして機能させるようになっている。
【0022】
ブロックバッファ22は、加工プログラムを構成する複数のブロックを保存するものである。本第1実施形態において、加工プログラムは、
図2に示すように、各ブロックごとにGコードやMコード等が付されており、切削動作を伴う切削ブロック(G01:直線補間、G02:円弧補間CW(時計回り)、G03:円弧補間CCW(反時計回り)等)と、切削動作を伴わない非切削ブロック(G00:位置決め、G50:スケーリングキャンセル、M30:プログラムエンド等)とから構成されている。
【0023】
また、本第1実施形態において、ブロックバッファ22には、
図3に示すように、後述する加工プログラム解析部32によって解析された各種のブロックが順次保存される。そして、FIFO(ファーストインファーストアウト)方式に従って、ブロックバッファ22に格納された順番で各ブロックが順次処理され、実行されたブロックから順次ブロックバッファ22から削除されるようになっている。
【0024】
つぎに、制御手段3は、CPU(Central Processing Unit)等によって構成されており、記憶手段2にインストールされた数値制御装置用プログラム1aを実行することにより、
図1に示すように、加工プログラム取得部31と、加工プログラム解析部32と、通信状態監視部33と、命令信号補間部34と、ブロック実行制御部35として機能するようになっている。以下、各構成部についてより詳細に説明する。
【0025】
加工プログラム取得部31は、加工プログラム解析部32からの要求に応じて、加工プログラムを外部記憶装置10から取得するものである。本第1実施形態では、数値制御装置1Aと外部記憶装置10とがLANケーブルで通信可能に接続されており、当該LANケーブルを介して加工プログラムを取得するようになっている。なお、数値制御装置1Aと外部記憶装置10との接続はLANケーブルに限定されるものではなく、ブルートゥース等の無線通信インターフェースを介して無線通信可能に構成されていてもよい。
【0026】
加工プログラム解析部32は、加工プログラムを解析するためのものである。本第1実施形態において、加工プログラム解析部32は、加工プログラム取得部31によって取得された加工プログラムを解析し、その解析結果としてのブロックをブロックバッファ22へ順次格納するようになっている。これにより、各ブロックは、
図3に示すように、切削ブロックであるか、非切削ブロックであるかが判別された状態でブロックバッファ22に格納される。
【0027】
通信状態監視部33は、数値制御装置1Aと外部記憶装置10との間の通信状態を監視するものである。本第1実施形態において、通信状態監視部33は、数値制御装置1Aと外部記憶装置10との間の通信エラーに起因して、加工プログラム取得部31が加工プログラムを取得できない場合、その旨をブロック実行制御部35へ通知する。なお、通信エラーの原因としては、外部記憶装置10の電源やオペレーティングシステムが不意に落ちてしまったり、誤ってLANケーブルを抜いてしまった場合等が考えられる。
【0028】
命令信号補間部34は、工作機械11を動作させるサーボ機構12への命令信号を補間するものである。本第1実施形態において、命令信号補間部34は、ブロックバッファ22からブロックを順次1つずつ取得するとともに、切削指令や位置決め指令等の命令信号を補間してサーボモータ12bごとの指令値を求め、サーボアンプ12aへ出力するようになっている。
【0029】
なお、本第1実施形態では、上述したとおり、加工プログラム解析部32が解析済みのブロックをブロックバッファ22に保存した後、命令信号補間部34が当該ブロックバッファ22から順次ブロックを読み出しており、データの流れにおいては、ブロックバッファ22が加工プログラム解析部32と命令信号補間部34との間に設けられている。
【0030】
このため、加工プログラムの解析機能は、加工プログラム解析部32のみに持たせればよく、実装が簡単となる。また、命令信号補間部34が順次ブロックを処理している間に、加工プログラム解析部32では各ブロックの解析処理を先に進められるため、演算処理に係る負荷も軽いというメリットがある。しかしながら、上記構成に限定されるものでなく、データの流れにおいて、加工プログラム取得部31と加工プログラム解析部32との間にブロックバッファ22を設けてもよい。ただし、この場合、加工プログラム取得部31にも別途、加工プログラムの解析機能を実装する必要がある。
【0031】
ブロック実行制御部35は、所定の条件下において、ブロックバッファ22内に保存されているブロックのうち、非切削ブロックを実行した後にワークの加工を停止するものである。本第1実施形態において、所定の条件は、外部記憶装置10と数値制御装置1Aとの間で通信エラーが発生した場合である。この場合、ブロック実行制御部35は、通信状態監視部33から通信エラーを受信すると、命令信号補間部34によって取得された1ブロックが非切削ブロックか否かを判別する。
【0032】
当該判別の結果、非切削ブロックでなければ(すなわち切削ブロックであれば)、ブロック実行制御部35は、命令信号補間部34における処理を停止させることなく、ワークに対する加工を続行させる。すなわち、通信エラーが回復するまでの間、ブロックバッファ22内にある切削ブロックを順次実行する。また、切削ブロックの実行中に通信が回復すれば、通常の処理状態へと戻す。
【0033】
一方、上記判別の結果、非切削ブロックであれば、当該非切削ブロックを実行した後に、ブロック実行制御部35は、命令信号補間部34における処理を中断させ、ワークの加工を停止するようになっている。なお、本第1実施形態では、ワークの加工を停止させるタイミングが、非切削ブロックを実行した後に設定されているが、この構成に限定されるものではなく、非切削ブロックを実行する前であってもよい。
【0034】
また、本第1実施形態において、ブロック実行制御部35は、通信エラーが解消されたとき、ワークの加工を再開させる。具体的には、ブロック実行制御部35は、通信状態監視部33からの通信エラーが通知されなくなったとき、外部記憶装置10と数値制御装置1Aとの間の通信状態が回復したものと判断し、命令信号補間部34における処理を再開させるようになっている。
【0035】
つぎに、本第1実施形態の数値制御装置1Aによる作用について説明する。
【0036】
まず、本第1実施形態の数値制御装置1Aによって工作機械11を制御しワークの加工を行う場合、
図4に示すように、加工プログラム取得部31が、外部記憶装置10から加工プログラムを取得する(ステップS1)。加工プログラムを外部記憶装置10に保存することで、数値制御装置1A側のメモリを増設することなく、ファイルサイズの大きな加工プログラムを処理することが可能となる。
【0037】
つぎに、加工プログラム解析部32が、加工プログラム取得部31によって取得された加工プログラムを解析し(ステップS2)、その解析結果としてのブロックをブロックバッファ22へ順次格納する(ステップS3)。これにより、ブロックバッファ22には、
図3に示すように、加工プログラムを構成する各ブロックが、切削ブロックであるか、非切削ブロックであるかが判別された状態でブロックバッファ22に格納される。
【0038】
上述したステップS1〜ステップS3の各処理は、加工プログラムを構成する全ブロックが取得されるまで繰り返された後(ステップS4)、終了する。また、これらの処理と同時並行して、
図5に示す処理が実行される。
【0039】
具体的には、まず、命令信号補間部34が、ブロックバッファ22から一つのブロックを取得すると(ステップS11)、通信状態監視部33が、数値制御装置1Aと外部記憶装置10との間に通信エラーが発生しているか否かを判別する(ステップS12)。その判別の結果、通信エラーが発生していなければ(ステップS12:NO)、命令信号補間部34は、取得した1ブロックを実行し(ステップS13)、加工プログラムが終了するまでステップS11へと処理が戻される(ステップS14)。
【0040】
一方、ステップS12における判別の結果、通信エラーが発生している場合(ステップS12:YES)、ブロック実行制御部35が、命令信号補間部34によって取得された1ブロックが非切削ブロックか否かを判別する(ステップS15)。そして、当該ブロックが非切削ブロックでなければ(ステップS15:NO)、ブロック実行制御部35は、命令信号補間部34に当該切削ブロックを実行させる(ステップS13)。そして、通信エラーが発生している限り(ステップS12:YES)、非切削ブロックに到達するまで(ステップS15:NO)、ブロックバッファ22内の切削ブロックを順次実行する(ステップS13)。また、非切削ブロックに到達する前に通信が回復すれば(ステップS12:NO)、通常の処理状態へと戻る。
【0041】
一方、非切削ブロックであれば(ステップS15:YES)、ブロック実行制御部35は、命令信号補間部34に当該非切削ブロックを実行させた後(ステップS16)、ブロックの実行を停止させる(ステップS17)。これにより、数値制御装置1Aと外部記憶装置10との間に通信エラーが発生した場合でも、工作機械11においては、直ちに加工を停止したり、ブロックバッファ22内の全ブロックを実行してしまうことがなく、必ず加工工具の刃物がワークに接触していない状態で加工が停止されるため、ワークに傷を付けてしまうおそれがない。
【0042】
その後、ブロック実行制御部35は、通信状態監視部33から通信エラーが通知されなくなるまでブロックの実行を停止する(ステップS18:NO)。そして、通信エラーの通知がなくなると、ブロック実行制御部35は、外部記憶装置10と数値制御装置1Aとの間の通信状態が回復したものと判断し(ステップS18:YES)、処理をステップS11へと戻す。これにより、加工工具の刃物がワークに接触していない状態から加工が再開されるため、ワークに傷を付けてしまうおそれがない。
【0043】
なお、本第1実施形態では、上述したとおり、非切削ブロックを実行した後に、ワークの加工を停止させているが、この構成に限定されるものではなく、非切削ブロックを実行する前にワークの加工を停止させてもよい。すなわち、ステップS16の処理をステップS18の後に移動させることにより、非切削ブロックであれば(ステップS15:YES)、直ちにブロックの実行を停止させ(ステップS17)、通信状態が回復次第(ステップS18:YES)、当該非切削ブロックから再開させるようにしてもよい。
【0044】
以上のような本第1実施形態によれば、以下のような効果を奏する。
1.数値制御装置1Aと外部記憶装置10との間に通信エラーが発生した場合には、非切削ブロックでワークの加工を停止させることにより、ワークに傷が付くのを防止することができる。
2.停止位置は常に非切削ブロックとなるため、通信状態が回復した場合、当該停止位置から加工を再開することができる。
3.加工プログラム解析部32と命令信号補間部34との間にブロックバッファ22を設けることで、簡単に実装でき、演算処理の負荷を軽減することができる。
【0045】
つぎに、本発明に係る数値制御装置の第2実施形態について説明する。なお、本第2実施形態のうち、上述した第1実施形態の構成やステップと同一若しくは相当する構成やステップについては、同一の符号を付して再度の説明を省略する。
【0046】
本第2実施形態の特徴は、切削ブロックが長期に渡って連続する場合等のように、ブロックバッファ22内に非切削ブロックが一つも保存されていない状態を生じさせる可能性のある加工プログラムであっても、必ず非切削ブロックで加工を停止させる点にある。
【0047】
本第2実施形態において、数値制御装置1Bは、
図6に示すように、第1実施形態における通信状態監視部33を有しておらず、別途、ブロックカウンタ23を有している点で、第1実施形態の数値制御装置1Aと異なっている。
【0048】
ブロックカウンタ23は、ブロックバッファ22内に保存されている非切削ブロックの数を記憶するものである。本第2実施形態では、加工プログラム解析部32が、ブロックバッファ22内に非切削ブロックを保存する度に、ブロックカウンタ23の値をインクリメントする。一方、命令信号補間部34は、実行したブロックが非切削ブロックか否かを判別するとともに、ブロックバッファ22内の非切削ブロックを実行する度に、ブロックカウンタ23の値をデクリメントするようになっている。
【0049】
また、ブロック実行制御部35は、所定の条件下において、ブロックバッファ22内に保存されているブロックのうち、非切削ブロックを実行した後にワークの加工を停止するものである。本第2実施形態において、所定の条件は、ブロックバッファ22内に保存されている各ブロックのうち、実行中の非切削ブロック以後に、他の非切削ブロックが保存されていない場合である。
【0050】
具体的には、ブロック実行制御部35は、ブロックカウンタ23の値を監視し、ブロックカウンタ23の値が1以上の場合のみ、命令信号補間部34による処理を開始させる。一方、ブロックカウンタ23の値が0の場合、すなわち、ブロックバッファ22内に非切削ブロックが保存されていない場合、命令信号補間部34による処理を中断させ、ワークの加工を停止するようになっている。
【0051】
つぎに、本第2実施形態の数値制御装置1Bによる作用について説明する。
【0052】
図7に示すように、本第2実施形態の数値制御装置1Bによって工作機械11を制御しワークの加工を行う場合、第1実施形態と同様、加工プログラム取得部31が外部記憶装置10から加工プログラムを取得し(ステップS1)、加工プログラム解析部32が加工プログラムを解析し(ステップS2)、解析されたブロックをブロックバッファ22へ順次格納する(ステップS3)。
【0053】
このとき、本第2実施形態では、加工プログラム解析部32が、ブロックバッファ22内に非切削ブロックを保存する度に、ブロックカウンタ23の値をインクリメントする。すなわち、加工プログラム解析部32は、n個の非切削ブロックをブロックバッファ22内に保存した場合、ブロックカウンタ23の値にnを加算する(ステップS5)。
【0054】
上述したステップS1〜ステップS3およびステップS5の各処理は、加工プログラムを構成する全ブロックが取得されるまで繰り返された後(ステップS4)、終了する。また、これらの処理と同時並行して、
図8に示す処理が実行される。
【0055】
具体的には、ブロック実行制御部35が、ブロックカウンタ23の値を監視し、ブロックカウンタ23の値が1以上とならない限り、すなわち、ブロックバッファ22内に一つ以上の非切削ブロックが保存されていない限り、命令信号補間部34による処理を開始させない(ステップS21:NO)。一方、ブロックカウンタ23の値が1以上の場合のみ(ステップS21:YES)、命令信号補間部34が処理を開始し、ブロックバッファ22から一つのブロックを取得するとともに(ステップS22)、当該ブロックを実行する(ステップS23)。
【0056】
当該ブロックを実行後、加工プログラムが終了であれば(ステップS24:YES)、本処理を終了する。一方、加工プログラムが終了でなければ(ステップS24:NO)、命令信号補間部34が、実行したブロックが非切削ブロックか否かを判別する(ステップS25)。その結果、非切削ブロックでなければ(ステップS25:NO)、処理はステップS32へと戻り、引き続き加工が続行される。
【0057】
一方、実行したブロックが非切削ブロックであれば(ステップS25:YES)、命令信号補間部34が、ブロックカウンタ23の値をデクリメントする(ステップS26)。その後、処理はステップS21へと戻り、上述した処理が繰り返される。これにより、実行中の非切削ブロック以後に、他の非切削ブロックがブロックバッファ22内に保存されていない場合には、当該非切削ブロックを実行した後にワークの加工が停止されるため(ステップS21:NO)、切削中の急停止によってワークに傷を付けてしまうおそれがない。
【0058】
なお、本第2実施形態においても、ワークの加工を停止させるタイミングが、非切削ブロックを実行した後に設定されているが、この構成に限定されるものではなく、非切削ブロックを実行する前であってもよい。
【0059】
以上のような本第2実施形態によれば、上述した第1実施形態の作用効果に加えて、以下のような効果を奏する。
1.ブロックバッファ22内に非切削ブロックが保存されている場合のみ加工を実行し、切削ブロックで加工が停止しないことを保証することができる。
2.切削ブロックが長期に渡って連続するような加工プログラムであっても、切削中の急停止が原因でワークに傷が付くのを防止することができる。
3.外部記憶装置10と数値制御装置1Bとの間の通信エラーの有無に関わらず、ブロックバッファ22内の非切削ブロックの有無によってのみ加工の停止タイミングが決められるため、一時的な通信障害が発生したとしても、通信状態が回復すれば加工も自動的に再開することができる。
【0060】
なお、本発明に係る数値制御装置1A,1Bは、前述した各実施形態に限定されるものではなく、適宜変更することができる。
【0061】
例えば、上述した第2実施形態では、ブロックバッファ22内に非切削ブロックが保存されていない状態では、加工が実行されないため、加工時間が長くなるおそれがある。そこで、数値制御装置1Bにおけるパラメータの設定により、第2実施形態に係る機能をオン/オフできるようにしてもよい。これにより、極めて高価なワークを加工する場合等のように、ワークの保全を優先したい場合には、当該機能をオンにする一方、加工時間の短縮を優先したい場合には、当該機能をオフにすることで、ユーザの希望に沿うことができる。