説明

数値制御装置

【課題】工作機械において特別指令の入力時点からそれに応じた動作が実行されるまでの応答性を向上しつつ、加工形状の誤差を抑制する。
【解決手段】数値制御装置2は、ツールパスのうち補間対象点の前後に亘る補間区間のみを当該補間対象点における微分値の変化が連続的な変化となるように局部補間するパス局部フィルタ16と、移送対象物の加減速条件と局部補間後ツールパスとに基づいて媒介変数時間関数を求める媒介変数時間関数導出部18と、指令入力装置122に特別指令が入力された場合には、その特別指令の内容に応じて基準単位時間の長さを調整した新たな基準時刻を導出し、その基準単位時間毎の各移送軸についての移送量を求めてその移送量を特定周期毎の指令パルスとするパルス補間部22とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置に関するものである。
【背景技術】
【0002】
従来、各種工作機械では、ワークやそのワークを加工するための工具を移送する移送装置を加工プログラム(NCプログラム)に従って数値制御することによりワークの加工が行われている。下記特許文献1には、そのような移送装置の数値制御を行う数値制御装置が開示されている。
【0003】
特許文献1に示された数値制御装置では、加工プログラムからワーク上に固定された座標系における工具の位置座標の変化を媒介変数の関数として表すツールパスを求めるとともに、そのツールパスから移送装置の各移送軸毎の移送軸パスを求め、その求めた各移送軸毎の移送軸パスに基づいて基準単位時間毎の各移送軸における移送量を求め、その求めた移送量のデータを指令パルスとして各移送軸に対応する移送装置のサーボモータへ出力することにより各移送装置の制御を行っている。そして、この数値制御装置では、移送軸パスに対してブロック滑らか補間とコーナー滑らか補間とを行い、それらの滑らか補間後の移送軸パスからパルス補間により基準単位時間毎の各移送軸における移送量を求めている。なお、前記ブロック滑らか補間は、多数の指令点を直線で結んだ形状の移送軸パスを各指令点を通る滑らかな曲線に補間し、前記コーナー滑らか補間は、所定の指令点においてその前後で位置座標の変化量が急変しているような移送軸パスのコーナー部が滑らかなコーナーとなるようにそのコーナー部を補間するものである。
【0004】
しかし、この特許文献1に記載の技術では、位置座標の変化量が短い間隔で繰り返し急変しているような思わぬ異常データ(ノイズ等)が移送軸パスに含まれている場合には、その異常データの部分を滑らかに補間することは困難である。そして、移送軸パスにそのような異常データが含まれており、その移送軸パスに従って移送装置が制御された場合には、移送装置の動作が当該異常データに対応する部分で急変し、加工機械に機械ショックが発生する。このため、この機械ショックの要因となる移送軸パス中の異常データを補正することが重要な課題となる。
【0005】
そこで、下記特許文献2には、このような課題を解決することが可能な数値制御装置が示されている。
【0006】
この特許文献2の数値制御装置では、補間後加減速技術を用いている。この補間後加減速は、各移送軸パスから補間演算(パルス補間)によって得られた、各移送軸用のサーボモータへの駆動指令に対して加減速処理を行うものである。この補間後加減速によれば、パルス補間によって得られた駆動指令に前記異常データが含まれていても、その後の加減速処理によってその異常データを補正することができ、機械ショックの発生を抑制することが可能である。しかし、その反面、この補間後加減速では、ワークの加工形状の誤差が発生するという欠点がある。具体的には、この特許文献2における補間後加減速では、移送軸パスのうち加減速処理を適用する部分を限定していないため、当該加減速処理が駆動指令の異常データ部分以外の部分にも適用され得る。このため、例えば駆動指令のうち加工プログラムにおいて実際に加速が指示されている部分に当該加減速処理が適用されてその加速率を緩和するような処理が行われた場合や、加工プログラムにおいて実際に減速が指示されている部分に当該加減速処理が適用されて減速率を緩和するような処理が行われた場合には、加工プログラムが指示する加工形状に対して形状誤差が発生する。
【0007】
そこで、下記特許文献3には、さらに進化した補間後加減速処理を行う数値制御装置が示されている。この数値制御装置は、パルス補間後の指令パルスに残っている異常データ部分を検出して、その検出した異常データ部分の近傍のみを局部的に加減速処理する局部加減速フィルタを備えている。この数値制御装置によれば、異常データに起因する速度の急変は加減速処理により緩和されて機械ショックが抑制されるとともに、その異常データの近傍以外には加減速処理が行われないため加工形状の誤差の発生は抑制される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2008−225825号公報
【特許文献2】特開2010−140312号公報
【特許文献3】特開2010−182157号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、工作機械では、一般的に、移送対象物(ワーク及び工具)の加減速や緊急停止、再始動を指示する特別指令を入力するための指令入力装置が設けられている。オペレータ等がこの指令入力装置により特別指令を入力することで加工プログラムに従った移送対象物の通常の移送とは別にその移送対象物の加減速や緊急停止、再始動が実施可能となっている。このような指令装置に特別指令が入力された場合には、例えば、上記特許文献3の数値制御装置において、移送軸パスを特別指令の内容に応じて変更することで、その特別指令に応じた移送対象物の加減速や緊急停止、再始動を移送装置に実施させる。
【0010】
しかし、この場合には、指令入力装置に特別指令が入力されてから実際にその特別指令に対応する移送対象物の加減速、緊急停止又は再始動が行われるまでの応答性が悪化する虞がある。具体的には、指令入力装置に特別指令が入力されて移送軸パスが変更されると、前記パルス補間の処理と、そのパルス補間後の局部加減速処理とをやり直すことになるため、それらの処理のための再演算に時間が掛かり、その結果、特別指令が入力されてから実際にその特別指令に対応した加減速、緊急停止又は再始動が行われるまでの応答性が悪化する。
【0011】
本発明は、上記の課題を解決するためになされたものであり、その目的は、工作機械において、ワークの加工時の移送対象物の通常の移送とは別に特別指令装置に入力された特別指令に応じて移送対象物の速度変化を伴う動作を実施する場合に、その特別指令の入力時点からそれに応じた動作が実行されるまでの応答性を向上しつつ、加工形状の誤差を抑制することが可能な数値制御装置を提供することである。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本願発明者は、パルス補間後の局部加減速処理により異常データ部分を局部的に加減速処理したパルス列について、そのパルス列の単位時間の長さを指令入力装置に入力された特別指令の内容に応じて変更し、その後、変更後の単位時間毎の移動量を表すパルス列を求める2回目のパルス補間を行うことによって各移送軸用のサーボモータへ出力するパルス列を導出する技術を思いついた。
【0013】
この技術では、特別指令の内容に応じて各移送軸に共通の単位時間の長さを変更し、その変更した単位時間毎の移動量を2回目のパルス補間で求めることによって各移送軸用のサーボモータを駆動制御するためのパルス列を求めるため、各移送軸間の相対的な位置関係が維持された状態で特別指令の内容に応じた移送対象物の速度変化を伴う動作が実施される。このため、特別指令に応じた移送対象物の速度変化を伴う動作が実施されても、加工形状の誤差が発生するのを抑制することができる。さらに、この技術では、局部加減速処理後のパルス列の単位時間の長さを変更することで特別指令に対応する各移送軸用のサーボモータの駆動制御を実行するため、特別指令が入力されたことに応じて煩雑な局部加減速処理をやり直す必要がない。このため、特別指令の入力からそれに応じた動作が実際に実施されるまでの応答性を改善することができる。
【0014】
しかしながら、この技術では、局部加減速処理前の1回目のパルス補間に加えて、特別指令に応じた単位時間の変更処理後に2回目のパルス補間を行う必要がある。このため、演算処理の簡略化という点において課題が残る。そこで、本願発明者は、このような課題を解決するために以下の数値制御装置を発明した。
【0015】
この発明による数値制御装置は、ワーク又はそのワークを加工する工具を移送対象物としてその移送対象物を前記ワークを加工するために移送する複数の移送装置と、前記ワークの加工時における前記移送対象物の通常の移送とは別に当該移送対象物の速度変化を伴う動作を指示するための特別指令を外部から入力するための指令入力装置とを備え、前記各移送装置は、前記移送対象物を支持するための支持体と、その支持体を特定の移送軸方向に移送することにより前記移送対象物を移送する移送部とをそれぞれ有する工作機械に設けられ、前記各移送部に特定周期毎の指令パルスを出力することにより前記各移送装置の数値制御を行う数値制御装置であって、前記工具が前記ワークの加工時に通るべき軌跡が前記ワーク上に固定されたワーク座標系における前記工具の位置座標とその工具の軌跡に沿った積算長である媒介変数との関数として表されたツールパスを含む加工プログラムを記憶する記憶部と、前記記憶部に記憶された前記加工プログラムから前記ツールパスを求めるツールパス導出部と、前記ツールパス導出部によって求められた前記ツールパスに含まれる複数の指令点の中で前記ツールパスの前記媒介変数による一次微分値の変化が連続でかつ前記ツールパスの前記媒介変数による二次微分値の変化が不連続になっている指令点と前記ツールパスの前記媒介変数による一次微分値の変化が不連続になっている指令点とのうち少なくとも一方の指令点を補間対象点とし、前記ツールパスのうち前記補間対象点の前後に亘り、特定の区間幅を有する補間区間のみを当該補間対象点において不連続となっている微分値の変化が連続的な変化となるように局部補間するパス局部フィルタと、前記移送対象物の加減速条件と前記パス局部フィルタによって局部補間された後のツールパスである局部補間後ツールパスとに基づいて、基準時刻の経過に対する前記媒介変数の変化を表す媒介変数時間関数を求める媒介変数時間関数導出部と、前記工作機械の起動後、前記指令入力装置に前記特別指令が入力されない場合には前記特定周期と等しい基準単位時間毎に進行する基準時刻を導出し、前記指令入力装置に前記移送対象物の減速を指示する前記特別指令が入力された場合にはその特別指令が指示する減速に応じた度合いで前記基準単位時間が短くなるように調整した基準時刻を導出し、前記指令入力装置に前記移送対象物の増速を指示する前記特別指令が入力された場合にはその特別指令が指示する増速に応じた度合いで前記基準単位時間が長くなるように調整した基準時刻を導出し、前記媒介変数時間関数からこの導出した基準時刻の基準単位時間毎の各時点に対応する前記媒介変数を求めるとともに、その求めた各時点での媒介変数に対応する前記ワーク座標系での前記局部補間後ツールパス上の位置座標を求め、その求めた各時点での位置座標から前記各移送部に対応する前記各移送軸における位置座標を求め、その求めた前記各移送軸における位置座標から前記導出した基準時刻の基準単位時間毎の前記各移送軸方向への前記支持体の移送量を求めてその基準単位時間毎の移送量を前記特定周期毎の前記指令パルスとするパルス補間部と、前記パルス補間部によって求められた前記特定周期毎の前記指令パルスに応じて前記各移送部に対応する前記支持体を移送させる制御部とを備える。
【0016】
この数値制御装置では、1回のパルス補間で各移送部による支持体の移送を制御するための特定周期毎の指令パルスを求めることができ、演算処理を簡略化することができる。具体的には、この数値制御装置では、補間対象点において不連続となっている微分値の変化が連続的な変化となるようにツールパスの補間区間を局部補間する処理と、特別指令の入力があった場合に基準単位時間の長さをその特別指令によって指示される移送対象物の速度変化に応じた長さに調整した基準時刻を導出する処理を、各移送部による支持体の移送を制御するための指令パルスを求めるパルス補間処理の前に行うため、ツールパスの局部補間処理及び基準時刻の導出処理の後、1回のパルス補間で各移送部による支持体の移送を制御するための指令パルスを求めることができる。その結果、この数値制御装置では、演算処理を簡略化することができる。
【0017】
また、この数値制御装置では、パス局部フィルタにより補間対象点において不連続となっている微分値の変化が連続的な変化となるようにツールパスの補間区間が局部補間されるため、補間対象点の前後において一次微分値の変化が不連続となっている場合にはその一次微分値の変化が連続的な変化となるように補間され、補間対象点の前後において二次微分値の変化が不連続となっている場合にはその二次微分値の変化が連続的な変化となるように補間される。補間対象点の前後において一次微分値の変化が不連続になっている場合には、その補間対象点の前後において移送対象物の速度変化が不連続になるため、本発明の数値制御装置では、そのような補間対象点の前後における移送対象物の不連続な速度変化を連続的な速度変化に変えることができる。また、補間対象点の前後において二次微分値の変化が不連続になっている場合には、その補間対象点の前後において移送対象物の加速度変化が不連続になるため、この数値制御装置では、そのような補間対象点の前後における移送対象物の不連続な加速度変化を連続的な加速度変化に変えることができる。従って、本発明の数値制御装置では、ツールパスに含まれていた移送対象物の急激な速度変化や加速度変化を引き起こす異常データ部分を補間してその補間対象点に対応する時点における移送対象物の速度変化及び加速度変化を緩やかにすることができ、その結果、ツールパス中の異常データに起因する機械ショックの発生を抑制することができる。
【0018】
なお、この数値制御装置では、特別指令に応じて基準単位時間の長さを調整した基準時刻を導出し、その導出した基準時刻の基準単位時間毎の前記支持体の前記各移送軸についての移送量を求めてその移送量を特定周期毎の指令パルスとするため、その指令パルスに従って各移送部が支持体を移送することにより実施される移送対象物の移動では、元々のツールパスにおけるワーク座標系の各座標軸間の相対的な位置関係が維持される。このため、特別指令に伴う加工形状の誤差の発生を抑制することができる。また、この数値制御装置では、パス局部フィルタによりツールパスの補間区間のみが局部補間されるため、ツールパス全体について補間処理を行う場合と異なり、補間区間以外の区間において加工形状の誤差が生じるのを抑制することができる。
【0019】
上記数値制御装置において、前記パス局部フィルタは、前記局部補間後ツールパスが前記補間区間の始点の前後及び前記補間区間の終点の前後でそれぞれ連続して繋がるように前記ツールパスの前記補間区間を局部補間することが好ましい。
【0020】
この構成によれば、補間区間の始点の前後及び終点の前後がそれぞれ連続して繋がっている局部補間後ツールパスを得ることができる。このため、その局部補間後ツールパスに基づいたその後の各移送部の制御では、補間区間の始点及び終点において移送対象物を急激に動かすような各移送部の動作の急変が生じるのを防ぐことができる。
【0021】
この場合において、前記パス局部フィルタは、前記局部補間後ツールパスが当該局部補間後ツールパスの前記媒介変数による一次微分が前記補間区間の始点の前後及び前記補間区間の終点の前後でそれぞれ連続して変化するようなパスとなるように前記ツールパスの前記補間区間を局部補間することが好ましい。
【0022】
この構成によれば、補間区間の始点の前後及び終点の前後で一次微分が連続して変化する局部補間後ツールパスを得ることができる。このため、その局部補間後ツールパスに基づいたその後の各移送部の制御では、補間区間の始点の前後及び終点の前後に対応する各時点において移送対象物の移動速度が連続して変化するように各移送部による対応する支持体の移送を制御することができる。
【0023】
さらにこの場合において、前記パス局部フィルタは、前記局部補間後ツールパスが当該局部補間後ツールパスの前記媒介変数による二次微分が前記補間区間の始点の前後及び前記補間区間の終点の前後でそれぞれ連続して変化するようなパスとなるように前記ツールパスの前記補間区間を局部補間してもよい。
【0024】
この構成によれば、補間区間の始点の前後及び終点の前後でそれぞれ二次微分が連続して変化する局部補間後ツールパスを得ることができる。このため、その局部補間後ツールパスに基づいたその後の各移送部の制御では、補間区間の始点の前後及び終点の前後に対応する各時点において移送対象物の加速度が連続して変化するように各移送部による対応する支持体の移送を制御することができる。
【0025】
上記パス局部フィルタが局部補間後ツールパスが補間区間の始点の前後及び補間区間の終点の前後でそれぞれ連続して繋がるようにツールパスの補間区間を局部補間する構成において、前記パス局部フィルタは、前記補間区間を前後に特定の区間幅ずつ拡大した区間を調整区間として設定し、前記ツールパスのうち隣り合う前記指令点間の部位を補間ブロックとしてそのツールパスから前記調整区間に少なくとも一部が含まれる複数の補間ブロックを選択し、その選択した複数の補間ブロックのそれぞれについて補間処理を行うことによってその補間処理後の各補間ブロックを示す補間後関数を求め、その求めた各補間ブロックの補間後関数を積算することによって補間後積算関数を求め、その補間後積算関数のうち前記補間区間に相当する区間を抜き出すことによって、前記補間区間内の前記補間対象点において不連続となっている微分の変化が連続的な変化となるように補間した誤差付き補間パスを求める局部補間部と、その局部補間部によって求められた前記誤差付き補間パスの前記補間区間の始点に対応する値が局部補間していない前記ツールパスの前記補間区間の始点の値と一致し、かつ、その誤差付き補間パスの前記補間区間の終点に対応する値が局部補間していない前記ツールパスの前記補間区間の終点の値に一致するように当該誤差付き補間パスを補正し、その補正後の補間パスを前記ツールパスの前記補間区間と置換する誤差補正部とを含み、前記局部補間部は、前記補間ブロック内の前記媒介変数が異なる各第1位置を中央とし且つ特定の区間幅を有する積分区間を設定し、その設定した積分区間内の前記媒介変数が異なる各第2位置での前記ツールパスの前記媒介変数による一次微分を求め、その各第2位置での一次微分を対応する第2位置を中央とし且つ前記積分区間と等しい区間幅を有する分配区間内に特定の分配関数に基づいて分配した場合に得られる分配後微分関数を前記積分区間にわたって積分し、それによって前記補間後関数を求めることが好ましい。
【0026】
この構成では、ツールパスの補間区間内の補間対象点において不連続となっている微分の変化が連続的な変化となるように、かつ、局部補間後ツールパスが補間区間の始点の前後及び補間区間の終点の前後でそれぞれ連続して繋がるようにツールパスの補間区間を局部補間するパス局部フィルタを具体的に構成することができる。
【0027】
上記数値制御装置において、前記パス局部フィルタは、前記ツールパスに前記補間対象点が複数存在し、隣り合う前記補間対象点の前記補間区間同士が重複している場合には、それら重複する補間区間のうち最も前記ツールパスの始点寄りに位置する補間区間の始点から最も前記ツールパスの終点寄りに位置する補間区間の終点までを1つの補間区間として、その補間区間内の前記ツールパスを局部補間することが好ましい。
【0028】
この構成によれば、複数の補間対象点が近接している振動のような異常データがツールパスに含まれている場合でも、それらの複数の補間対象点付近のツールパスを一度に局部補間して滑らかな曲線を示すように補間することができる。
【発明の効果】
【0029】
以上説明したように、本発明によれば、工作機械においてワークの加工時の移送対象物の通常の移送とは別に特別指令装置に入力された特別指令に応じて移送対象物の速度変化を伴う動作を実施する場合に、その特別指令の入力時点からそれに応じた動作が実行されるまでの応答性を向上しつつ、加工形状の誤差を抑制し、さらにツールパスの補間のための演算処理を簡略化することができる。
【図面の簡単な説明】
【0030】
【図1】本発明の一実施形態による数値制御装置が適用される工作機械の概略的な側面図である。
【図2】本発明の一実施形態による数値制御装置及び指令入力装置の機能ブロック図である。
【図3】本発明の一実施形態の数値制御装置による数値制御プロセスを示すフローチャートである。
【図4】図3に示した数値制御プロセスのうちの局部補間の詳細なプロセスを示すフローチャートである。
【図5】図3に示した数値制御プロセスのうちの基準時刻の導出、パルス補間及び移送部へのパルス出力の前半の詳細なプロセスを示すフローチャートである。
【図6】図5に示したプロセスに繋がる基準時刻の導出、パルス補間及び移送部へのパルス出力の後半の詳細なプロセスを示すフローチャートである。
【図7】分配区間幅の算出方法の一例を説明するための図である。
【図8】ツールパスのうち局部補間の対象となるコーナー部を示す模式図である。
【図9】ツールパスのうち局部補間の対象となる異常データ部を示す模式図である。
【図10】補間ブロックの区間幅が補間区間幅よりも大きい場合を示す図である。
【図11】補間ブロックの区間幅が補間区間幅よりも小さい場合を示す図である。
【図12】補間ブロックの区間幅が補間区間幅よりも小さい場合を示す図である。
【図13】媒介変数時間関数を導出するための階段状速度曲線と加減速曲線を示す図である。
【図14】目標点に達する前に速度が速度上限値に達する場合の速度曲線の一例を示す図である。
【図15】目標点に達する前に速度が速度上限値に達する場合の速度曲線の別の例を示す図である。
【図16】許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線の一例を示す図である。
【図17】許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線の別の例を示す図である。
【図18】許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線のさらに別の例を示す図である。
【図19】目標点に対応する媒介変数に達しても速度が速度上限値まで上昇しない場合の速度曲線の一例を示す図である。
【図20】目標点に達するまでに速度が速度上限値を超えてしまう場合の速度曲線の一例を示す図である。
【発明を実施するための形態】
【0031】
以下、本発明の実施形態を図面を参照して説明する。
【0032】
まず、図1及び図2を参照して、本発明の一実施形態による数値制御装置2が適用される工作機械の構成について説明する。
【0033】
この工作機械は、被加工物であるワーク100を切削加工するためのものであり、ワーク移送装置102と、コラム104と、工具105と、工具鉛直移送装置106と、工具第1水平移送装置108と、工具第2水平移送装置110と、主軸ヘッド112と、制御盤114とを備えている。なお、ワーク移送装置102、工具鉛直移送装置106、工具第1水平移送装置108及び工具第2水平移送装置110は、それぞれ本発明の移送装置の概念に含まれるものである。
【0034】
ワーク移送装置102は、ワーク100を図1の紙面に垂直な方向であるX軸方向に移送するための装置である。このワーク移送装置102は、所定の設置場所上に固設されるベース102aと、そのベース102a上にX軸方向に移動可能に設けられるワーク支持体102bと、そのワーク支持体102bをX軸方向に移送するワーク支持体移送部102c(図2参照)とを有する。ワーク支持体102bは、ワーク100を支持するものである。ワーク100は、このワーク支持体102b上に垂直に立った状態で設置される。ワーク支持体移送部102cは、駆動源としてのサーボモータを有する。なお、前記X軸は、本発明の移送軸の概念に含まれるものであり、ワーク支持体102bは、本発明の支持体の概念に含まれるものであり、ワーク支持体移送部102cは、本発明の移送部の概念に含まれるものである。
【0035】
コラム104は、前記ベース102aの設置場所から水平方向でかつ前記X軸と直交する方向に離間した設置場所に立設されており、鉛直方向に延びている。
【0036】
工具鉛直移送装置106は、コラム104に設けられており、ワーク100を切削加工するための工具105を鉛直方向に延びるY軸方向に移送するための装置である。この工具鉛直移送装置106は、Y軸方向に移動可能にコラム104に取り付けられる鉛直支持体106aと、コラム104に設けられ、鉛直支持体106aをコラム104に沿ってY軸方向に移送する鉛直支持体移送部106b(図2参照)とを有する。鉛直支持体106aは、工具第1水平移送装置108を支持しており、この工具第1水平移送装置108は、後述するように工具第2水平移送装置110及び主軸ヘッド112を介して工具105を支持するため、鉛直支持体106aは間接的に工具105を支持する。鉛直支持体移送部106bは、駆動源としてのサーボモータを有する。なお、前記Y軸方向は、本発明の移送軸の概念に含まれるものであり、鉛直支持体106aは、本発明の支持体の概念に含まれるものであり、鉛直支持体移送部106bは、本発明の移送部の概念に含まれるものである。
【0037】
工具第1水平移送装置108は、鉛直支持体106aに設けられており、工具105を前記X軸と前記Y軸の両方に対して垂直に延びるW軸方向に移送するための装置である。この工具第1水平移送装置108は、W軸方向に移動可能に鉛直支持体106aに設けられる第1水平支持体108aと、鉛直支持体106aに設けられ、第1水平支持体108aをW軸方向に進退するように移送する第1水平支持体移送部108b(図2参照)とを有する。第1水平支持体108aは、工具第2水平移送装置110を支持しており、この工具第2水平移送装置110は、後述するように主軸ヘッド112を介して工具105を支持するため、第1水平支持体108a間接的に工具105を支持する。第1水平支持体移送部108bは、駆動源としてのサーボモータを有する。なお、前記W軸は、本発明の移送軸の概念に含まれるものであり、第1水平支持体108aは、本発明の支持体の概念に含まれるものであり、第1水平支持体移送部108bは、本発明の移送部の概念に含まれるものである。
【0038】
工具第2水平移送装置110は、第1水平支持体108aに設けられており、工具105を前記W軸と平行なZ軸方向に移送するための装置である。この工具第2水平移送装置110は、Z軸方向に移動可能に第1水平支持体108aに設けられる第2水平支持体110aと、第1水平支持体108aに設けられ、第2水平支持体110aをZ軸方向に進退するように移送する第2水平支持体移送部110bとを有する。第2水平支持体110aは、主軸ヘッド112を支持しており、その主軸ヘッド112を介して工具105を支持する。第2水平支持体移送部110bは、駆動源としてのサーボモータを有する。なお、前記Z軸は、本発明の移送軸の概念に含まれるものであり、第2水平支持体110aは、本発明の支持体の概念に含まれるものであり、第2水平支持体移送部110bは、本発明の移送部の概念に含まれるものである。
【0039】
主軸ヘッド112は、その回転軸が前記W軸及び前記Z軸と平行となるように第2水平支持体110aに設けられている。この主軸ヘッド112は、工具105を保持してその軸回りに工具105を回転させる。工具105は、主軸ヘッド112によって回転させられた状態でワーク100に接触させられることによりワーク100を切削加工する。
【0040】
制御盤114は、前記各移送装置102,106,108,110の移送部102c,106b,108b、110bの動作の制御や、主軸ヘッド112の動作の制御、その他、工作機械の各部の制御を行うための機能を有する。この制御盤114は、前記各移送部102c,106b,108b,110b及び主軸ヘッド112の駆動源と電気的に接続されている。
【0041】
また、制御盤114は、指令入力装置122(図2参照)を備えている。この指令入力装置122は、ワーク100の加工時のワーク100及び工具105の通常の移送とは別に、ワーク100及び工具105の加速又は減速を伴う動作を指示するための特別指令を外部から入力するための装置である。以下、移送装置102,106,108,110が移送する対象物であるワーク100又は工具105を移送対象物という。
【0042】
指令入力装置122は、停止指令入力装置124と、再始動指令入力装置126と、オーバーライド装置128とを含む。
【0043】
停止指令入力装置124は、移送対象物の移動を緊急に減速させて停止させるための緊急停止指令を入力するための装置である。前記緊急停止指令は、本発明の特別指令の概念に含まれる。この停止指令入力装置124は、制御盤114の外面に設けられた緊急停止ボタン124aと、その緊急停止ボタン124aが押されることに応じて緊急停止信号を後述の監視部10へ発信する停止信号発信部124bとを有する。なお、本実施形態では、緊急停止ボタン124aを押すことが緊急停止指令の入力に相当する。
【0044】
再始動指令入力装置126は、移動停止した移送対象物の移動を再開させて加速させるための再始動指令を入力するための装置である。前記再始動指令は、本発明の特別指令の概念に含まれる。この再始動指令入力装置126は、制御盤114の外面に設けられた再始動ボタン126aと、その再始動ボタン126aが押されることに応じて再始動信号を後述の監視部10へ発信する再始動信号発信部126bとを有する。なお、本実施形態では、再始動ボタン126aを押すことが再始動指令の入力に相当する。
【0045】
オーバーライド装置128は、移送対象物の移動速度を上昇させる指示とその移動速度の上昇率である加速率の情報とを含む加速指令又は移送対象物の移動速度を低下させる指示とその移動速度の低下率である減速率の情報とを含む減速指令を入力するための装置である。前記加速指令及び前記減速指令は、本発明の特別指令の概念に含まれる。
【0046】
このオーバーライド装置128は、制御盤114の外面に設けられたオーバーライドダイヤル128aと、そのオーバーライドダイヤル128aの操作方向及び操作量に応じた速度変更信号を後述の監視部10へ発信する速度変更信号発信部128bとを有する。
【0047】
オーバーライドダイヤル128aは、オペレータ等が加速指令又は減速指令を入力するときに操作する操作部である。このオーバーライドダイヤル128aは、その軸回りに回動可能に制御盤114に設けられている。このオーバーライドダイヤル128aをいずれかの方向に回動させることによって、オーバーライド装置128に加速指令又は減速指令を入力することが可能である。本実施形態では、オーバーライドダイヤル128aを一方側へ回動させる操作が加速指令の入力に相当し、オーバーライドダイヤル128aを前記一方側に対して反対側である他方側へ回動させる操作が減速指令の入力に相当する。また、オーバーライドダイヤル128aの前記一方側への回動量が移送対象物の加速率と対応しており、オーバーライドダイヤル128aの前記他方側への回動量が移送対象物の減速率に対応している。
【0048】
速度変更信号発信部128bは、オーバーライドダイヤル128aが前記一方側(加速側)へ回動されたことに応じて、その一方側へのオーバーライドダイヤル128aの回動量に対応するオーバーライド係数の情報を含む速度変更信号を監視部10へ発信し、オーバーライドダイヤル128aが前記他方側(減速側)へ回動されたことに応じて、その他方側へのオーバーライドダイヤル128aの回動量に対応するオーバーライド係数の情報を含む速度変更信号を監視部10へ発信する。オーバーライド係数は、1を基準としてオーバーライドダイヤル128aが加速側へ回動されることに応じて1から増加し、オーバーライドダイヤル128aが減速側へ回動されることに応じて1から減少する。
【0049】
本実施形態の数値制御装置2は、制御盤114の中に組み込まれており、前記各移送装置102,106,108,110の移送部102c,106b,108b,110bに特定周期毎の指令パルスを出力することにより各移送装置102,106,108,110の数値制御を行う。次に、本実施形態の数値制御装置2の構成について詳細に説明する。
【0050】
数値制御装置2は、図2に示すように、記憶部4と、メモリ5と、演算処理部6とを有する。
【0051】
記憶部4は、ワーク100の加工指令である加工プログラム(NCプログラム)を記憶している。この加工プログラムには、ツールパスが含まれる。このツールパスは、工具105がワーク100の加工時に通るべき軌跡がワーク100上に固定されたワーク座標系における工具105の位置座標とその工具105の軌跡に沿った積算長である媒介変数との関数として表されたものである。このツールパスには、ワーク100の加工時に工具105が通るべき多数の指令点が含まれており、当該ツールパスは、それらの指令点の隣り合うもの同士を繋いだ形状に構成されている。また、記憶部4は、ワーク100の加工時の移送対象物の加減速条件やその他の設定値を記憶している。なお、加減速条件には、例えば、各移送装置102,106,108,110が移送対象物を移送する各移送軸毎(各移送部102c,106b,108b,110bが対応する支持体102b,106a,108a,110aを移送する各移送軸毎)に設定される許容速度、許容加速度、許容ジャークや、ワーク100に対する工具105の合成移動速度が含まれる。
【0052】
メモリ5は、指令入力装置122に特別指令が入力される直前の時点でのオーバーライド係数や、前記速度変更信号に含まれるオーバーライド係数等の情報を記憶する。
【0053】
演算処理部6は、各種演算処理を行うものであり、機能ブロックとして、監視部10と、ツールパス導出部12と、ブロック滑らか補間部14と、パス局部フィルタ16と、媒介変数時間関数導出部18と、パルス補間部22と、制御部24とを有する。
【0054】
監視部10は、指令入力装置122に特別指令が入力されたか否かを監視している。具体的には、監視部10は、停止指令入力装置124に緊急停止指令が入力されたか否か、すなわち停止指令入力装置124の緊急停止ボタン124aが押されたか否かを停止信号発信部124bからの緊急停止信号の発信の有無を監視することによって判断している。監視部10は、停止信号発信部124bから緊急停止信号が発信された場合には、緊急停止ボタン124aが押されたと判断し、停止要求をパルス補間部22へ出力する。一方、監視部10は、停止信号発信部124bから緊急停止信号が発信されていない場合には、緊急停止ボタン124aが押されていないと判断し、停止要求を出力しない。
【0055】
また、監視部10は、再始動指令入力装置126に再始動指令が入力されたか否か、すなわち再始動指令入力装置126の再始動ボタン126aが押されたか否かを再始動信号発信部126bからの再始動信号の発信の有無を監視することによって判断している。監視部10は、再始動信号発信部126bから再始動信号が発信された場合には、再始動ボタン126aが押されたと判断し、再始動信号発信部126bから再始動信号が発信されていない場合には、再始動ボタン126aが押されていないと判断する。そして、監視部10は、停止信号発信部124bから緊急停止信号が発信された後に再始動信号発信部126bから再始動信号が発信されたことに応じて再始動要求をパルス補間部22へ出力する。
【0056】
また、監視部10は、オーバーライド装置128に加速指令又は減速指令が入力されたか否か、すなわちオーバーライドダイヤル128aが回動されたか否かを速度変更信号発信部128bからの速度変更信号の発信の有無を監視することによって判断している。詳しくは、監視部10は、速度変更信号発信部128bから速度変更信号が発信された場合には、オーバーライドダイヤル128aが回動されたと判断し、速度変更信号発信部128bから速度変更信号が発信されていない場合には、オーバーライドダイヤル128aが回動されていないと判断する。そして、監視部10は、速度変更信号発信部128bから発信される速度変更信号を受けてその速度変更信号に含まれるオーバーライド係数の情報を含む速度変更要求をパルス補間部22へ出力する。
【0057】
ツールパス導出部12は、記憶部4に記憶されている加工プログラムを読み取り、その読み取った加工プログラムからツールパスを求める。
【0058】
滑らか補間部14は、ツールパス導出部12によって求められたツールパスのうち解析的に可能な範囲で指令点を通る滑らかな曲線となるように補間できる部分について、その補間を行う。この滑らか補間部14が行う補間は、いわゆるブロック滑らか補間であり、ツールパスのうちの隣り合う指令点間の区間を指令ブロックとしてその指令ブロックと隣接する指令ブロックとがそれらの境界の指令点において滑らかに繋がるように補間するものである。具体的には、滑らか補間部14は、隣接する指令ブロックがそれらの境界の指令点の前後において一次微分と二次微分が連続変化し、かつ、その指令点を通るようにツールパスを補間する。ただし、ツールパスには、媒介変数の変化に対するツールパスの軌跡の変化が急激で、このようなブロック滑らか補間によってはその軌跡の指令点を通る滑らかな曲線となるように補間できない部位が含まれる場合がある。このような部位としては、微小単位で増減を繰り返す異常データの部分や、加工プログラムにおいて意図して指示されるコーナー部がある。滑らか補間部14は、ツールパスのうちこのような部位については補間せずに元のツールパスのまま残し、上記のように指令点を通り、その指令点の前後で一次微分と二次微分とが連続変化するような曲線に補間できる部分を滑らか補間する。
【0059】
パス局部フィルタ16は、ツールパスのうち滑らか補間部14によって補間されなかった部位を対象として補間を行う。具体的には、パス局部フィルタ16は、ツールパスのうち媒介変数による一次微分の変化が連続でかつ媒介変数による二次微分の変化が不連続になっている指令点と媒介変数による一次微分の変化が不連続になっている指令点とを補間対象点とする。そして、パス局部フィルタ16は、ツールパスのうち補間対象点の前後に亘り、後述する補間区間幅を有し、かつ、その補間区間幅の中央に当該補間対象点が位置する補間区間のみを当該補間対象点において不連続となっている微分の変化が連続的な変化となるように局部補間する。
【0060】
パス局部フィルタ16は、ツールパスのうちこのパス局部フィルタ16によって局部補間される部分は、例えば、図8に示すようなコーナー部や図9に示すような異常データ部である。これらのコーナー部の頂点に位置する指令点(図8のt[3])や異常データ部の各頂点に位置する各指令点(図9のt[2]〜t[6])では、媒介変数による一次微分値の変化が不連続になっており、これらの指令点は補間対象点となる。また、パス局部フィルタ16は、ツールパスに補間対象点が複数存在し、隣り合う補間対象点の補間区間同士が重複している場合(図9のような場合)には、それら重複している補間区間のうち最もツールパスの始点寄りに位置する補間区間の始点から最もツールパスの終点寄りに位置する補間区間の終点までを1つの補間区間として、その補間区間内のツールパスを局部補間する。なお、このパス局部フィルタ16によって全ての補間区間が局部補間された後のツールパスを、以下、局部補間後ツールパスという。また、パス局部フィルタ16は、局部補間後ツールパスが各補間区間(隣り合う補間区間同士が重複している場合はそれらを結合した補間区間)の始点の前後及び終点の前後でそれぞれ連続して繋がるようにその補間区間を局部補間する。
【0061】
パス局部フィルタ16の具体的な構成として、当該パス局部フィルタ16は、局部補間部16a及び誤差補正部16bを機能ブロックとして有している。
【0062】
局部補間部16aは、補間区間を前後に拡大した調整区間にかかる複数の補間ブロックのそれぞれについて補間処理を行うことによって各補間ブロックの補間後関数を求めるとともに、それらの補間後関数を積算して補間後積算関数を求め、その求めた補間後積算関数から補間区間に相当する区間を抜き出すことによって、補間区間内の補間対象点において不連続となっている微分の変化が連続的な変化となるように補間した誤差付き補間パスを求める。また、誤差補正部16bは、局部補間部16aによって求められた誤差付き補間パスの補間区間の始点に対応する値が局部補間していないツールパスの補間区間の始点の値と一致し、かつ、その誤差付き補間パスの補間区間の終点に対応する値が局部補間していないツールパスの補間区間の終点の値に一致するように誤差付き補間パスを補正し、その補正後の補間パスをツールパスの補間区間と置換する。このパス局部フィルタ16の局部補間部16aと誤差補正部16bとによる局部補間の詳細なプロセスについては、後述する。
【0063】
媒介変数時間関数導出部18は、記憶部4に記憶された加減速条件と、局部補間後ツールパスとに基づいて、特定の基準時刻の経過に対する媒介変数の変化を表す媒介変数時間関数(媒介変数の速度曲線)を求める。具体的には、媒介変数時間関数導出部18は、前記加減速条件に含まれる許容加速度の範囲内で局部補間後ツールパスに従って移送対象物を移動させ得る最大の加速度を示すような媒介変数時間関数を導出する。
【0064】
パルス補間部22は、局部補間後ツールパスをパルス補間して前記特定周期毎の指令パルスを求めるものである。このパルス補間部22は、指令入力装置122への特別指令の入力状況に応じた基準時刻の導出、その導出した基準時刻に対応する媒介変数の導出、その導出した媒介変数に応じた局部補間後ツールパス上の位置座標の導出、及び、実時刻の単位時間当たりの各移送軸の位置座標の変化量を示す指令パルスの導出を行う。なお、実時刻とは、前記特定周期に等しい単位時間毎に進行する時刻のことである。
【0065】
具体的には、パルス補間部22は、工作機械の起動後、指令入力装置122に特別指令が入力されない場合には、前記実時刻の単位時間(前記特定周期)と等しい基準単位時間毎に進行する基準時刻を導出する。また、パルス補間部22は、停止指令入力装置124に緊急停止指令が入力された場合には、基準単位時間が短くなっていき最終的に0になるように調整した基準時刻を導出する。また、パルス補間部22は、停止指令入力装置124に緊急停止指令が入力された後に再始動指令入力装置126に再始動指令が入力された場合には、基準単位時間が0から長くなって最終的に緊急停止前の基準単位時間に等しくなるように調整した基準時刻を導出する。また、パルス補間部22は、オーバーライド装置128に加速指令が入力された場合には、基準単位時間がオーバーライド装置128への加速指令の入力直前における長さから加速指令に含まれる加速率(オーバーライド係数)に応じた長さまで増加するように調整した基準時刻を導出する。また、パルス補間部22は、オーバーライド装置128に減速指令が入力された場合には、基準単位時間がオーバーライド装置128への減速指令の入力直前の状態における長さから減速指令に含まれる減速率(オーバーライド係数)に応じた長さまで減少するように調整した基準時刻を導出する。
【0066】
また、パルス補間部22は、上記のように導出した基準時刻の基準単位時間毎の各時点に対応する媒介変数を前記媒介変数時間関数導出部18によって導出された媒介変数時間関数から求める。また、パルス補間部22は、その求めた各時点での媒介変数に対応するワーク座標系での局部補間後ツールパス上の位置座標を求めるとともに、その求めた各時点での位置座標から上記のように導出した基準時刻の基準単位時間毎のワーク座標系における工具105の移動量を求める。そして、パルス補間部22は、その求めた工具105の移動量から各移送部102c,106b,108b,110bの各移送軸について支持体102b,106a,108a,110aの基準単位時間毎の移送量を求めてその基準単位時間毎の移送量を実時刻の単位時間毎(前記特定周期毎)の指令パルスとする。このようにして、パルス補間部22は、局部補間後ツールパスをパルス補間する。
【0067】
制御部24は、各移送部102c,106b,108b,110bの動作を制御するものであり、パルス補間部22によって求められた特定周期毎の指令パルスに応じて各移送部102c,106b,108b,110bに対応する支持体102b,106a,108a,110aを移送させる。具体的には、制御部24は、パルス補間部22によって求められた各移送軸についての前記特定周期毎の指令パルスを移送部102c,106b,108b,110bのうち対応するもののサーボモータへそれぞれ出力する。これにより、各移送部102c,106b,108b,110bは、対応する支持体102b,106a,108a,110aを対応する移送軸方向へ制御部24から送られてくる指令パルスが示す移送量ずつ特定周期毎(実時刻の単位時間毎)に移送する。その結果、移送対象物が移送され、工具105は、ワーク座標系における局部補間後ツールパスに沿って移送される。
【0068】
次に、図3〜図5のフローチャートを参照して、本実施形態の数値制御装置2による数値制御プロセスについて説明する。
【0069】
まず、ツールパス導出部12が記憶部4に記憶された加工プログラム(NCプログラム)を読み取り(図3のステップS1)、その読み取った加工プログラムからツールパスを導出する(ステップS3)。
【0070】
次に、滑らか補間部14が、ツールパス導出部12によって求められたツールパスについてブロック滑らか補間を行う(ステップS3)。具体的には、滑らか補間部14は、ツールパスのうちの隣接する指令ブロック同士がそれらの境界の指令点の前後において一次微分と二次微分が連続変化し、かつ、その指令点をツールパスが通るようにツールパスを補間する。この際、滑らか補間部14は、ツールパスのうちこのような補間が解析的に可能な部分についてのみブロック滑らか補間を行い、このような補間が解析的に不可能な部分については補間せずに元のツールパスのまま残す。具体的には、滑らか補間部14は、指令点におけるツールパスの折れ曲がりの角度が予め設定された一定角度よりも大きい部分、及び、補間前のツールパスに対してブロック滑らか補間を行った後のツールパスの誤差が予め設定された許容誤差よりも大きくなる部分については、補間せずに元のツールパスのまま残す。
【0071】
次に、パス局部フィルタ16が、ブロック滑らか補間後のツールパスについて局部補間を行う(ステップS4)。具体的には、パス局部フィルタ16は、ツールパスのうち媒介変数sによる一次微分の変化が連続でかつ媒介変数sによる二次微分の変化が不連続となっている指令点と媒介変数sによる一次微分の変化が不連続になっている指令点とを補間対象点とし、ツールパスのうちその補間対象点の前後に亘り、特定の区間幅を有する補間区間のみを局部補間する。これにより、ツールパスのうち前記ブロック滑らか補間が行われなかった指令点付近が局部補間され、その指令点において不連続であった微分値の変化が連続的な変化となるように補間される。このパス局部フィルタ16によって行われる局部補間の詳細なプロセスが図4に示されている。
【0072】
この局部補間では、まず、パス局部フィルタ16の局部補間部16aが、補間区間の区間幅である補間区間幅をまだ算出していない補間対象点がツールパスに存在するか否かを判断する(ステップS12)。局部補間部16aは、そのような補間対象点が存在すると判断した場合には、その補間区間幅をまだ算出していない補間対象点について分配区間幅及び補間区間幅の算出を行う(ステップS14)。なお、分配区間幅は、後述するツールパスの媒介変数による一次微分を分配関数に基づいて分配する区間幅のことである。
【0073】
具体的には、局部補間部16aは、まず、分配区間幅を算出し、補間区間幅をその算出した分配区間幅以上の区間幅として求める。なお、本実施形態では、補間区間幅を分配区間幅と等しい大きさの区間幅とする。局部補間部16aは、補間対象点の前後でツールパスの媒介変数sによる一次微分値が異なる場合には、その前後の一次微分値の差が最大となるワーク座標系の座標軸について、局部補間前のツールパスと局部補間後のツールパスとの補間対象点における位置誤差がその座標軸における許容誤差に等しくなるという条件を満たすように分配区間幅が求められる。より詳しくは、例えば、次のようにして分配区間幅Aが算出される。
【0074】
分配区間幅の算出式は、後述のツールパスの一次微分の分配を行うために用いる分配関数によって異なるが、ここでは、後述のツールパスの一次微分の分配に直線型の分配関数を用いるものとして、分配区間幅を算出する。
【0075】
ワーク座標系の各座標軸のうちx軸において、ツールパスの媒介変数sによる一次微分の補間対象点直前の値b1と補間対象点直後の値b2との差が最大となるとする。ここで、このx軸におけるツールパスの位置座標xの媒介変数sによる一次微分関数x’(s)は、次式(1)で表せる。なお、この一次微分関数x’(s)は、図7に太線で示されている。
【0076】
x’(s)=dx/ds=αs+b1・・・(1)
局部補間前のツールパスに対する局部補間後のツールパスの補間対象点での位置誤差は、図7中のハッチングを付した領域の面積に相当する。従って、この位置誤差をeとすると、当該位置誤差eは、次式(2)で求められる。
【0077】
e=A×(b2−b1)/8・・・(2)
ここで、x軸における許容誤差をτとすると、前記誤差eが許容誤差τに等しいという条件を満たす分配区間幅Aは、上記式(2)から次式(3)のように求められる。
【0078】
A=8τ/(b2−b1)・・・(3)
なお、上記式(3)で求められる分配区間幅の値が予め設定された上限パラメータを超える場合には、その上限パラメータの値を分配区間幅Aとする。そして、本実施形態では、以上のようにして算出された分配区間幅Aに等しい区間幅を補間区間幅とする。
【0079】
次に、局部補間部16aは、現在対象としている補間対象点についての補間区間が他の補間対象点の補間区間と重なるか否かを判断する(ステップS16)。ここで、局部補間部16aは、補間区間が重ならないと判断した場合には、上記ステップS12に戻り、以降のプロセスを繰り返し行う。一方、局部補間部16aは、補間区間が重なると判断した場合には、重なった補間区間同士を結合して1つの補間区間とする(ステップS18)。具体的には、局部補間部16aは、重なった各補間区間のうち最もツールパスの始点寄りに位置する補間区間の始点から最もツールパスの終点寄りに位置する補間区間の終点までの区間を1つの補間区間とする。なお、この場合、結合した1つの補間区間について後述の分配の際に用いる分配区間幅としては、各補間区間に対応する分配区間幅のうち最も小さい分配区間幅が採用される。この後、上記ステップS12に戻り、以降のプロセスが繰り返し行われる。
【0080】
そして、ステップS12において、局部補間部16aがツールパスに補間区間幅を算出していない補間対象点がもう存在しないと判断した場合には、局部補間部16aは、次に、以降の局部補間処理を行う1つの補間区間を抽出する(ステップS20)。ここで、ツールパスに局部補間処理を行っていない複数の補間区間が存在する場合には、局部補間部16aは、それらの補間区間のうち最もツールパスの始点寄りに位置する補間区間を抽出する。なお、上記ステップS18で結合された補間区間は、1つの補間区間として扱われる。
【0081】
その後、局部補間部16aは、抽出した補間区間について調整区間を求める(ステップS22)。この調整区間(図8及び図9参照)は、補間区間の前後に分配区間幅Aの半分の区間幅aをそれぞれ加えた区間であり、後述する補間後関数の算出対象となる補間ブロックを判断する基準となる。その後、局部補間部16aは、メモリ5に記憶されている補間後積算関数を0に初期セットする(ステップS24)。
【0082】
次に、局部補間部16aは、後述の補間後関数を求める補間処理を実施するための指令ブロックである補間ブロックを抽出する(ステップS26)。具体的には、局部補間部16aは、上記ステップS22で求めた調整区間内に少なくとも区間の一部が含まれる複数の指令ブロック(図8では指令ブロックp0(s)〜p5(s)、図9ではp0(s)〜p7(s))を選択するとともに、それらの指令ブロックのうち後述の補間後関数を求める補間処理が終わっていないブロックでかつ最もツールパスの始点寄りに位置するブロックを補間ブロックとして抽出する。
【0083】
次に、局部補間部16aは、抽出した補間ブロックの補間後関数を求める(ステップS28)。本実施形態では、局部補間部16aは、直線型の分配関数f(s)を用いて補間後関数を求める。直線型の分配関数f(s)は、次式(4)で表される。
【0084】
f(s)=1/A (−A/2≦s≦A/2)・・・(4)
なお、分配区間−A/2≦s≦A/2の外側では、f(s)=0である。
【0085】
局部補間部16aは、補間後関数の算出に当たって、まず、上記抽出した補間ブロック内の媒介変数が異なる各第1位置sを中央とし且つ分配区間幅Aと等しい区間幅を有する積分区間[s−A/2,s+A/2]を設定する。そして、局部補間部16aは、その設定した積分区間[s−A/2,s+A/2]内の媒介変数が異なる各第2位置Sでのツールパスの媒介変数による一次微分pi’(S)を求め、その各第2位置Sでの一次微分pi’(S)を対応する第2位置Sを中央とし且つ前記分配区間幅Aを有する分配区間内に分配関数f(s)に基づいて分配した場合に得られる分配後微分関数pi’(S)・f(s−S)を積分区間[s−A/2,s+A/2]にわたって積分し、それによって補間後関数qi’(s)を求める。換言すれば、局部補間部16aは、次式(5)によって当該補間ブロックpi(s)の補間後関数qi’(s)を求める。
【0086】
【数1】

