(57)【特許請求の範囲】
【請求項１】
工作機械が有する実際の送り軸について加工プログラムを解析することによって得られた前記実際の送り軸の送り速度と前記実際の送り軸の移動の向きとをもとに算出された前記実際の送り軸が移動する向きを示す情報を含む前記実際の送り軸の単位時間当たりの移動量を示す情報を含む複数のファイルを記憶する第１記憶部と、
前記第１記憶部に記憶されている前記複数のファイルの各々に含まれている情報が示す前記実際の送り軸が移動する向きをもとに前記実際の送り軸の移動の向きの反転を検出すると共に、前記複数のファイルの各々に含まれている情報が示す前記実際の送り軸の単位時間当たりの移動量をもとに前記実際の送り軸の移動の向きが反転した後の前記実際の送り軸の移動量を算出する算出部と、
前記算出部によって算出された前記移動量をもとにロストモーション補正を実行させるか否かを判断する判断部と、
前記判断部によって前記ロストモーション補正を実行させないと判断された場合に前記ロストモーション補正を実行させない制御部と
を備えることを特徴とする数値制御装置。
【請求項２】
前記判断部は、前記算出部によって算出された前記移動量があらかじめ設定されたしきい値より小さい場合に前記ロストモーション補正を実行させないと判断する
ことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を制御する数値制御装置に関する。
【背景技術】
【０００２】
被加工物であるワークの加工面の精度を向上させるために、ロストモーション補正機能がある。ロストモーションは、工作機械が有する送り軸の移動の向きが反転する際に生じる応答の遅れである。応答の遅れは、例えば、工具とワークとの摩擦によって生じる。ロストモーション補正機能は、送り軸の移動の向きが反転する際、あらかじめ算出されたロストモーション補正量を反転後の送り軸の移動の向きに与えることによって、ロストモーションに起因して生じる削り残し又は削り過ぎを減少させる機能である。【０００３】
ワークに対して複雑な形状の加工を行うためにコンピュータ支援製造装置によって加工プログラムが生成される場合、加工プログラムのなかに例えば１μｍの微小な反転動作を行わせる記述が存在することがある。従来の数値制御装置は、送り軸のすべての反転動作についてロストモーション補正を実行させる。このため、従来の数値制御装置を用いると、微小な反転動作が行われる場合、ロストモーション補正量が加工プログラムで指定された移動量より大きくなることにより削り残し又は削り過ぎが比較的大きくなってワークの加工面の精度が低下するという問題が生じる。【０００４】
上述の問題に対し、加工プログラムを先読みして加工プログラムをもとにロストモーション補正を実行する必要がない反転箇所を特定し、特定した反転箇所ではロストモーション補正を実行させないという技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６１４７４５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、加工プログラムで指定された軸である加工プログラムの指令軸と実際の送り軸とが異なる場合、ロストモーション補正を適切に制御することができない。加工プログラムの指令軸と実際の送り軸とが異なる場合は、例えば加工プログラムが座標の回転を含む場合である。【０００７】
本発明は、上記に鑑みてなされたものであって、加工プログラムの指令軸と実際の送り軸とが異なる場合にロストモーション補正を適切に制御する数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、工作機械が有する実際の送り軸について加工プログラムを解析することによって得られた前記実際の送り軸の送り速度と前記実際の送り軸の移動の向きとをもとに算出された前記実際の送り軸が移動する向きを示す情報を含む前記実際の送り軸の単位時間当たりの移動量を示す情報を含む複数のファイルを記憶する第１記憶部と、前記第１記憶部に記憶されている前記複数のファイルの各々に含まれている情報が示す前記実際の送り軸が移動する向きをもとに前記実際の送り軸の移動の向きの反転を検出すると共に、前記複数のファイルの各々に含まれている情報が示す前記実際の送り軸の単位時間当たりの移動量をもとに前記実際の送り軸の移動の向きが反転した後の前記実際の送り軸の移動量を算出する算出部と、前記算出部によって算出された前記移動量をもとにロストモーション補正を実行させるか否かを判断する判断部と、前記判断部によって前記ロストモーション補正を実行させないと判断された場合に前記ロストモーション補正を実行させない制御部とを有することを特徴とする。
【発明の効果】
【０００９】
本発明にかかる数値制御装置は、加工プログラムの指令軸と実際の送り軸とが異なる場合にロストモーション補正を適切に制御することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる数値制御装置の構成を示す図
【図２】ロストモーションとロストモーション補正とを説明するための図
【図３】ロストモーション補正の問題を説明するための図
【図４】実施の形態にかかる数値制御装置が有する算出部の動作の手順を示すフローチャート
【図５】実施の形態にかかる数値制御装置が有する判断部の動作の手順を示すフローチャート
【図６】実施の形態にかかる数値制御装置の制御対象となる工作機械が有する実際の送り軸の位置が時間の経過と共に変化する一例を示す図
【図７】実施の形態にかかる数値制御装置の制御対象となる工作機械が有する実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量がしきい値より小さい場合を示す図
【図８】実施の形態にかかる数値制御装置が有する制御部の動作の手順を示すフローチャート
【図９】実施の形態にかかる数値制御装置が有する補間部、算出部、判断部、制御部及びドライブユニットの少なくとも一部の機能がプロセッサによって実現される場合のプロセッサを示す図
【図１０】実施の形態にかかる数値制御装置が有する補間部、算出部、判断部、制御部及びドライブユニットを構成する少なくとも一部の構成要素が処理回路によって実現される場合の処理回路を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
図１は、実施の形態にかかる数値制御装置１の構成を示す図である。数値制御装置１は、工作機械１０を制御する装置である。図１には、工作機械１０も示されている。工作機械１０は、特定の構成要素を特定の方向に移動させる送り軸を有する。特定の構成要素の一例は工作機械１０が有するテーブルであり、テーブルにはワークが載せられる。図１には、送り軸、テーブル及びワークは示されていない。数値制御装置１は、送り軸の移動の向きが反転する際のロストモーション補正を制御する機能を有する。
【００１３】
数値制御装置１は、工作機械１０が有する実際の送り軸の送り速度２１と実際の送り軸の移動の向き２２とをもとに、実際の送り軸の単位時間当たりの移動量を算出する補間部２を有する。実際の送り軸は、加工プログラムの指令軸ではなく文字通り実際の送り軸である。送り速度２１及び移動の向き２２の各々は、加工プログラムをもとに得られるものである。更に言うと、送り速度２１及び移動の向き２２の各々は、加工プログラムを解析することによって得られるものである。
【００１４】
実際の送り軸の単位時間当たりの移動量は、実際の送り軸の特定の部位の単位時間当たりの移動量である。本願では、実際の送り軸の特定の部位の単位時間当たりの移動量は、実際の送り軸の単位時間当たりの移動量と定義される。特定の部位の一例は、送り軸の重心である。特定の部位は、送り軸のひとつの端部であってもよい。単位時間当たりの移動量は、実際の送り軸が移動する向きを示す情報を含む。つまり、単位時間当たりの移動量は、実際の送り軸の上記の特定の部位が移動する向きを示す情報を含む。実際の送り軸が移動する向きは、正と負とのいずれかを示す符号によって示される。すなわち、補間部２は、実際の送り軸の符号付きの単位時間当たりの移動量を算出する。
【００１５】
数値制御装置１は、補間部２によって算出された単位時間当たりの移動量を示す情報を記憶する第１記憶部３を更に有する。具体的には、第１記憶部３は、単位時間当たりの移動量を示す情報を含む複数のファイル２３を記憶する。第１記憶部３の一例は、フラッシュメモリである。
【００１６】
数値制御装置１は、第１記憶部３に記憶されている複数のファイル２３の各々に含まれる単位時間当たりの移動量を示す情報をもとに、実際の送り軸の移動の向きの反転を検出すると共に、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を算出する算出部４を更に有する。単位時間当たりの移動量が、実際の送り軸が移動する向きを示す情報を含むので、算出部４は、実際の送り軸が移動する向きを示す情報をもとに、実際の送り軸の移動の向きの反転を検出することができる。算出部４は、複数のファイル２３の各々に含まれる単位時間当たりの移動量を示す情報をもとに、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を算出することができる。
【００１７】
算出部４は、複数のファイル２３の各々が有する単位時間当たりの移動量を示す情報をもとに、実際の送り軸の移動の向きが反転する位置を特定する機能も有する。図１では、実際の送り軸の移動の向きが反転する位置は「軸移動反転位置２４」と記載されており、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量は「軸移動反転後移動量２５」と記載されている。算出部４は、情報を記憶する機能も有する。
【００１８】
数値制御装置１は、算出部４によって算出された移動量をもとにロストモーション補正を実行させるか否かを判断する判断部５を更に有する。算出部４によって算出された移動量は、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量である。数値制御装置１は、ロストモーション補正を実行させるか否かを判断するためのしきい値２６を示す情報を記憶する第２記憶部６を更に有する。第２記憶部６の一例は、フラッシュメモリである。しきい値２６は、あらかじめ設定された値である。
【００１９】
ワークの材質又は工作機械１０の周囲の環境に依存して、実際の送り軸の実際の動作と加工プログラムにおいて決められた動作との間に差が生じてロストモーション補正を実行させるか否かが誤って判断されることがある。ロストモーション補正を実行させるか否かが誤って判断されることを抑制するために、しきい値２６はユーザによって設定される。ユーザがワークの材質又は工作機械１０の周囲の環境を考慮してしきい値２６を設定することにより、判断部５はロストモーション補正を実行させるか否かを適切に判断することができる。ただし、しきい値２６は固定値であってもよい。
【００２０】
判断部５による具体的な判断は、以下の通りに行われる。判断部５は、算出部４によって算出された移動量がしきい値２６より小さいか否かを判断し、算出された移動量がしきい値２６より小さいと判断した場合、ロストモーション補正を実行させないと判断する。判断部５は、算出部４によって算出された移動量がしきい値２６以上であると判断した場合、ロストモーション補正を実行させると判断する。
【００２１】
数値制御装置１は、情報を記憶する第３記憶部７を更に有する。第３記憶部７の一例は、フラッシュメモリである。判断部５は、第１記憶部３から複数のファイル２３を読込んで第３記憶部７に書込む。第３記憶部７は、判断部５によって書込まれた複数のファイル２７を記憶する。複数のファイル２７は第１記憶部３が記憶する複数のファイル２３に対応していて、複数のファイル２７の個数は複数のファイル２３の個数と同じである。
【００２２】
複数のファイル２７の各々は、単位時間当たりの移動量の情報と、ロストモーション補正制御信号とを含む。ロストモーション補正制御信号は、ロストモーション補正を実行させるか否かを示す信号である。判断部５は、ロストモーション補正を実行させないと判断した場合、ロストモーション補正を実行させないことを示すロストモーション補正制御信号をファイル２７に書込み、ロストモーション補正を実行させると判断した場合、ロストモーション補正を実行させることを示すロストモーション補正制御信号をファイル２７に書込む。例えば、判断部５は、ロストモーション補正を実行させないと判断した場合、ロストモーション補正制御信号をオフの状態にし、ロストモーション補正を実行すると判断した場合、ロストモーション補正制御信号をオンの状態にする。
【００２３】
数値制御装置１は、ロストモーション補正を制御する制御部８を更に有する。具体的には、制御部８は、判断部５によってロストモーション補正を実行させないと判断された場合、ロストモーション補正を実行させない。制御部８は、判断部５によってロストモーション補正を実行させると判断された場合、ロストモーション補正を実行させる。数値制御装置１は、制御部８による制御にしたがって実際の送り軸を移動させるモータを駆動するドライブユニット９を更に有する。モータは、工作機械１０に含まれている。
【００２４】
具体的には、判断部５は、算出部４によって算出された移動量をもとにドライブユニット９にロストモーション補正を実行させるか否かを判断する。判断部５は、算出部４によって算出された移動量がしきい値２６より小さいと判断した場合、ドライブユニット９にロストモーション補正を実行させないと判断し、算出部４によって算出された移動量がしきい値２６以上であると判断した場合、ドライブユニット９にロストモーション補正を実行させると判断する。制御部８は、判断部５によってロストモーション補正を実行させないと判断された場合、ドライブユニット９にロストモーション補正を実行させず、判断部５によってロストモーション補正を実行させると判断された場合、ドライブユニット９にロストモーション補正を実行させる。
【００２５】
より具体的には、制御部８は、第３記憶部７から複数のファイル２７を順に読込み、複数のファイル２７の各々が有する単位時間当たりの移動量を示す情報２８とロストモーション補正制御信号２９とをドライブユニット９に順に送信する。ドライブユニット９は、制御部８から単位時間当たりの移動量を示す情報２８とロストモーション補正制御信号２９とを受信し、受信した単位時間当たりの移動量を示す情報２８とロストモーション補正制御信号２９とをもとに、工作機械１０が有するモータを駆動する。
【００２６】
ドライブユニット９が受信したロストモーション補正制御信号２９がロストモーション補正を実行させないことを示す信号である場合、ドライブユニット９は、実際の送り軸の移動の向きが反転しても、ロストモーション補正を実行せず、単位時間当たりの移動量を示す情報２８が示す移動量だけ実際の送り軸を移動させる。ドライブユニット９が受信したロストモーション補正制御信号２９がロストモーション補正を実行させることを示す信号である場合、ドライブユニット９は、ロストモーション補正を実行すると共に、単位時間当たりの移動量を示す情報２８をもとに実際の送り軸を移動させる。
【００２７】
図２は、ロストモーションとロストモーション補正とを説明するための図である。ロストモーションは、工作機械が有する実際の送り軸の移動の向きが反転する際に生じる応答の遅れである。応答の遅れは、例えば、工具とワークとの摩擦によって生じる。図２の実線は、加工プログラムが示す送り軸の位置が時間の経過と共に変化する様子の一例を示している。図２の実線が示す送り軸の位置は、指令位置と定義される。図２の破線は、ドライブユニット９がドライブユニット９の内部の制御方式に則って逐次的に生成する理想的な送り軸の位置が時間の経過と共に変化する様子の一例を示している。図２の破線が示す理想的な送り軸の位置は、モデル位置と定義され、図２では「ドライブユニットのモデル位置」と記載されている。
【００２８】
図２に示す通り、モデル位置には、指令位置に対し、ドライブユニット９の内部に設定されたゲインに応じた応答の遅れが生じる。一般的に、ロストモーション補正は、図２の白抜きの矢印が示すモデル位置で実行される。つまり、一般的に、ロストモーション補正は、モデル位置の移動の向きが反転するときに実行される。
【００２９】
図３は、ロストモーション補正の問題を説明するための図である。図３は、時間の経過と共に変化する実際の送り軸の移動経路３０と、移動経路３０が第１の反転位置３１と第２の反転位置３２とを含むことを示している。実際の送り軸の移動経路３０は、時間の経過と共に変化する実際の送り軸の位置の軌跡である。第１の反転位置３１と第２の反転位置３２の各々は、実際の送り軸の移動の向きが反転する位置である。実際の送り軸が移動する向きは第１の反転位置３１において反転した後に第２の反転位置３２において反転する。
【００３０】
加えて、図３は、実際の送り軸が移動する向きが反転した後の実際の送り軸の移動量である軸移動反転後移動量２５があらかじめ設定されたロストモーション補正量３３より小さいことを示している。軸移動反転後移動量２５は、第１の反転位置３１から第２の反転位置３２までの実際の送り軸の移動量である。図３の白抜きの矢印は、一般的にロストモーション補正が実行される位置を示している。図３の三角の印は、向きが反転したときの実際の送り軸の位置を示している。
【００３１】
図３に示すように、軸移動反転後移動量２５がロストモーション補正量３３より小さい場合、ワークを加工する際、ロストモーション補正を実行すると不必要な補正が実行されることになり、ワークの加工面の精度は低下する。例えば、軸移動反転後移動量２５がロストモーション補正量３３より小さい場合、ロストモーション補正を実行すると不必要にワークが削られることになり、ワークの加工面の精度は低下する。
【００３２】
しかしながら、実施の形態では、実際の送り軸の移動の向きが反転しても、算出部４によって算出された移動量がしきい値２６より小さい場合、ロストモーション補正は実行されない。つまり、実施の形態では、ワークの加工面の精度が低下することは抑制される。
【００３３】
図４は、実施の形態にかかる数値制御装置１が有する算出部４の動作の手順を示すフローチャートである。つまり、図４のフローチャートは、算出部４が実際の送り軸の移動の向きの反転を検出すると共に実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を算出する動作の手順を示す。図４のフローチャートをもとに、算出部４の動作を説明する。
【００３４】
算出部４は、実際の送り軸の反転回数を「０」に設定する（Ｓ１）。つまり、算出部４は、実際の送り軸の反転回数が「０」であることを示す情報を記憶する（Ｓ１）。算出部４は、第１記憶部３から、単位時間当たりの移動量を示す情報を有するファイル２３を読込む（Ｓ２）。つまり、算出部４は、第１記憶部３から、単位時間当たりの移動量を示す情報を読込む（Ｓ２）。
【００３５】
上述の通り、単位時間当たりの移動量には、実際の送り軸が移動する向きを示す情報である符号が付けられている。算出部４は、ステップＳ２において読込んだ情報が示す単位時間当たりの移動量に付けられている符号をもとに、ステップＳ２において読込んだファイル２３に含まれる情報が示す単位時間当たりの移動量に対応する時刻に実際の送り軸が移動する向きが反転するか否かを判断する（Ｓ３）。
【００３６】
算出部４は、実際の送り軸が移動する向きが反転すると判断した場合（Ｓ３でＹｅｓ）、つまり実際の送り軸の移動の向きの反転を検出した場合（Ｓ３でＹｅｓ）、実際の送り軸の反転回数をひとつ増加する（Ｓ４）。図４のフローチャートのステップＳ４では、実際の送り軸の反転回数をひとつ増加することは「反転回数をカウントアップ」と記載されている。算出部４は、ひとつ増加した実際の送り軸の反転回数を記憶する。算出部４は、実際の送り軸の反転回数が「１」であるか否かを判断する（Ｓ５）。算出部４は、実際の送り軸の反転回数が「１」であると判断した場合（Ｓ５でＹｅｓ）、実際の送り軸の移動の向きが反転する位置を特定して記憶する（Ｓ６）。算出部４は、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量の累積を開始する（Ｓ７）。
【００３７】
算出部４は、ステップＳ７の動作を行った後、第１記憶部３から、単位時間当たりの移動量を示す情報を含む次の順番のファイル２３を読込み（Ｓ２）、つまり、次の順番の単位時間当たりの移動量を示す情報を読込み（Ｓ２）、ステップＳ３の動作を行う。算出部４は、実際の送り軸が移動する向きが反転しないと判断した場合（Ｓ３でＮｏ）、過去に実際の送り軸が移動する向きが反転したか否かを判断する（Ｓ８）。つまり、算出部４は、ステップＳ８において、実際の送り軸の反転回数が「１」であるか否かを判断する。算出部４は、過去に実際の送り軸が移動する向きが反転したと判断した場合（Ｓ８でＹｅｓ）、つまり、実際の送り軸の反転回数が「１」であると判断した場合（Ｓ８でＹｅｓ）、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を累積する（Ｓ７）。
【００３８】
算出部４は、実際の送り軸の反転回数が「１」でないと判断した場合（Ｓ８でＮｏ）、第１記憶部３から、単位時間当たりの移動量を示す情報を含む次の順番のファイル２３を読込み（Ｓ２）、ステップＳ３の動作を行う。算出部４が実際の送り軸の反転回数が「１」でないと判断した場合（Ｓ８でＮｏ）は、算出部４が過去に実際の送り軸が移動する向きが反転していないと判断した場合である。算出部４は、ステップＳ５において実際の送り軸の反転回数が「１」でないと判断した場合（Ｓ５でＮｏ）、動作を終了する。実際の送り軸の反転回数が「１」でない場合は、実際の送り軸の反転が２回以上行われた場合である。算出部４は、２回目の実際の送り軸の反転が生じるまで上述のステップＳ２からステップＳ７までの動作を繰り返し実行し、ステップＳ７における複数回の動作から実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を算出する。
【００３９】
図５は、実施の形態にかかる数値制御装置１が有する判断部５の動作の手順を示すフローチャートである。つまり、図５のフローチャートは、判断部５がロストモーション補正を実行させるか否かを判断する動作の手順を示す。図５のフローチャートをもとに、判断部５の動作を説明する。
【００４０】
判断部５は、第１記憶部３から複数のファイル２３の各々が含む単位時間当たりの移動量を示す情報を読込んで、第３記憶部７に書込む（Ｓ１１）。単位時間当たりの移動量を示す情報が第３記憶部７に書込まれるとき、単位時間当たりの移動量を示す情報を含む複数のファイル２７が第３記憶部７に格納される。判断部５は、算出部４から、実際の送り軸の移動の向きが反転する位置を特定する情報を取得する（Ｓ１２）。
【００４１】
判断部５は、処理中のファイル２３が含む単位時間当たりの移動量を示す情報が、実際の送り軸が移動する向きが反転する位置を示す情報を含むか否かを判断する（Ｓ１３）。具体的には、単位時間当たりの移動量には、実際の送り軸が移動する向きを示す符号が付けられているので、判断部５は、符号をもとに、処理中のファイル２３が含む単位時間当たりの移動量を示す情報が、実際の送り軸が移動する向きが反転する位置を示す情報を含むか否かを判断する（Ｓ１３）。
【００４２】
図６は、実施の形態にかかる数値制御装置１の制御対象となる工作機械１０が有する実際の送り軸の位置が時間の経過と共に変化する一例を示す図である。具体的には、図６は、時間の経過と共に変化する実際の送り軸の位置の一例を曲線で示している。図６は、曲線の極大値が実際の送り軸の移動の向きが反転する第１の反転位置であることを示しており、曲線の極小値が実際の送り軸の移動の向きが反転する第２の反転位置であることを示している。第２の反転位置に対応する時刻より後、実際の送り軸は、第１の反転位置に対応する時刻より前に実際の送り軸が移動した向きに移動する。
【００４３】
判断部５は、処理中のファイル２３が含む単位時間当たりの移動量を示す情報が、実際の送り軸が移動する向きが反転する位置を示す情報を含むと判断した場合（Ｓ１３でＹｅｓ）、第２記憶部６からしきい値２６を示す情報を読込む（Ｓ１４）。判断部５は、算出部４から、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を示す情報を取得する（Ｓ１５）。判断部５は、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量がしきい値２６より小さいか否かを判断する（Ｓ１６）。
【００４４】
図７は、実施の形態にかかる数値制御装置１の制御対象となる工作機械１０が有する実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量がしきい値より小さい場合を示す図である。図７には、図６に示された第１の反転位置及び第２の反転位置も示されている。実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量は、第１の反転位置から第２の反転位置までの距離である。判断部５は、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量がしきい値２６より小さいと判断した場合（Ｓ１６でＹｅｓ）、処理中のファイル２３に対応するファイル２７のロストモーション補正制御信号２９をオフの状態にする（Ｓ１７）。
【００４５】
ステップＳ１７の動作が行われると、処理中のファイル２３についての判断部５の動作は終了する。判断部５は、処理中のファイル２３について、処理中のファイル２３が含む単位時間当たりの移動量を示す情報が、実際の送り軸が移動する向きが反転する位置を示す情報を含まないと判断した場合（Ｓ１３でＮｏ）も、動作を終了する。判断部５は、処理中のファイル２３について、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量がしきい値２６以上であると判断した場合（Ｓ１６でＮｏ）も、動作を終了する。
【００４６】
図８は、実施の形態にかかる数値制御装置１が有する制御部８の動作の手順を示すフローチャートである。更に言うと、図８のフローチャートは、制御部８がロストモーション補正を実行させるか否かを示すロストモーション補正制御信号２９をドライブユニット９に送信する動作の手順を示す。図８のフローチャートをもとに、制御部８の動作を説明する。
【００４７】
制御部８は、第３記憶部７から、ファイル２７に含まれている単位時間当たりの移動量を示す情報２８を読込む（Ｓ２１）。制御部８は、第３記憶部７からロストモーション補正制御信号２９を読込む（Ｓ２２）。ステップＳ２２において制御部８によって読込まれたロストモーション補正制御信号２９は、ステップＳ２１において制御部８によって読込まれた単位時間当たりの移動量を示す情報２８を含むファイル２７に含まれていた信号である。
【００４８】
制御部８は、読込んだ単位時間当たりの移動量を示す情報２８とロストモーション補正制御信号２９とをドライブユニット９に送信する（Ｓ２３）。ロストモーション補正制御信号２９は、ロストモーション補正を実行させるか否かを示す信号である。ロストモーション補正を実行させないと判断部５によって判断された場合、ロストモーション補正制御信号２９はロストモーション補正を実行させないことを示す。ロストモーション補正を実行させると判断部５によって判断された場合、ロストモーション補正制御信号２９はロストモーション補正を実行させることを示す。制御部８は、第３記憶部７に記憶されている複数のファイル２７の各々について、ステップＳ２１からステップＳ２３までの動作を行う。
【００４９】
上述の通り、実施の形態の数値制御装置１は、工作機械１０が有する実際の送り軸の単位時間当たりの移動量をもとに実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を算出する。上記の単位時間当たりの移動量は実際の送り軸が移動する向きを示す情報を含むので、数値制御装置１は、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を算出することができる。数値制御装置１は、算出した移動量をもとにロストモーション補正を実行させるか否かを判断する。具体的には、数値制御装置１は、算出した移動量があらかじめ設定されたしきい値より小さい場合にロストモーション補正を実行させないと判断する。数値制御装置１は、ロストモーション補正を実行させないと判断した場合にロストモーション補正を実行させない。
【００５０】
例えば加工プログラムが座標の回転を含むとき、加工プログラムで指定された軸である加工プログラムの指令軸と実際の送り軸とが異なる場合がある。加工プログラムの指令軸と実際の送り軸とが異なる場合、従来の数値制御装置では、ロストモーション補正を適切に制御することができない。しかしながら、数値制御装置１は、実際の送り軸の単位時間当たりの移動量をもとに実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を算出するので、加工プログラムの指令軸と実際の送り軸とが異なる場合においてロストモーション補正を適切に制御することができる。
【００５１】
加えて、数値制御装置１は、算出した移動量があらかじめ設定されたしきい値より小さい場合にロストモーション補正を実行させないので、ワークの加工面の精度が低下することを抑制することができる。
【００５２】
図９は、実施の形態にかかる数値制御装置１が有する補間部２、算出部４、判断部５、制御部８及びドライブユニット９の少なくとも一部の機能がプロセッサ５１によって実現される場合のプロセッサ５１を示す図である。つまり、補間部２、算出部４、判断部５、制御部８及びドライブユニット９の少なくとも一部の機能は、メモリ５２に格納されるプログラムを実行するプロセッサ５１によって実現されてもよい。プロセッサ５１は、ＣＰＵ（Central  Processing  Unit）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰ（Digital  Signal  Processor）である。図９には、メモリ５２も示されている。
【００５３】
補間部２、算出部４、判断部５、制御部８及びドライブユニット９の少なくとも一部の機能がプロセッサ５１によって実現される場合、当該一部の機能は、プロセッサ５１と、ソフトウェア、ファームウェア、又は、ソフトウェア及びファームウェアとの組み合わせにより実現される。ソフトウェア又はファームウェアはプログラムとして記述され、メモリ５２に格納される。プロセッサ５１は、メモリ５２に記憶されたプログラムを読み出して実行することにより、補間部２、算出部４、判断部５、制御部８及びドライブユニット９の少なくとも一部の機能を実現する。
【００５４】
すなわち、補間部２、算出部４、判断部５、制御部８及びドライブユニット９の少なくとも一部の機能がプロセッサ５１によって実現される場合、数値制御装置１は、補間部２、算出部４、判断部５、制御部８及びドライブユニット９の一部によって実行されるステップが結果的に実行されることになるプログラムを格納するためのメモリ５２を有する。メモリ５２に格納されるプログラムは、補間部２、算出部４、判断部５、制御部８及びドライブユニット９の一部が実行する手順又は方法をコンピュータに実行させるものであるともいえる。
【００５５】
メモリ５２は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read-Only  Memory）等の不揮発性もしくは揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク又はＤＶＤ（Digital  Versatile  Disk）等である。
【００５６】
図１０は、実施の形態にかかる数値制御装置１が有する補間部２、算出部４、判断部５、制御部８及びドライブユニット９を構成する少なくとも一部の構成要素が処理回路５３によって実現される場合の処理回路５３を示す図である。つまり、補間部２、算出部４、判断部５、制御部８及びドライブユニット９の機能の少なくとも一部は、処理回路５３によって実現されてもよい。
【００５７】
処理回路５３は、専用のハードウェアである。処理回路５３は、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field-Programmable  Gate  Array）、又はこれらを組み合わせたものである。補間部２、算出部４、判断部５、制御部８及びドライブユニット９の一部は、残部とは別個の専用のハードウェアであってもよい。
【００５８】
補間部２、算出部４、判断部５、制御部８及びドライブユニット９の複数の機能について、当該複数の機能の一部がソフトウェア又はファームウェアで実現され、当該複数の機能の残部が専用のハードウェアで実現されてもよい。このように、補間部２、算出部４、判断部５、制御部８及びドライブユニット９の複数の機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって実現することができる。
【００５９】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略又は変更することも可能である。
【符号の説明】
【００６０】
１  数値制御装置、２  補間部、３  第１記憶部、４  算出部、５  判断部、６  第２記憶部、７  第３記憶部、８  制御部、９  ドライブユニット、１０  工作機械、２１  送り速度、２２  移動の向き、２３，２７  ファイル、２４  軸移動反転位置、２５  軸移動反転後移動量、２６  しきい値、２８  単位時間当たりの移動量を示す情報、２９  ロストモーション補正制御信号、５１  プロセッサ、５２  メモリ、５３  処理回路。
【要約】
数値制御装置（１）は、工作機械（１０）が有する実際の送り軸が移動する向きを示す情報を含む実際の送り軸の単位時間当たりの移動量をもとに、実際の送り軸の移動の向きが反転した後の実際の送り軸の移動量を算出する算出部（４）と、算出部（４）によって算出された移動量をもとにロストモーション補正を実行させるか否かを判断する判断部（５）と、判断部（５）によってロストモーション補正を実行させないと判断された場合にロストモーション補正を実行させない制御部（８）とを有する。【図１】
0006494874.tif 000002
【図２】
0006494874.tif 000003
【図３】
0006494874.tif 000004
【図４】
0006494874.tif 000005
【図５】
0006494874.tif 000006
【図６】
0006494874.tif 000007
【図７】
0006494874.tif 000008
【図８】
0006494874.tif 000009
【図９】
0006494874.tif 000010
【図１０】
0006494874.tif 000011