(57)【要約】【課題】加工時間を長引かせることなく、ブロック間停止をより確実に回避すること。【解決手段】工具の移動軌跡を規定する、連続した複数のブロックを含む数値制御プログラムを処理する処理装置であって、各々の前記ブロックを実行した場合の工具の移動量を演算する演算手段と、前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな１つのブロックに変換する変換手段と、を備えたことを特徴とする。【選択図】図２
2010198380.tif 000002
【特許請求の範囲】
【請求項１】
工具の移動軌跡を規定する、連続した複数のブロックを含む数値制御プログラムを処理する処理装置であって、
各々の前記ブロックを実行した場合の工具の移動量を演算する演算手段と、
前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな１つのブロックに変換する変換手段と、
を備えたことを特徴とする処理装置。
【請求項２】
前記変換手段の変換対象である前記複数のブロックが規定する工具の移動軌跡と、該移動軌跡を近似した移動軌跡との誤差が、予め定めた誤差規格に違反するか否かの誤差判定をする誤差判定手段を備えたことを特徴とする請求項１に記載の処理装置。
【請求項３】
前記演算手段は、前記移動量を各々の前記ブロックについて順次演算し、
前記変換手段は、前記演算手段が前記移動量を演算する度に、前記合計量が前記規定移動量以上となるまで、変換済みの前記新たな１つのブロックと前記演算手段が前記移動量を演算したブロックとを、前記新たな１つのブロックに変換し、
前記誤差判定手段は、前記変換手段が新たなブロックの変換を行う度に、前記誤差判定を行い、
前記誤差判定手段が違反すると判定した段階での前記変換手段の変換を無効とすることを特徴とする請求項２に記載の処理装置。
【請求項４】
工具の移動速度の変更指示に応じて前記規定移動量を変更する変更手段を備えたことを特徴とする請求項１に記載の処理装置。
【請求項５】
前処理部と、工作機械に対して制御命令を出力する数値制御部と、を備え、
前記前処理部は、
前記演算手段と、
前記数値制御部に前記ブロックを送信する送信手段と、を備え、
前記数値制御部は、
前記前処理部から前記ブロックを受信する受信手段と、
前記変換手段と、を備え、
前記送信手段は、
前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、前記数値制御部に一括送信し、
前記変換手段は、
前記受信手段が前記送信手段から一括送信された前記複数のブロックを受信した場合には、受信した前記複数のブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな１つのブロックに変換することを特徴とする請求項１又は４に記載の処理装置。
【請求項６】
前記演算手段、及び、前記数値制御部に前記ブロックを送信する送信手段を備えた前処理部と、
前記前処理部から前記ブロックを受信する受信手段を備え、工作機械に対して制御命令を出力する数値制御部と、
前記前処理部の負荷状況と前記数値制御部の負荷状況と基づいて、第１の処理パターン又は第２の処理パターンを選択する選択手段と、を備え、
前記変換手段が、前記前処理部が備えた第１の変換手段と、前記数値制御部が備えた第２の変換手段と、を備え、
前記選択手段が第１の処理パターンを選択した場合、
前記第１の変換手段は前記変換を行わず、
前記送信手段は、
前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、前記数値制御部に一括送信し、
前記第２の変換手段は、
前記受信手段が前記送信手段から一括送信された前記複数のブロックを受信した場合には、受信した前記複数のブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな１つのブロックに変換し、
前記選択手段が第２の処理パターンを選択した場合、
前記第１の変換手段は、前記変換を行い、
前記第２の変換手段は、前記変換を行わないことを特徴とする請求項１又は４に記載の処理装置。
【請求項７】
工具の移動軌跡を規定する、連続した複数のブロックを含む数値制御プログラムを処理する処理方法であって、
各々の前記ブロックを実行した場合の工具の移動量を演算する演算工程と、
前記演算工程で演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな１つのブロックに変換する変換工程と、
を備えたことを特徴とする処理方法。
【請求項８】
工具の移動軌跡を規定する、連続した複数のブロックを含む数値制御プログラムを処理するために、コンピュータを、
各々の前記ブロックを実行した場合の工具の移動量を演算する演算手段、
前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな１つのブロックに変換する変換手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の数値制御技術に関する。
【背景技術】
【０００２】
工作機械の動作制御には数値制御装置が用いられている。数値制御装置による制御では、ブロックと呼ばれる動作指令を順次記述した数値制御プログラムを作成する。そして、この数値制御プログラムを読み込んだ数値制御装置が、工作機械に所望の動作を行わせるように制御する。複雑多様な加工形状を行う場合、数百ミクロン以下の微小な直線補間の連続で加工形状を表現する場合もある。このような場合、工具の微小な移動量を規定する複数のブロックが連続する。そうすると、次ブロックの到来よりも先に前ブロックが規定する工作機械への制御指令が終了して、本来連続的に行われるべき加工動作が停止する、いわゆるブロック間停止が発生する場合がある。
【０００３】
ブロック間停止を回避するため、特許文献１には、微小な移動量を規定するブロックは、直前又は直後のブロックに繋ぎ込み、あらたなブロックとすることが開示されている。また、特許文献２には、連続する複数のブロックの平均ブロック長から工具の許容送り速度を演算し、各ブロックの工具の送り速度が許容送り速度よりも大きい場合には、送り速度を許容速度にクランプしてブロック間停止を回避することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−３０９０２５号公報
【特許文献２】特開２０００−２６７７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載のように、微小な移動量を規定するブロックを、直前又は直後のブロックに繋ぎ込んだとしても、新たなブロックが規定する移動量がやはり微小な場合があり、ブロック間停止が発生する場合がある。また、特許文献２に記載のように、工具の送り速度を減速すると加工時間が長くなるという問題がある。
【０００６】
本発明の目的は、加工時間を長引かせることなく、ブロック間停止をより確実に回避することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、加工時間を長引かせることなく、ブロック間停止をより確実に回避する処理装置、処理方法及びプログラムが提供される。例えば、本発明の処理装置は、工具の移動軌跡を規定する、連続した複数のブロックを含む数値制御プログラムを処理する処理装置であって、各々の前記ブロックを実行した場合の工具の移動量を演算する演算手段と、前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな１つのブロックに変換する変換手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、加工時間を長引かせることなく、ブロック間停止をより確実に回避することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る数値制御装置Ａを用いたシステムのブロック図である。
【図２】（ａ）は数値制御プログラムの説明図、（ｂ）はブロックの変換の説明図である。
【図３】処理部１１が実行する処理の例を示すフローチャートである。
【図４】（ａ）は、ブロックの変換に伴う工具の移動軌跡の誤差の説明図、（ｂ）は移動軌跡の誤差を考慮したブロックの変換の説明図である。
【図５】処理部１１が実行する処理の例を示すフローチャートである。
【図６】処理部１１が実行する処理の例を示すフローチャートである。
【図７】処理部２１が実行する処理の例を示すフローチャートである。
【図８】本発明の他の実施形態に係る数値制御装置Ｂを用いたシステムのブロック図である。
【図９】処理部４１が実行する処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
＜第１実施形態＞
図１は、本発明の一実施形態に係る数値制御装置Ａを用いたシステムのブロック図である。数値制御装置ＡはＣＡＤ／ＣＡＭ装置１から送信される数値制御プログラムを受信し、受信した数値制御プログラムに基づいて工作機械２へ制御命令を出力する。ＣＡＤ／ＣＡＭ装置１は、例えば、ＣＡＤ／ＣＡＭソフトウエアを実行するコンピュータであり、数値制御プログラムを生成する。工作機械２はフライス盤や旋盤等である。
【００１１】
数値制御装置Ａは、前処理部１０、数値制御部２０、入力装置３１、表示装置３２、及び、駆動回路３３を備える。前処理部１０及び数値制御部２０は、それぞれ、処理部１１、２１、記憶部１２、２２、及び、インタフェース部１３、２３を備える。数値制御部２０は、更に、バッファ部２４を備える。
【００１２】
処理部１１、２１は、記憶部１２、２２に記憶されたプログラムを実行するＣＰＵ等である。記憶部１２、２４は、ＲＡＭ、ＲＯＭ、ＨＤＤ等の記憶デバイスであり、処理部１１、２１が実行するプログラムやデータを記憶する。インタフェース部１３、２３は、処理部１１、２１と他のデバイスとの間に介在し、これらの間でデータの受け渡しを中継する。バッファ部２４は、前処理部１０から送信されるブロックを順次蓄積する記憶デバイスである。バッファ部２４は記憶部２２の一部の記憶領域を利用して構成してもよい。
【００１３】
入力装置３１は、数値制御装置Ａを利用する作業者による、数値制御装置Ａに対する指示を受け付ける装置であり、例えば、キーボード、マウス等である。表示装置３２は、作業者に対して情報を表示する装置であり、ＬＣＤ等である。入力装置３１及び表示装置３２は、前処理部１０に接続されており、前処理部１０は入力装置３１及び表示装置３２による作業者に対するユーザインターフェース処理を行う。駆動回路３３は、数値制御部２０からの制御命令に基づいて、工作機械２に設けられたモータ等のアクチュエータに電力の供給等を行う。
【００１４】
次に、数値制御プログラムの例について説明する。数値制御プログラムは、複数のブロックからなり、これらのブロックは実行順に並んでいる。数値制御プログラムには、加工対象物を連続的に加工するために、工作機械２の工具の移動軌跡を規定する、連続した複数のブロックが含まれ得る。図２（ａ）は、数値制御プログラムの説明図であり、工具の移動軌跡を規定する、連続した複数のブロック（Ｎ）乃至（Ｎ＋４）の例を示す。これらのブロックは、不図示の工具に加工対象物に対して切削等の加工をさせながら、該工具を位置Ｐ１から位置Ｐ６まで移動させる例を示している。ブロック（Ｎ）は位置Ｐ１から位置Ｐ２まで工具を直線的に移動させることを規定し、ブロック（Ｎ＋１）は位置Ｐ２から位置Ｐ３まで工具を直線的に移動させることを規定する。以下、ブロック（Ｎ＋２）乃至（Ｎ＋４）も同様である。
【００１５】
ここで、本実施形態では、前処理部１０から送信されるブロックを数値制御部２０は順次バッファ部２４に蓄積し、数値制御部２０はバッファ部２４に蓄積された古いブロックから順に、工作機械２への制御命令の生成等の処理を行う。このような構成の場合、例えば、ブロック（Ｎ＋１）乃至（Ｎ＋４）のように、工具の移動量が短いブロックが連続すると、数値制御部２０による各ブロックの処理が早期に終了して、バッファ部２４にブロックのストックが無くなり、ブロック間停止が生じ得る。
【００１６】
そこで、本実施形態では、１つのブロックの処理に数値制御部２０がある程度の時間を必要とするように、連続する複数のブロックを１つの新たなブロックに変換する。元のブロックを繋ぎ込むことで、加工時間を長引かせることなく、ブロック間停止をより確実に回避することができる。新たなブロックが規定する軌跡は、元の複数のブロックが規定する移動軌跡を近似したものである。図２（ｂ）はブロックの変換の説明図であり、図２（ａ）の例を元のブロックとしたものである。同図の例では、元のブロック（Ｎ＋１）乃至（Ｎ＋４）が新たな１つのブロックに変換されている。新たなブロックが規定する移動軌跡は、本実施形態の場合、始点を元のブロック（Ｎ＋１）の始点である位置Ｐ２に、終点を元のブロック（Ｎ＋４）の終点である位置Ｐ６に、それぞれ設定したもので、元の移動軌跡の始点と終点を直線補間したものとなっている。
【００１７】
変換対象とする元のブロックの数は、それらが規定する工具の移動量の合計量が規定移動量を超える範囲で定める。移動量の合計量と規定移動量とを基準とすることで、変換後のブロックが規定する移動量が、なお微小であり、短時間で処理が終わってしまうことを防止することができる。規定移動量は、ブロック間停止を生じないように設定し、例えば、工具の移動速度と、前処理部１０から数値制御部２０へのブロックの送受信時間とから、規定移動量＝移動速度×ブロック送受信時間、とすることができる。
【００１８】
例えば、設定された移動速度が５００ｋpulse/sec、ブロックの送受信時間が０．００３secの時、規定移動量は、１５００pulseと計算される。ブロックの送受信時間は装置固有のものであり、あらかじめ入力される。工具の移動速度は、基本的には数値制御プログラム上で規定されているが、実際の加工の際に作業者から変更指示を受ける場合がある。例えば、入力装置３１を介して、数値制御装置Ａに対して、Ｘ％増速或いは減速とする変更指示がなされる場合がある。このような場合は、数値制御装置Ａは、作業者の指示に従って、移動速度を変更して工作機械２を制御することになるが、この場合、規定移動量も変更する。規定移動量の変更は、例えば、前処理部１０の処理部１１が、作業者から移動速度の変更指示があった場合に行えばよい。こうすることで、移動速度の変更指示に動的に対応できる。
【００１９】
図３は、処理部１１が実行する処理の例を示すフローチャートであり、前処理部１０により、必要に応じて複数ブロックを１つの新たなブロックに変換して数値制御部２０に送信するための処理例を示している。この処理は、図２（ａ）に示したように工具の移動軌跡を規定するブロックが複数連続している場合に実行される。なお、数値制御プログラムは、加工対象物の加工実行時に、ＣＡＤ／ＣＡＭ装置１から各ブロックが順次前処理部１０へ送信されてもよいし、ＣＡＤ／ＣＡＭ装置１から予め数値制御プログラムが全て前処理部１０へ送信され、前処理部１０に記憶しておいて、加工対象物の加工実行時に読み出して処理するようにしてもよい。
【００２０】
図３において、Ｓ１では設定の初期化を行う。ここでは、少なくとも変数Ｉ及びＬを０にセットする。変数Ｉはブロックの繋ぎ込みの回数を示し、変数Ｌは各ブロック毎に演算した移動量の合計値を示す。Ｓ２ではブロックを読み込む。ブロックは数値制御プログラム上の順番で１つずつ読み込む。
【００２１】
Ｓ３では、処理の都合上、Ｓ２で読み込んだブロックを識別すべく、該ブロックを変数Ｉが示す順序のブロックに設定する。例えば、Ｉ＝０のときは０番目のブロック、Ｉ＝２のときは２番目のブロックとなる。Ｓ４ではＳ２で読み込んだブロックが規定する工具の移動軌跡の移動量を演算する。例えば、図２（ａ）のブロック（Ｎ）の場合、これが規定する工具の移動軌跡の移動量は、位置Ｐ１と位置Ｐ２との距離である。Ｓ４ではＳ４で演算した移動量を、現在の変数Ｌに加算し、加算後の値に変数Ｌを更新する（Ｌ＝Ｌ＋１）。
【００２２】
Ｓ６では、変数Ｉが０か否かを判定する。変数Ｉが０の場合（一つ目のブロックを処理している段階）はＳ７へ進み、０以外の場合はＳ８へ進む。Ｓ７では、変換後の新たなブロックの設定を仮に行う。ここでは、移動軌跡の始点、終点を０番目のブロックの始点、終点に設定する。つまり、Ｓ７では元のブロックの内容そのものを新たなブロックとして設定しているだけである。Ｓ８でも、変換後の新たなブロックの設定を仮に行う。ここでは、移動軌跡の始点、終点を０番目のブロックの始点、Ｉ番目のブロックの終点に設定する。つまり、Ｓ８ではブロックの繋ぎ込みを行っている。
【００２３】
Ｓ９では、変数Ｌが規定移動量未満か否かを判定する。該当する場合は、ブロックの繋ぎ込みを行うべくＳ１０へ進み、該当しない場合はＳ１１へ進む。Ｓ１０では変数Ｉを１つ加算してＳ２へ戻る。Ｓ１１では、その際に設定されている内容にて新たなブロックを数値制御部２０へ送信する。以上により一単位の処理が終了する。
【００２４】
このように本実施形態では、Ｓ９の処理でブロックの移動量の合計量が規定移動量に達したと判定されるまで、Ｓ２の処理でブロックが順次読み込まれ、Ｓ３で読み込まれたブロックの移動量が順次演算される。また、Ｓ４で移動量の演算がなされるたびに、前回Ｓ８で変換された変換済みの新たな１つのブロックと、今回のブロックとが繋ぎ込まれて新たな１つのブロックに変換され、最終的に複数の一連のブロックが新たな１つのブロックに変換されることになる。変換しなくても工具の移動量が規定移動量を超えているブロックについては、Ｓ７、Ｓ９、Ｓ１１の処理を経由して数値制御部２０へ実質的にそのまま送信されることになる。
【００２５】
＜第２実施形態＞
上記第１実施形態では、ブロックの移動量の合計量が規定移動量に達するまで、ブロックを新たなブロックに変換しているが、移動軌跡を近似しているため、元のブロックが規定する移動軌跡と新たなブロックが規定する移動軌跡との間に、誤差が生じる。図４（ａ）は、ブロックの変換に伴う工具の移動軌跡の誤差の説明図である。実線が元ブロックが規定する移動軌跡を示し、位置Ｐ１１乃至位置Ｐ１７までを結ぶ６つの直線からなる。破線は、変換後の新たなブロックが規定する移動軌跡を示し位置Ｐ１１と位置１７とを結ぶ１つの直線である。最大で距離Ｄの誤差が生じている。誤差が大きくなると、必要とされた加工精度が得られない。
【００２６】
そこで、本実施形態では、元の移動軌跡と、これを近似した変換後の移動軌跡との誤差が、予め定めた誤差規格に違反する場合は変換を打ち切るようにする。図４（ｂ）は移動軌跡の誤差を考慮したブロックの変換の説明図であり、図４（ａ）と同じ元の移動軌跡を想定している。図４（ｂ）の例では、変換後の新たなブロックが２つになっており、一方は位置Ｐ１１と位置Ｐ１４とを結ぶ直線を規定し、他方は位置Ｐ１４と位置Ｐ１７とを結ぶ直線を規定している。このようにすることで誤差を低減できる。誤差規格は、加工対象物に要求される加工精度等にしたがって適宜設定することができる。
【００２７】
図５は、処理部１１が実行する処理の例を示すフローチャートであり、図３に代わる処理例を示す。図５において、図３と同じ処理について同じ符号を付して説明を割愛し、異なる処理について以下に説明する。本実施形態の場合、Ｓ８の処理の後、Ｓ２１で元のブロックが規定する移動経路と、Ｓ８で設定した新たなブロックが規定する移動経路との誤差（最大値）を演算する。Ｓ２２では、Ｓ２１で演算した誤差が誤差規格未満か否かを判定する。該当する場合はＳ９へ進み、該当しない場合はＳ２３へ進む。Ｓ２３では、誤差規格に違反しているとして、今回Ｓ８で設定した内容を無効にし、前回Ｓ８で設定した内容の新たなブロックを数値制御部２０へ送信する。
【００２８】
例えば、今回、変数Ｉ＝３で３回目の処理中であった場合、２回目のＳ８で設定した内容の新たなブロックを数値制御部２０へ送信する。こうすることで、誤差規格に違反する変換が行われることを防止し、誤差規格を優先した処理を実現できる。なお、Ｓ２３で数値制御部２０に送信される新たなブロックについては、その元のブロックの移動量の合計量は規定移動量に達していないことになるが、そのような新たなブロックがバッファ部２４に点在している限りにおいては、ブロック間停止の発生の可能性は低いと考えられる。
【００２９】
＜第３実施形態＞
上記第１実施形態では、ブロックの変換を前処理部１０で行ったが、前処理部１０は変換の対象とする元のブロックの指定を行い、新たなブロックの変換は数値制御部２０で行うようにしてもよい。前処理部１０の負荷が高い場合に、前処理部１０の負荷軽減を図れる。図６は、本実施形態において処理部１１が実行する処理の例を示すフローチャートである。Ｓ３１乃至Ｓ３５の処理は、図３のＳ１乃至Ｓ５の処理と同じである。
【００３０】
Ｓ３６では変数Ｌが規定移動量未満か否かを判定する。該当する場合は、Ｓ３７へ進み、該当しない場合はＳ３８へ進む。Ｓ３７では変数Ｉを１つ加算してＳ３２へ戻る。Ｓ３８では、変数Ｉが０か否かを判定する。変数Ｉが０の場合（一つ目のブロックを処理している段階）はＳ３９へ進み、０以外の場合はＳ４０へ進む。Ｓ３９では０番目のブロックを数値制御部２０へ送信する。つまり、Ｓ３２で最初に読み込まれたブロックがそのまま数値制御部２０へ送信される。
【００３１】
Ｓ４０では、０番目からＩ番目までのブロックを一括して数値制御部２０へ送信する。つまり、これらのブロック群は、個々のブロックが規定する工具の移動量が規定移動量に足りないブロック群である。Ｓ４０で複数のブロックを一括して送信する場合、通常の個々のブロックの送信と区別するための識別子を付加する。例えば、各ブロックの末尾に一括送信対象のものであることを示す識別子を挿入する。
【００３２】
図７は、本実施形態における数値制御部２０の処理部２１の処理例を示すフローチャートであり、前処理部１０から一括送信されたブロック群を受信した場合に、１つの新たなブロックに変換する処理を示す。Ｓ５１では設定の初期化を行う。ここでは、少なくとも変数Ｉを０にセットする。変数Ｉの意味は、上記第１実施形態と同様でありブロックの繋ぎ込みの回数を示す。Ｓ５２では受信したブロックを１つ読み込む。Ｓ５３では、変換後の新たなブロックの設定を仮に行う。ここでは、移動軌跡の始点、終点を０番目のブロックの始点、Ｉ番目のブロックの終点に設定する。つまり、Ｓ８と同様の処理である。Ｓ５４では、前処理部１０から一括送信されたブロック群の全てについて処理したか否かを判定し、全て処理した場合は一単位の処理を終了し、そうでない場合はＳ５２へ戻って同様の処理を繰り返す。
【００３３】
こうすることで、変換対象の選定は前処理部１０で、変換は数値制御部２０で行え、数値制御部２０の処理能力が高い場合等に前処理部１０の処理負担を軽減できる。なお、本実施形態を上記第２実施形態と組み合わせることも可能であり、その場合、誤差に関する処理（Ｓ２１、Ｓ２２、Ｓ２３（１つ前の設定を採用する点））は、数値制御部２０で行いことができる。
【００３４】
＜第４実施形態＞
図６及び図７に示した上記第３実施形態の処理（以下、第１パターンの処理という。）と、図３に示した上記第１実施形態の処理（以下、第２パターンの処理という。）と、を前処理部１０の負荷状況と、数値制御部２０の負荷状況とに応じて選択して切り替えることもできる。図８は本発明の他の実施形態に係る数値制御装置Ｂを用いたシステムのブロック図である。図８において、図１に示した数値制御装置Ａと同じ構成について同じ符号を付して説明を割愛し、異なる構成について以下に説明する。
【００３５】
数値制御装置Ｂは、負荷監視・パターン選択部４０を備える。負荷監視・パターン選択部４０は、ＣＰＵ等の処理部４１、ＲＡＭ、ＲＯＭ、ＨＤＤ等の記憶デバイスである記憶部４２、及び、他のデバイスと処理部４１の間に介在し、これらの間でデータの受け渡しを中継するインタフェース部４３を備える。
【００３６】
図９は処理部４１が実行する処理例を示すフローチャートである。処理部４１は同図の処理を定期的に実行する。Ｓ６１では、前処理部１０及び数値制御部２０の負荷状況を示す情報を取得する。負荷状況を示す情報としては、例えば、ＣＰＵが出力するＣＰＵ使用率等が挙げられ、処理部１１及び２１からそれぞれ取得することができる。
【００３７】
Ｓ６２では、Ｓ６１で取得した情報に基づいて、前処理部１０の処理部１１の負荷が数値制御部２０の処理部２１の負荷を超えるか否かを判定する。該当する場合はＳ６３へ進み、該当しない場合はＳ６４へ進む。Ｓ６３では第１パターンの処理を選択し、前処理部１０の処理部１１に対して、第１パターンの処理の実行を指示する。Ｓ６３では第２パターンの処理を選択し、前処理部１０の処理部１１に対して、第２パターンの処理の実行を指示する。以上により一単位の処理が終了する。
【００３８】
このようにすることで、前処理部１０の負荷が高い場合は上記第３実施形態の処理となり、低い場合は上記第１実施形態の処理となるので、前処理部１０と数値制御部２０の一方に負荷が集中する事態を解消できる。
【００３９】
なお、パターンの選択結果は、前処理部１０のみに指示したが、数値制御部２０にも指示してもよい。尤も、数値制御部２０は、ブロックの一括送信か否かを認識して、ブロックの変換ができればよいので、上記第３実施形態の処理を実行する機能を具備していれば、パターンの選択結果を認識する必要はない。
【００４０】
また、本実施形態では、Ｓ６２では、前処理部１０の処理部１１の負荷と、数値制御部２０の処理部２１の負荷と、を直接比較したが、処理部１１が有する処理能力と処理部２１が有する処理能力とに大きな差がある場合は、前処理部１０の処理部１１の負荷と、数値制御部２０の処理部２１の負荷と、の差分が規定値未満か否かでパターンを選択するようにしてもよい。
【図１】
2010198380.tif 000003
【図２】
2010198380.tif 000004
【図３】
2010198380.tif 000005
【図４】
2010198380.tif 000006
【図５】
2010198380.tif 000007
【図６】
2010198380.tif 000008
【図７】
2010198380.tif 000009
【図８】
2010198380.tif 000010
【図９】
2010198380.tif 000011