【0087】
このようにして得られた補間後関数qi’(s)は、補間ブロックpi(s)の区間幅が補間区間幅Aよりも大きい場合と小さい場合とで異なった形で表される。その各場合における補間後関数qi’(s)は、以下の通りである。
【0088】
補間ブロックpi(s)の区間幅が補間区間幅A(=2a)よりも大きい場合(図10参照)には、その補間ブロックpi(s)の両端を規定する2つの指令点のうちツールパスの始点寄りの指令点をt[i]、ツールパスの終点寄りの指令点をt[i+1]とし、補間区間幅Aの半分の区間幅をaとすると、当該補間ブロックpi(s)に対応する区間はt[i]<s<t[i+1]で表され、t[i]−a<t[i]+a<t[i+1]−a<t[i+1]+aの関係が成り立つ。そして、補間ブロックpi(s)の媒介変数sによる一次微分pi’(s)は、図10中の太線で表される。
【0089】
この場合において、上記補間処理によって得られる補間後関数qi’(s)は、下記のt[i]−a<s<t[i]+aの区間の関数qi11’(s)と、t[i]+a<s<t[i+1]−aの区間の関数qi12’(s)と、t[i+1]−a<s<t[i+1]+aの区間の関数qi13’(s)とに細分化される。
【0090】
t[i]−a<s<t[i]+aの区間の関数qi11’(s)は、次式(6)で表される。
【0091】
【数2】

【0092】
t[i]+a<s<t[i+1]−aの区間の関数qi12’(s)は、次式(7)で表される。
【0093】
【数3】

【0094】
t[i+1]−a<s<t[i+1]+aの区間の関数qi13’(s)は、次式(8)で表される。
【0095】
【数4】

【0096】
次に、補間ブロックpi(s)の区間幅が補間区間幅A=2aよりも小さい場合(図11及び図12参照)には、その補間ブロックpi(s)の両端を規定する2つの指令点のうちツールパスの始点寄りの指令点をt[i]、ツールパスの終点寄りの指令点をt[i+1]とし、補間区間幅Aの半分の区間幅をaとすると、当該補間ブロックpi(s)に対応する区間はt[i]<s<t[i+1]で表され、t[i]−a<t[i+1]−a<t[i]+a<t[i+1]+aの関係が成り立つ。この補間ブロックpi(s)の媒介変数sによる一次微分関数pi’(s)は、図11及び図12中の太線で表される。
【0097】
この場合において、上記補間処理によって得られる補間後関数qi’(s)は、下記のt[i]−a<s<t[i+1]−aの区間の関数qi21’(s)と、t[i+1]−a<s<t[i]+aの区間の関数qi22’(s)と、t[i]+a<s<t[i+1]+aの区間の関数qi23’(s)とに細分化される。
【0098】
t[i]−a<s<t[i+1]−aの区間の関数qi21’(s)は、次式(9)で表される。
【0099】
【数5】

【0100】
t[i+1]−a<s<t[i]+aの区間の関数qi22’(s)は、次式(10)で表される。
【0101】
【数6】

【0102】
t[i]+a<s<t[i+1]+aの区間の関数qi23’(s)は、次式(11)で表される。
【0103】
【数7】

【0104】
次に、局部補間部16aは、求めた補間後関数をメモリ5に記憶されている補間後積算関数に加算する(ステップS30)。ここでは、ステップS42で0にリセットされた補間後積算関数に補間後関数が加算されるので、加算後の補間後積算関数は、上記ステップS28で求められた補間後関数に等しくなる。
【0105】
次に、局部補間部16aは、調整区間に少なくとも区間の一部が含まれる全ての補間ブロックについて補間後関数を求めてその補間後関数を補間後積算関数に加算する補間処理を行ったか否かを判断する(ステップS32)。ここで、局部補間部16aは、まだ全ての補間ブロックの補間処理を終了していないと判断した場合には、上記ステップS26に戻り、次に補間処理を行う補間ブロックを抽出する。この際に抽出される補間ブロックは、調整区間に少なくとも区間の一部が含まれる指令ブロックのうち先に補間処理された補間ブロックに対してツールパスの終点側に隣り合う指令ブロックとなる。その後、局部補間部16aは、その抽出した補間ブロックについてステップS28の補間後関数の算出を行い、それによって得られた補間後関数を補間後積算関数に加算する。局部補間部16aは、このようなステップS26〜S30のプロセスを、ステップS32において調整区間に少なくとも一部が含まれる全ての補間ブロックの補間処理(分配、積分、加算)を終了したと判断するまで繰り返し行う。
【0106】
そして、局部補間部16aは、ステップS32において調整区間に少なくとも一部が含まれる全ての補間ブロックの補間処理を終了したと判断した場合には、次に、誤差付き補間パスを求める(ステップS34)。具体的には、局部補間部16aは、上記補間後関数の加算によって得られた補間後積算関数から上記ステップS20で抽出した補間区間に相当する区間を抜き出すことによって誤差付き補間パスを求める。
【0107】
次に、パス局部フィルタ16の誤差補正部16bが、誤差付き補間パスのうち補間区間の始点に対応する点と終点に対応する点とにおけるツールパスとの誤差を補正するための誤差補正パスを求める(ステップS36)。具体的には、誤差補正部16bは、補間区間の始点における誤差補正パスの値が当該始点における誤差付き補間パスの値から当該始点におけるツールパスの値を減じて得た値に等しく、かつ、補間区間の終点における誤差補正パスの値が当該終点における誤差付き補間パスの値から当該終点におけるツールパスの値を減じて得た値に等しいという条件を満たす誤差補正パスを求める。より具体的には、誤差補正部16bは、誤差補正パスをE(s)とし、誤差付き補間パスをr(s)とし、ツールパスをp(s)とし、補間区間の始点をSsとし、補間区間の終点をSeとすると、以下の式(12),(13)を満たす誤差補正パスE(s)を求める。本実施形態では、誤差補正部16bは、この条件を満たす誤差補正パスE(s)の一例として、E(Ss)とE(Se)を直線で繋いだ誤差補正パスを求める。
【0108】
E(Ss)=r(Ss)−p(Ss)・・・(12)
E(Se)=r(Se)−p(Se)・・・(13)
次に、誤差補正部16bは、誤差付き補間パスをステップS36で求めた誤差補正パスによって補正し、その補正後の補間パスをツールパスの補間区間と置換して局部補間後の補間区間のツールパスとする(ステップS38)。具体的には、誤差補正部16bは、誤差付き補間パスから誤差補正パスを差し引くことによって誤差付き補間パスを補正し、当該補正により、補間区間の始点でのツールパスに対する誤差付き補間パスの誤差と、補間区間の終点でのツールパスに対する誤差付き補間パスの誤差とを除去する。このため、補正後の補間パスは、補間区間の始点においてツールパスと連続して繋がり、補間区間の終点においてツールパスと連続して繋がるパスとなる。以上のプロセスにより、ツールパスのうちの1つの補間区間が、当該補間区間内の補間対象点において不連続となっている微分値の変化が連続的な変化となるように局部補間される。
【0109】
この後、局部補間部16aは、ツールパスの全ての補間区間の局部補間が終了したか否かを判断する(ステップS40)。ここで、局部補間部16aは、まだ局部補間が終了していない補間区間が存在すると判断した場合には、上記ステップS20以降のプロセスが繰り返し行われる。具体的には、局部補間部16aは、局部補間が終了していない補間区間のうち最もツールパスの始点寄りに位置する補間区間を抽出し、その抽出した補間区間について補間後関数の算出、補間後積算関数への加算、誤差付き補間パスの導出、誤差補正パスの導出及び誤差付き補間パスの補正等が行われる。
【0110】
一方、局部補間部16aがツールパスの全ての補間区間の局部補間が終了したと判断した場合には、パス局部フィルタ16による局部補間処理のプロセスが終了し、次に、媒介変数時間関数導出部18により基準時刻Tの経過に対する媒介変数の変化を表す媒介変数時間関数が求められる(図3のステップS5)。
【0111】
具体的には、媒介変数時間関数導出部18は、記憶部4に記憶されている加減速条件と全ての補間区間が局部補間された後のツールパスである局部補間後ツールパスとに基づいて、媒介変数時間関数(媒介変数の速度曲線)を求める。より具体的には、媒介変数時間関数導出部18は、ワーク座標系における工具105の位置を局部補間後ツールパスに従って移動させることができ、かつ、移送対象物の各移送軸毎の加速度が加減速条件に含まれたその移送軸についての許容加速度を超えないという条件を満たすような媒介変数時間関数を求める。詳しくは、媒介変数時間関数導出部18は、以下のようにして媒介変数時間関数を求める。
【0112】
媒介変数時間関数導出部18は、まず、図13中の階段状速度曲線で表される媒介変数速度上限関数を求める。媒介変数速度上限関数は、各移送軸パスの各指令点間のブロック毎の媒介変数sの速度ds/dTの上限値を表す関数である。図13中の階段状速度曲線のうち水平になっている各部分がブロックを表し、当該部分の速度ds/dTがそのブロックの媒介変数sの速度ds/dTの上限値に相当する。なお、各ブロックは、それぞれについての媒介変数sの増分が等しくなるように元々設定されているが、その各ブロックの媒介変数sの増分に相当する距離を進むのに要する時間は様々であり、図13では、媒介変数sの増加を時間tの進行に換算して横軸に表している。そして、媒介変数時間関数導出部18は、以下のようにして各ブロックの媒介変数sの速度ds/dTの上限値を求めることによって媒介変数速度上限関数を求める。
【0113】
媒介変数時間関数導出部18は、局部補間後ツールパスに基づいて、対象とするブロック内の所定の媒介変数sの点とその点の近傍の前後2点ずつの合計5点(s−2e,s−e,s,s+e,s+2e)における各移送軸の移送軸座標kp[i][](i=0,1,2,3,4)を求める。なお、前記eは、媒介変数における微小距離を示すパラメータである。また、i=0は点(s−2e)に、i=1は点(s−e)に、i=2は点sに、i=3は点(s+e)に、i=4は点(s+2e)にそれぞれ対応している。また、[]は、各移送軸それぞれについての値であることを意味する。そして、媒介変数時間関数導出部18は、下記式(14)によって点(s−e)における移送軸パスの媒介変数による一次微分の近似値ds1[ax]を求め、下記式(15)によって点(s+e)における移送軸パスの媒介変数による一次微分の近似値ds2[ax]を求め、この求めた2つの近似値ds1[ax],ds2[ax]と下記式(16)を用いて前記媒介変数sに対応する点における移送軸パスの媒介変数による二次微分の近似値ddss[ax]を求める。なお、axは、各移送軸を表すインデックスである。
【0114】
ds1[ax]=(kp[2][ax]−kp[0][ax])/2e・・・(14)
ds2[ax]=(kp[4][ax]−kp[2][ax])2e・・・(15)
ddss[ax]=(ds2[ax]−ds1[ax])/2e・・・(16)
仮に、媒介変数sの点を等速度vで通過するとした場合には、各移送軸毎の加速度a[]は、v×ddss[]で近似できることから、記憶部4に記憶されている加減速条件中の各移送軸毎の許容加速度をA[]とすると、媒介変数時間関数導出部18は、対象とするブロックの速度上限値vmを次式(17)によって求める。
【0115】
vm=(A[ax]/ddss[ax])1/2・・・(17)
そして、媒介変数時間関数導出部18は、このようにして求めた各移送軸毎の対応するブロックの速度上限値vmと加工プログラムに含まれる速度指令のうちそのブロックに対応する速度との中で最も低い値をそのブロックの媒介変数sの速度ds/dTの上限値とする。媒介変数時間関数導出部18は、全てのブロックの媒介変数sの速度ds/dTの上限値を以上のような方法でそれぞれ求め、その求めた各ブロックの上限値を繋いで媒介変数速度上限関数を求める。
【0116】
次に、媒介変数時間関数導出部18は、記憶部4に記憶された加減速条件に含まれる媒介変数sの許容速度、許容加速度及び許容ジャークに基づいて、媒介変数速度上限関数が表す階段状速度曲線を超えないように連続変化する加減速曲線ds(T)/dTを求め、その求めた加減速曲線ds(T)/dTを基準時刻Tで積分することにより媒介変数時間関数s(T)を算出する。
【0117】
具体的には、媒介変数時間関数導出部18は、まず、加減速曲線ds(T)/dTのうちの加速領域の速度曲線(速度関数)を始点側から終点側へ向かって所定の時刻区間毎にその時刻区間の時刻区間幅tsとともに順次求めてメモリ5に登録していく。この時、媒介変数時間関数導出部18は、それまでにメモリ5に登録した速度曲線の最終点(s1,f1,t1)から目標点(s2,f2)として設定したブロックの終点へ到達する過程でその最終点における速度f1がそのブロックの速度ds/dTの上限値(速度上限値f2)まで上昇し得るような速度曲線を各時刻区間毎にその区間の時刻区間幅tsとともに求める。なお、このとき求められる速度曲線の形態は、前記最終点と目標点との媒介変数の差(s2−s1)、前記最終点における速度f1、速度上限値f2、前記最終点における加速度a1、許容加速度及び許容ジャーク等の条件によって異なる。その各条件に応じた速度曲線の求め方が図14〜図20に示されている。
【0118】
図14及び図15には、最終点(s1,f1,t1)から目標点(s2,f2)に達する前に速度が速度上限値f2に達する場合が示されている。なお、t2は、s2に到達したときの時刻である。具体的には、図14は、最終点(s1,f1,t1)から許容ジャークに従って加速度がa1から許容加速度まで増加するように速度をf1から上昇させ(時刻区間ts1)、その後、許容加速度に等しい加速度で速度が上昇し(時刻区間ts2)、その後、速度が速度上限値f2を超えないように許容ジャークに従って加速度を低下させて速度が速度上限値f2に達し(時刻区間ts3)、その後、速度上限値f2に等しい速度で目標点(s2,f2)に到達する(時刻区間ts4)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って各時刻区間毎の速度曲線(速度関数)をその各区間の時刻区間幅ts1〜ts4とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ5に登録する。また、図15は、最終点(s1,f1,t1)から許容ジャークに従って加速度がa1から増加するように速度をf1から上昇させる(時刻区間ts5)が、速度上限値f2が近いため、速度が許容加速度に達する前に許容ジャークに従って加速度を低下させて速度上限値f2に達し(時刻区間ts6)、その後、速度上限値f2に等しい速度で目標点(s2,f2)に到達する(時刻区間ts7)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って各時刻区間毎の速度曲線(速度関数)をその各区間の時刻区間幅ts5〜ts7とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ5に登録する。
【0119】
また、図16〜図18には、許容ジャークに従って加速度が低下している途中に目標点(s2,f2)に達する場合が示されている。具体的には、図16は、最終点(s1,f1,t1)から許容ジャークに従って加速度がa1から増加するように速度をf1から上昇させる(時刻区間ts8)が、最終点から目標点(s2,f2)までの距離(s2−s1)が小さいため、速度が許容加速度に達する前に、許容ジャークに従って加速度を低下させて速度が速度上限値f2に達するとともに目標点(s2,f2)に到達する(時刻区間ts9)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って各時刻区間毎の速度曲線(速度関数)をその各区間の時刻区間幅ts8,ts9とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ5に登録する。また、図17は、最終点(s1,f1,t1)から許容ジャークに従って加速度がa1から許容加速度まで増加するように速度をf1から上昇させ(時刻区間ts10)、その後、許容加速度に等しい加速度で速度が上昇し(時刻区間ts11)、その後、速度が速度上限値f2を超えないように許容ジャークに従って加速度を低下させている途中で目標点(s2,f2)に到達する(時刻区間ts12)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って各時刻区間毎の速度曲線(速度関数)をその各区間の時刻区間幅ts10〜ts12とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ5に登録する。また、図18は、最終点(s1,f1,t1)から目標点(s2,f2)までが非常に近いとともにその最終点における速度f1と速度上限値f2とが非常に近く、且つ、最終点における加速度a1が大きいため、その最終点から許容ジャークに従って加速度をa1から低下させながら速度がf1から上昇して速度上限値f2に達するとともに目標点(s2,f2)に到達する(時刻区間ts13)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って時刻区間幅ts13とともにその区間の速度曲線(速度関数)を算出し、その算出した速度曲線を時刻区間ts13とともにメモリ5に登録する。
【0120】
また、図19には、媒介変数sが目標点に対応する値s2に達しても速度上限値f2まで速度を上げることができない場合が示されている。媒介変数時間関数導出部18は、速度曲線を算出していてこのような場合に該当する場合には、その算出した速度曲線をメモリ5に登録しない。
【0121】
また、図20には、最終点(s1,f1,t1)における速度f1と速度上限値f2が非常に接近しているとともにその最終点における加速度a1が比較的大きいため、最終点(s1,f1,t1)から許容ジャークに従って加速度を低下させても速度が速度上限値f2を超えてしまう場合が示されている。媒介変数時間関数導出部18は、速度曲線の算出に際してこのような場合に該当する場合には、1つ前にメモリ5に登録された速度曲線のデータを取り消すとともに、さらにその1つ前にメモリ5に登録された速度曲線の最終点から今回の目標点に至り、且つ、速度が今回の目標点に対応する速度上限値に達し得るような速度曲線を求めるための再計算を行う。この場合の再計算の方法は、上記各場合と同様である。
【0122】
そして、媒介変数時間関数導出部18は、上記のような速度曲線の算出と登録を順次行う。媒介変数時間関数導出部18は、求めた速度曲線をメモリ5に登録する際、併せて、目標点に到達時の時刻t2及び加速度a2をメモリ5に登録しておき、次の目標点を設定して速度曲線を算出するときには、その登録した時刻t2を最終点における時刻t1として用いるとともにその登録した加速度a2を最終点における加速度a1として用いて次の速度曲線を算出する。このように最終点における速度に対して次の目標点に対応する速度上限値が小さくなるまで求めた速度曲線によって、加減速曲線のうち加速領域の速度曲線が得られる。
【0123】
次に、媒介変数時間関数導出部18は、加減速曲線のうちの減速領域についてパスの終点側から始点側へ向かって上記と同様の速度曲線の算出と登録を順次行い、それによってその減速領域の速度曲線を求める。そして、媒介変数時間関数導出部18は、求めた加速領域の速度曲線の終点と減速領域の速度曲線の始点を繋ぎ合わせることによって加減速曲線ds(T)/dTを求める。そして、媒介変数時間関数導出部18は、その求めた加減速曲線ds(T)/dTを基準時刻Tで積分することにより媒介変数時間関数s(T)を算出する。
【0124】
次に、パルス補間部22による基準時刻Tの導出及びパルス補間と、制御部24による各移送部102c,106b,108b,110bへのパルス出力が行われる(ステップS6)。
【0125】
このステップS6の詳細なプロセスは、図5及び図6のフローチャートに示されている。このプロセスでは、まず、パルス補間部22は、基準時刻Tが上記ステップS5で求められた媒介変数時間関数の始点となる時刻に合うように当該基準時刻Tを初期セットするとともに、実時刻の単位時間に対する基準時刻の単位時間(基準単位時間)の割合の変化を示す加減速関数g(t)を1.0(定数)に設定し、同時に、後述する所要時間timeを−1にセットする(図5のステップS52)。
【0126】
次に、パルス補間部22は、初期セットした基準時刻Tに対応する局部補間後ツールパス上のワーク座標系における位置を求める(ステップS54)。具体的には、パルス補間部22は、初期セットした基準時刻Tに対応する媒介変数sを上記媒介変数時間関数s(T)から求め、その求めた媒介変数sと局部補間後ツールパスからその媒介変数sに対応する局部補間後ツールパス上のワーク座標系における位置を求める。
【0127】
次に、パルス補間部22は、求めた局部補間後ツールパス上のワーク座標系における位置に対応する各移送軸毎の位置座標newp[]を求める(ステップS56)。
【0128】
次に、パルス補間部22は、実時刻の単位時間の経過数をカウントするカウンタ(以後、実時刻カウンタという)のカウント数tを0に初期セットし(ステップS58)、前記ステップS56で求めた各移送軸毎の位置座標newp[]を旧座標oldp[]とする(ステップS60)。
【0129】
次に、パルス補間部22は、このときの実時刻カウンタのカウント数tに対応する加減速関数g(t)の値を基準単位時間dTとして導出するとともに、このときの加減速関数g(t)のtによる一次微分値を基準単位時間dTの変化率dGとして導出する(ステップS62)。
【0130】
次に、パルス補間部22は、上記ステップS52で初期セットした基準時刻TにステップS62で得た基準単位時間dTを加算して新たな基準時刻Tを求める(ステップS64)。
【0131】
次に、パルス補間部22は、新たな基準時刻Tに対応する局部補間後ツールパス上の位置を上記ステップS54と同様にして求める(ステップS66)。
【0132】
次に、パルス補間部22は、求めた局部補間後ツールパス上の位置に対応する各移送軸毎の位置座標newp[]を求める(ステップS68)。
【0133】
その後、パルス補間部22は、指令パルスを算出する(ステップS70)。具体的には、パルス補間部22は、ステップS68で求めた各移送軸毎の位置座標newp[]から上記ステップS60で設定された各移送軸毎の旧座標oldp[]の対応するものを差し引くことによって、基準単位時間dT当たりの各移送軸における位置座標の変化量、すなわち各移送軸に対応する支持体102b,106a,108a,110aの基準単位時間dT当たりの移送量を求め、その求めた移送量を実時刻の単位時間毎(前記特定周期毎)の指令パルスとする。
【0134】
その後、制御部24が、パルス補間部22によって求められた前記特定周期当たりの指令パルスを各移送部102c,106b,108b,110bのサーボモータへ出力する(ステップS72)。これにより、各移送部102c,106b,108b,110bは、対応する支持体102b,106a,108a,110aを対応する移送軸方向へ制御部24から送られてくる指令パルスが示す移送量だけ特定周期当たりに移送する。
【0135】
次に、パルス補間部22は、停止要求があるか判断する(図6のステップS74)。具体的には、監視部10は、停止信号発信部124bからの緊急停止信号の発信の有無を監視しており、停止信号発信部124bから緊急停止信号が発信された場合には、停止要求を出力し、停止信号発信部124bから緊急停止信号が発信されていない場合には、停止要求を出力しない。パルス補間部22は、この監視部10からの停止要求があるかないかを判断する。
【0136】
ここで、パルス補間部22は、停止要求がないと判断した場合には、次に、速度変更要求があるか判断する(ステップS76)。具体的には、監視部10は、速度変更信号発信部128bからの速度変更信号の発信の有無を監視しており、速度変更信号発信部128bから速度変更信号が発信された場合には、速度変更要求を出力し、速度変更信号発信部128bから速度変更信号が発信されていない場合には、速度変更要求を出力しない。パルス補間部22は、この監視部10からの速度変更要求があるかないかを判断する。
【0137】
ここで、パルス補間部22は、速度変更要求がないと判断した場合には、次に、現在の実時刻カウンタのカウント数tが所要時間time以下であるか否かを判断する(ステップS78)。パルス補間部22は、現在の実時刻カウンタのカウント数tが所要時間time以下であると判断した場合には、次に、現在の実時刻カウンタのカウント数tが所要時間timeに等しいか否かを判断する(ステップS80)。ここで、パルス補間部22は、現在の実時刻カウンタのカウント数tが所要時間timeに等しいと判断した場合には、現在のオーバーライド係数、すなわち基準単位時間dTが目標のオーバーライド係数kaに到達したものとし、次に、その到達した目標オーバーライド係数kaが0よりも大きいか否かを判断する(ステップS82)。パルス補間部22は、到達した目標オーバーライド係数kaが0よりも大きいと判断した場合には、加減速関数g(t)をその到達した目標オーバーライド係数kaに等しい値(一定値)に設定するとともに、所要時間timeを−1にセットし(ステップS84)、その後、実時刻カウンタのカウント数tを+1だけカウントアップする(ステップS86)。
【0138】
次に、パルス補間部22は、シャットダウンの処理を行うか否かを判断する(ステップS88)。ここで、パルス補間部22がシャットダウンの処理を行うと判断した場合には、シャットダウンの処理が実行されて本実施形態の数値制御プロセスは終了し、パルス補間部22がシャットダウンを行わないと判断した場合には、上記ステップS60以降の処理が繰り返し行われる。
【0139】
なお、上記ステップS78において、パルス補間部22は、実時刻カウンタのカウント数tが所要時間timeよりも大きいと判断した場合には、次に、ステップS88のシャットダウンの判断を行う。工作機械の起動後、指令入力装置122に特別指令が入力されていない場合には、上記ステップS52でセットされた所要時間time=−1が維持されているため、上記ステップS78の判断では、パルス補間部22は、現在の実時刻カウンタのカウント数tが所要時間timeよりも大きいと判断する。従って、この場合、パルス補間部22は、ステップS78の次に、上記ステップS88のシャットダウンの判断を行う。また、上記ステップS80において、パルス補間部22は、実時刻カウンタのカウント数tが所要時間timeに等しくないと判断した場合には、次に、ステップS86の実時刻カウンタのカウント数tのカウントアップを行い、その後、ステップS88のシャットダウンの判断を行う。
【0140】
上記ステップS88の後、再度行われるステップS60では、パルス補間部22は、上記ステップS68で求めた各移送軸毎の位置座標newp[]を旧座標oldp[]に設定し、その後のステップS62では、その時点での実時刻カウンタのカウント数tに対応する加減速関数g(t)の値を基準単位時間dTとして導出するとともに、その時点での加減速関数g(t)のtによる一次微分値を基準単位時間dTの変化率dGとして導出する。
【0141】
一方、上記ステップS74の判断において、パルス補間部22は、停止要求があると判断した場合には、その時点における基準単位時間dTを再始動オーバーライド係数kφとしてメモリ5に記憶させるとともに、目標オーバーライド係数kaを0にセットする(ステップS90)。その後、パルス補間部22は、現在の基準単位時間dTを目標オーバーライド係数kaに等しい単位時間に変化させるとともにそれに伴って現在の基準単位時間dTの変化率dGが0に変化するまでの加減速関数g(t)と、そのdT及びdGの変化に要する所要時間timeとを算出する(ステップS92)。ここでは、目標オーバーライド係数kaが0にセットされているので、パルス補間部22は、現在の基準単位時間dTを0に低下させるまでの加減速関数g(t)とその基準単位時間dTを0に低下させるまでに要する所要時間timeとを求める。その後、パルス補間部22は、実時刻カウンタのカウント数tを0にリセットし(ステップS58)、続いて、ステップS60〜S88の処理が繰り返し行われる。このときのステップS62では、パルス補間部22は、基準単位時間dTをステップS92で求めた加減速関数g(t)から求める。このようにして、基準単位時間dTがステップS92で求められた加減速関数g(t)及び所要時間timeに応じて0まで変化し、それに伴って、指令パルスが指示する各移送軸毎の移送量が0まで変化する。その結果、各移送部102c,106b,108b,110bによる支持体102b,106a,108a,110aの移送の緊急停止(移送対象物の緊急停止)が実行される。
【0142】
また、上記ステップS76の判断において、パルス補間部22は、監視部10からの速度変更要求があると判断した場合には、目標オーバーライド係数kaを速度変更要求に含まれる要求オーバーライド係数krと等しい値にセットする(ステップS94)。その後、パルス補間部22は、現在の基準単位時間dTを目標オーバーライド係数ka(要求オーバーライド係数kr)に等しい単位時間に変化させるとともにそれに伴って現在の基準単位時間dTの変化率dGが0に変化するまでの加減速関数g(t)と、そのdT及びdGの変化に要する所要時間timeとを求める(ステップS92)。その後、パルス補間部22は、実時刻カウンタのカウント数tを0にリセットし(ステップS58)、続いて、ステップS60〜S88の処理が繰り返し行われる。このときのステップS62では、パルス補間部22は、基準単位時間dTを、ステップS92で求めた、基準単位時間dTを要求オーバーライド係数krに等しい単位時間に変化させる加減速関数g(t)から求める。このようにして、基準単位時間dTが加減速関数g(t)及び所要時間timeに応じて要求オーバーライド係数krに等しい単位時間まで変化し、それに応じて、指令パルスが指示する各移送軸毎の移送量が変化する。その結果、各移送部102c,106b,108b,110bによる支持体102b,106a,108a,110aの移送速度の変更(移送対象物の移動速度の変更)が実行される。
【0143】
また、上記ステップS82において、パルス補間部22は、到達した目標オーバーライド係数kaが0よりも大きくない、すなわち到達した目標オーバーライド係数kaが0であると判断した場合には、次に、シャットダウンの処理を行うか否かを判断する(ステップS96)。なお、到達した目標オーバーライド係数kaが0である状態とは、基準単位時間dTが0となり、各移送部102c,106b,108b,110bのサーボモータが駆動停止して移送対象物が移動停止している状態である。ここで、パルス補間部22がシャットダウンの処理を行うと判断した場合には、シャットダウンの処理が実行されて本実施形態の数値制御プロセスは終了する。一方、パルス補間部22がシャットダウン処理は行わないと判断した場合には、次に、パルス補間部22は、再始動要求があるか判断する(ステップS98)。具体的には、監視部10は、再始動信号発信部126bからの再始動信号の発信の有無を監視しており、再始動信号発信部126bから再始動信号が発信された場合には、再始動要求を出力し、再始動信号発信部126bから再始動信号が発信されていない場合には、再始動要求を出力しない。パルス補間部22は、この監視部10からの再始動要求があるかないかを判断する。
【0144】
ここで、パルス補間部22は、再始動要求がないと判断した場合には、次に、上記ステップS96のシャットダウンの判断を行い、再始動要求があると判断した場合には、目標オーバーライド係数kaをメモリ5に記憶されている再始動オーバーライド係数kφと等しい値にセットする(ステップS100)。その後、パルス補間部22は、現在の基準単位時間dTを目標オーバーライド係数ka(再始動オーバーライド係数kφ)に等しい単位時間に変化させるとともにそれに伴って現在の基準単位時間dTの変化率dGが0に変化するまでの加減速関数g(t)と、そのdT及びdGの変化に要する所要時間timeとを求める(ステップS92)。その後、パルス補間部22は、実時刻カウンタのカウント数tを0にリセットし(ステップS58)、続いて、ステップS60〜S88の処理が繰り返し行われる。このときのステップS62では、パルス補間部22は、基準単位時間dTを、ステップS92で求めた、基準単位時間dTを再始動オーバーライド係数kφに等しい単位時間に変化させる加減速関数g(t)から求める。このようにして、基準単位時間dTが加減速関数g(t)及び所要時間timeに応じて0から再始動オーバーライド係数kφに等しい単位時間まで変化し、それに応じて、指令パルスが指示する各移送軸毎の移送量が変化する。その結果、各移送部102c,106b,108b,110bによる支持体102b,106a,108a,110aの移送が再開され、移送対象物が再始動する。
【0145】
以上のようにして、本実施形態の数値制御装置2による制御プロセスが行われる。
【0146】
以上説明したように、本実施形態では、1回のパルス補間で各移送部102c,106b,108b,110bの動作を制御するための特定周期毎の指令パルスを求めることができ、演算処理を簡略化することができる。
【0147】
具体的には、本実施形態では、補間対象点において不連続となっている微分値の変化が連続的な変化となるようにツールパスの補間区間を局部補間する処理と、移送対象物の加速又は減速を伴う動作を指示するための特別指令の入力があった場合に基準単位時間dTの長さをその特別指令によって指示される移送対象物の速度変化に応じた長さに調整した新たな基準時刻Tを求める処理を、移送部102c,106b,108b,110bによる支持体102b,106a,108a,110aの移送を制御するための指令パルスを求めるパルス補間処理の前に行うため、ツールパスの局部補間処理及び新たな基準時刻Tの導出処理の後、1回のパルス補間で前記指令パルスを求めることができる。その結果、本実施形態では、演算処理を簡略化することができる。
【0148】
また、本実施形態では、パス局部フィルタ16により、補間対象点の前後において一次微分の変化が不連続である場合には一次微分が連続的な変化となるように、また、補間対象点の前後において一次微分の変化が連続で二次微分の変化が不連続である場合には二次微分の変化が連続的な変化となるようにツールパスの補間区間が局部補間される。補間対象点の前後において一次微分の変化が不連続になっている場合には、その補間対象点の前後において移送対象物の速度変化が不連続になるが、本実施形態では、そのような補間対象点の前後における移送対象物の不連続な速度変化を連続的な速度変化に変えることができる。また、補間対象点の前後において二次微分の変化が不連続になっている場合には、その補間対象点の前後において移送対象物の加速度変化が不連続になるが、本実施形態では、そのような補間対象点の前後における移送対象物の不連続な加速度変化を連続的な加速度変化に変えることができる。従って、本実施形態では、ツールパスに含まれていた補間対象点としての異常データを補間してその異常データに起因する移送対象物の急激な速度変化及び急激な加速度変化を緩やかにすることができ、その結果、ツールパス中の異常データに起因する機械ショックの発生を抑制することができる。
【0149】
また、本実施形態では、前記特別指令に応じて各移送軸に共通の基準単位時間dTの長さを調整して新たな基準時刻Tを求め、その新たな基準時刻Tに基づいて各移送軸毎の特定周期当たりの移送量を示す指令パルスを求め、その指令パルスに従って移送部102c,106b,108b,110bに支持体102b,106a,108a,110aを移送させる。このため、その移送によって実施される移送対象物の移動では、元々のツールパスにおけるワーク座標系の各座標軸間の相対的な位置関係が維持される。このため、前記特別指令の入力に伴う加工形状の誤差の発生を抑制することができる。また、本実施形態では、パス局部フィルタ16によりツールパスの補間区間のみが局部補間されるため、ツールパス全体について補間処理を行う場合と異なり、補間区間以外の区間において補間処理に起因する加工形状の誤差が生じるのを防ぐことができる。
【0150】
また、本実施形態では、パス局部フィルタ16により、局部補間後ツールパスが補間区間の始点の前後及び補間区間の終点の前後でそれぞれ連続して繋がるようにツールパスの補間区間が局部補間されるため、局部補間後ツールパスに基づいたその後の各移送部102c,106b,108b,110bの動作の制御では、補間区間の始点及び終点において移送対象物を急激に動かすような各移送部102c,106b,108b,110bの動作の急変が生じるのを防ぐことができる。
【0151】
また、本実施形態では、パス局部フィルタ16が、ツールパスにおいて隣り合う補間対象点の補間区間同士が重複している場合には、それら重複する補間区間のうち最もツールパスの始点寄りに位置する補間区間の始点から最も前記ツールパスの終点寄りに位置する補間区間の終点までを1つの補間区間として、その補間区間内のツールパスを局部補間する。このため、複数の補間対象点が近接している振動のような異常データがツールパスに含まれている場合でも、それらの複数の補間対象点付近のツールパスを一度に局部補間して滑らかな曲線を示すように補間することができる。
【0152】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれる。
【0153】
例えば、本発明による数値制御装置は、上記実施形態で示したような工作機械以外の種類の工作機械にも適用することが可能である。例えば、5軸工作機械や、パラレルメカニズムを有する工作機械や、旋盤、その他の各種工作機械に本発明による数値制御装置を適用することができる。
【0154】
また、パス局部フィルタ16は、媒介変数による一次微分値の変化が連続でかつ媒介変数による二次微分値の変化が不連続になっている指令点と媒介変数による一次微分値の変化が不連続になっている指令点とのうちいずれか一方のみを補間対象点としてもよい。
【0155】
また、パス局部フィルタ16による分配区間幅及び補間区間幅の導出方法は、上記した方法に限定されるものではなく、上記方法以外の種々の導出方法により分配区間幅及び補間区間幅を求めてもよい。また、上記実施形態では、補間区間幅を分配区間幅に等しい大きさの区間幅としたが、補間区間幅はこのような区間幅に限定されない。すなわち、補間区間幅は、分配区間幅よりも大きい区間幅であってもよい。
【0156】
また、パス局部フィルタ16は、局部補間後ツールパスが補間区間の始点の前後及び補間区間の終点の前後でそれぞれ連続して繋がることに加えて、局部補間後ツールパスが当該局部補間後ツールパスの媒介変数による一次微分が補間区間の始点の前後及び補間区間の終点の前後でそれぞれ連続して変化するようなパスとなるようにツールパスの補間区間を局部補間してもよい。この場合には、パス局部フィルタ16の誤差補正部16bは、誤差補正パスを求める際、補間区間の始点における誤差補正パスの値が当該始点における誤差付き補間パスの値から当該始点におけるツールパスの値を減じて得た値に等しく、かつ、補間区間の終点における誤差補正パスの値が当該終点における誤差付き補間パスの値から当該終点におけるツールパスの値を減じて得た値に等しいという条件に加えて、その補間区間の始点における誤差付き補間パスの一次微分値から当該始点におけるツールパスの一次微分値を減じて得た値に当該始点における誤差補正パスの一次微分値が等しく、かつ、補間区間の終点における誤差付き補間パスの一次微分値から当該終点におけるツールパスの一次微分値を減じて得た値に当該終点における誤差補正パスの一次微分値が等しいという条件を満たす誤差補正パスを求める。
【0157】
そして、誤差補正部16bがこのような誤差補正パスを誤差付き補間パスから差し引くことによって求めたパスをツールパスの補間区間に置換して得た局部補間後ツールパスでは、補間区間の始点の前後及び終点の前後で一次微分が連続して変化するようなパスとなる。その結果、その局部補間後ツールパスに基づいたその後の各移送部102c,106b,108b,110bの動作の制御では、補間区間の始点の前後及び終点の前後に対応する各時点において移送対象物の移動速度が連続して変化するように各移送部102c,106b,108b,110bによる支持体102b,106a,108a,110aの移送を制御することができる。
【0158】
また、パス局部フィルタ16は、局部補間後ツールパスが補間区間の始点及び終点それぞれの前後で連続して繋がるとともに、その局部補間後ツールパスの媒介変数による一次微分が補間区間の始点及び終点のそれぞれの前後で連続して変化することに加えて、さらに、局部補間後ツールパスが当該局部補間後ツールパスの媒介変数による二次微分値が補間区間の始点の前後及び終点の前後でそれぞれ連続して変化するパスとなるようにツールパスの補間区間を局部補間してもよい。この場合には、パス局部フィルタ16の誤差補正部16bは、上記2つの条件に加えて、補間区間の始点における誤差付き補間パスの二次微分値から当該始点におけるツールパスの二次微分値を減じて得た値に当該始点における誤差補正パスの二次微分値が等しく、かつ、補間区間の終点における誤差付き補間パスの二次微分値から当該終点におけるツールパスの二次微分値を減じて得た値に当該終点における誤差補正パスの二次微分値が等しいという条件を満たす誤差補正パスを求める。
【0159】
そして、誤差補正部16bがこのような誤差補正パスを誤差付き補間パスから差し引くことによって求めたパスをツールパスの補間区間に置換して得た局部補間後ツールパスでは、補間区間の始点の前後及び終点の前後で媒介変数による一次微分と二次微分がそれぞれ連続して変化するようなパスとなる。その結果、その局部補間後ツールパスに基づいたその後の各移送部102c,106b,108b,110bの動作の制御では、補間区間の始点の前後及び終点の前後に対応する各時点において移送対象物の移動速度と加速度が共に連続して変化するように各移送部102c,106b,108b,110bによる対応する支持体102b,106a,108a,110aの移送を制御することができる。
【0160】
また、上記実施形態では、直線型の分配関数を用いてツールパスの一次微分を分配区間へ分配したが、その分配方式に限定されるものではない。すなわち、ツールパスの一次微分の分配に用いる分配関数は、上記した分配関数以外の種々の分配関数を用いてもよい。
【0161】
なお、この分配に用いる分配関数は、区間[−A/2,A/2]における積分が1となり、かつ、その区間の中央に対して左右対称の形状を示す関数が望ましい。このような分配関数の一例として、次式で表されるベル型の分配関数f(s)が挙げられる。
【0162】
【数8】

【0163】
なお、分配区間−A/2≦s≦A/2の外側では、f(s)=0である。
【0164】
このベル型の分配関数を用いた場合には、上記直線型の分配関数を用いた場合よりも補間区間をより滑らかな曲線となるように補間することができる。
【符号の説明】
【0165】
2 数値制御装置
4 記憶部
12 ツールパス導出部
16 パス局部フィルタ
16a 局部補間部
16b 誤差補正部
18 媒介変数時間関数導出部
22 パルス補間部
24 制御部
102 ワーク移送装置(移送装置)
102b ワーク支持体(支持体)
102c ワーク支持体移送部(移送部)
105 工具
106 鉛直移送装置(移送装置)
106a 鉛直支持体(支持体)
106b 鉛直支持体移送部(移送部)
108 工具第1水平移送装置(移送装置)
108a 第1水平支持体(支持体)
108b 第1水平支持体移送部(移送部)
110 工具第2水平移送装置(移送装置)
110a 第2水平支持体(支持体)
110b 第2水平支持体移送部(移送部)
122 指令入力装置
100 ワーク

【特許請求の範囲】
【請求項1】
ワーク又はそのワークを加工する工具を移送対象物としてその移送対象物を前記ワークを加工するために移送する複数の移送装置と、前記ワークの加工時における前記移送対象物の通常の移送とは別に当該移送対象物の速度変化を伴う動作を指示するための特別指令を外部から入力するための指令入力装置とを備え、前記各移送装置は、前記移送対象物を支持するための支持体と、その支持体を特定の移送軸方向に移送することにより前記移送対象物を移送する移送部とをそれぞれ有する工作機械に設けられ、前記各移送部に特定周期毎の指令パルスを出力することにより前記各移送装置の数値制御を行う数値制御装置であって、
前記工具が前記ワークの加工時に通るべき軌跡が前記ワーク上に固定されたワーク座標系における前記工具の位置座標とその工具の軌跡に沿った積算長である媒介変数との関数として表されたツールパスを含む加工プログラムを記憶する記憶部と、
前記記憶部に記憶された前記加工プログラムから前記ツールパスを求めるツールパス導出部と、
前記ツールパス導出部によって求められた前記ツールパスに含まれる複数の指令点の中で前記ツールパスの前記媒介変数による一次微分値の変化が連続でかつ前記ツールパスの前記媒介変数による二次微分値の変化が不連続になっている指令点と前記ツールパスの前記媒介変数による一次微分値の変化が不連続になっている指令点とのうち少なくとも一方の指令点を補間対象点とし、前記ツールパスのうち前記補間対象点の前後に亘り、特定の区間幅を有する補間区間のみを当該補間対象点において不連続となっている微分値の変化が連続的な変化となるように局部補間するパス局部フィルタと、
前記移送対象物の加減速条件と前記パス局部フィルタによって局部補間された後のツールパスである局部補間後ツールパスとに基づいて、基準時刻の経過に対する前記媒介変数の変化を表す媒介変数時間関数を求める媒介変数時間関数導出部と、
前記工作機械の起動後、前記指令入力装置に前記特別指令が入力されない場合には前記特定周期と等しい基準単位時間毎に進行する基準時刻を導出し、前記指令入力装置に前記移送対象物の減速を指示する前記特別指令が入力された場合にはその特別指令が指示する減速に応じた度合いで前記基準単位時間が短くなるように調整した基準時刻を導出し、前記指令入力装置に前記移送対象物の増速を指示する前記特別指令が入力された場合にはその特別指令が指示する増速に応じた度合いで前記基準単位時間が長くなるように調整した基準時刻を導出し、前記媒介変数時間関数からこの導出した基準時刻の基準単位時間毎の各時点に対応する前記媒介変数を求めるとともに、その求めた各時点での媒介変数に対応する前記ワーク座標系での前記局部補間後ツールパス上の位置座標を求め、その求めた各時点での位置座標から前記各移送部に対応する前記各移送軸における位置座標を求め、その求めた前記各移送軸における位置座標から前記導出した基準時刻の基準単位時間毎の前記各移送軸方向への前記支持体の移送量を求めてその基準単位時間毎の移送量を前記特定周期毎の前記指令パルスとするパルス補間部と、
前記パルス補間部によって求められた前記特定周期毎の前記指令パルスに応じて前記各移送部に対応する前記支持体を移送させる制御部とを備える、数値制御装置。
【請求項2】
前記パス局部フィルタは、前記局部補間後ツールパスが前記補間区間の始点の前後及び前記補間区間の終点の前後でそれぞれ連続して繋がるように前記ツールパスの前記補間区間を局部補間する、請求項1に記載の数値制御装置。
【請求項3】
前記パス局部フィルタは、前記局部補間後ツールパスが当該局部補間後ツールパスの前記媒介変数による一次微分が前記補間区間の始点の前後及び前記補間区間の終点の前後でそれぞれ連続して変化するようなパスとなるように前記ツールパスの前記補間区間を局部補間する、請求項2に記載の数値制御装置。
【請求項4】
前記パス局部フィルタは、前記局部補間後ツールパスが当該局部補間後ツールパスの前記媒介変数による二次微分が前記補間区間の始点の前後及び前記補間区間の終点の前後でそれぞれ連続して変化するようなパスとなるように前記ツールパスの前記補間区間を局部補間する、請求項3に記載の数値制御装置。
【請求項5】
前記パス局部フィルタは、前記補間区間を前後に特定の区間幅ずつ拡大した区間を調整区間として設定し、前記ツールパスのうち隣り合う前記指令点間の部位を補間ブロックとしてそのツールパスから前記調整区間に少なくとも一部が含まれる複数の補間ブロックを選択し、その選択した複数の補間ブロックのそれぞれについて補間処理を行うことによってその補間処理後の各補間ブロックを示す補間後関数を求め、その求めた各補間ブロックの補間後関数を積算することによって補間後積算関数を求め、その補間後積算関数のうち前記補間区間に相当する区間を抜き出すことによって、前記補間区間内の前記補間対象点において不連続となっている微分の変化が連続的な変化となるように補間した誤差付き補間パスを求める局部補間部と、その局部補間部によって求められた前記誤差付き補間パスの前記補間区間の始点に対応する値が局部補間していない前記ツールパスの前記補間区間の始点の値と一致し、かつ、その誤差付き補間パスの前記補間区間の終点に対応する値が局部補間していない前記ツールパスの前記補間区間の終点の値に一致するように当該誤差付き補間パスを補正し、その補正後の補間パスを前記ツールパスの前記補間区間と置換する誤差補正部とを含み、
前記局部補間部は、前記補間ブロック内の前記媒介変数が異なる各第1位置を中央とし且つ特定の区間幅を有する積分区間を設定し、その設定した積分区間内の前記媒介変数が異なる各第2位置での前記ツールパスの前記媒介変数による一次微分を求め、その各第2位置での一次微分を対応する第2位置を中央とし且つ前記積分区間と等しい区間幅を有する分配区間内に特定の分配関数に基づいて分配した場合に得られる分配後微分関数を前記積分区間にわたって積分し、それによって前記補間後関数を求める、請求項2〜4のいずれか1項に記載の数値制御装置。
【請求項6】
前記パス局部フィルタは、前記ツールパスに前記補間対象点が複数存在し、隣り合う前記補間対象点の前記補間区間同士が重複している場合には、それら重複する補間区間のうち最も前記ツールパスの始点寄りに位置する補間区間の始点から最も前記ツールパスの終点寄りに位置する補間区間の終点までを1つの補間区間として、その補間区間内の前記ツールパスを局部補間する、請求項1〜5のいずれか1項に記載の数値制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−30103(P2013−30103A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2011−167231(P2011−167231)
【出願日】平成23年7月29日(2011.7.29)
【出願人】(000191180)新日本工機株式会社 (51)
【Fターム(参考)】