(57)【特許請求の範囲】
【請求項１】
ワーク又はそのワークを加工する工具を対象物としてその対象物を前記ワークを加工するために移送する複数の移送装置を備え、前記各移送装置は、前記対象物を支持するための支持体と、その支持体を特定の機械軸方向に移送することにより前記対象物を移送する移送部とをそれぞれ有する工作機械に設けられ、前記各移送装置の数値制御を行う数値制御装置であって、
前記ワークの加工時における前記工具の移動軌跡を表す加工指令に基づいて、前記各支持体を移送すべき前記各機械軸方向の位置を所定の設定時刻の関数として表す基準機械軸パスを導出する基準機械軸パス導出部と、
前記基準機械軸パス導出部によって導出された前記各機械軸方向についての前記基準機械軸パスに特定の変換処理を行うことによって前記各機械軸方向についての変換後機械軸パスを導出するパス変換部と、
前記パス変換部によって導出された前記各機械軸方向についての前記変換後機械軸パスに対して当該変換後機械軸パスから得られる前記各支持体の移送速度の変化を緩和するための加減速処理を行う加減速処理部と、
前記加減速処理部によって加減速処理された後の機械軸パスである処理後機械軸パスから前記各機械軸方向における所定の設定サイクルタイム当たりの前記各支持体の移送量をそれぞれ導出する移送量導出部と、
前記移送量導出部によって導出された前記移送量に応じて前記各移送部に対応する前記支持体を移送させる移送制御部とを備え、
前記パス変換部が行う前記特定の変換処理には、前記基準機械軸パスに対して前記加減速処理部による前記加減速処理と同じ処理を行った場合に得られる機械軸パスと前記基準機械軸パスとの誤差に相当する補正量を前記各機械軸方向毎に算出し、その算出した前記各機械軸方向毎の補正量で前記誤差を相殺する方向に前記各機械軸方向についての前記基準機械軸パスを補正した前記変換後機械軸パスを算出する演算処理が含まれる、数値制御装置。
【請求項２】
前記加減速処理部は、前記加減速処理として、前記設定時刻をｔとし、当該加減速処理を行う対象の前記変換後機械軸パスの前記機械軸方向について設定された時定数の半分の値をａとし、ｔ−ａからｔ＋ａに亘る区間内の各設定時刻Ｔにおける前記変換後機械軸パスの一次微分関数である速度関数をＰＢ’（Ｔ）とし、次式（１）を満たし、前記速度関数ＰＢ’（Ｔ）を分配するための特定の分配形式を表す分配関数をｆ（Ｔ）とした場合に、前記処理後機械軸パスの一次微分関数である速度関数ＱＢ’（ｔ）を次式（２）に基づいて算出し、その算出した速度関数ＱＢ’（ｔ）を積分することによって、前記処理後機械軸パスＱＢ（ｔ）を算出する演算処理を行う、請求項１に記載の数値制御装置。
【数１】
0005399537.tif 000029
【数２】
0005399537.tif 000030
【請求項３】
前記パス変換部は、前記加減速処理と同じ処理として、前記ｔ−ａから前記ｔ＋ａに亘る区間内の各設定時刻Ｔにおける前記基準機械軸パスの一次微分関数である速度関数をＰＡ’（Ｔ）とした場合に、前記加減速処理と同じ処理を行った後の機械軸パスの一次微分関数である速度関数ＱＡ’（ｔ）を次式（３）に基づいて算出し、その算出した速度関数ＱＡ’（ｔ）を積分することによって、前記加減速処理と同じ処理を行った後の機械軸パスＱＡ（ｔ）を算出する演算処理を行う、請求項２に記載の数値制御装置。
【数３】
0005399537.tif 000031
【請求項４】
前記基準機械軸パス導出部は、前記設定時刻の調整を行った上で前記基準機械軸パスを導出する時刻調整部を有し、当該時刻調整部は、時刻調整前の設定時刻をｔとし、時刻調整後の設定時刻をｔｊ（ｔ）とし、時刻調整を行う対象の機械軸方向の時定数をＴｊとし、前記対象物の移送開始の始点の時刻をｔ＝０とし、前記対象物の移送停止の終点の時刻をｔ＝ｔｅとし、前記式（１）を満たし、前記特定の分配形式を表す前記分配関数をｆ（Ｔ）とした場合に、次式に基づいて時刻調整を行う、請求項２又は３に記載の数値制御装置。
【数４】
0005399537.tif 000032
【請求項５】
前記工作機械は、前記ワークの加工時における前記対象物の通常の移送とは別に当該対象物の速度変化を伴う動作を指示するための特別指令を外部から入力するための特別指令入力装置を備えており、
前記移送量導出部は、前記特別指令入力装置に前記特別指令が入力されたことに応じて、前記設定サイクルタイムの長さをその特別指令の入力直前の状態における長さからその特別指令が指示する前記対象物の速度変化に応じた長さに変化させ、その長さを変化させた後の設定サイクルタイム当たりの前記各支持体の対応する前記機械軸方向への移送量を前記処理後機械軸パスから導出する、請求項１〜４のいずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種工作機械に用いられる数値制御装置に関するものである。
【背景技術】
【０００２】
従来、各種工作機械では、ワークやそのワークを加工するための工具を移送する移送装置を加工指令（ＮＣプログラム）に従って数値制御することによりワークの加工が行われている。下記特許文献１には、そのような移送装置の数値制御を行う数値制御装置が開示されている。
【０００３】
特許文献１に示された数値制御装置では、加工プログラムからワーク上に固定された座標系における工具の位置座標の変化を媒介変数の関数として表すツールパスを求めるとともに、そのツールパスから移送装置の各駆動軸毎の駆動軸パスを求め、その求めた各駆動軸毎の駆動軸パスに基づいて当該各駆動軸における基準単位時間（サイクルタイム）毎の移動量を示す指令パルスを求め、その求めた指令パルスを各駆動軸に対応する移送装置のモータへ出力することにより各移送装置の制御を行っている。また、この数値制御装置では、駆動軸パスに対してブロック滑らか補間とコーナー滑らか補間とを行い、それらの滑らか補間後の駆動軸パスからパルス補間により前記指令パルスを求めている。なお、前記ブロック滑らか補間は、多数の指令点を直線で結んだ形状の駆動軸パスを滑らかな曲線に補間し、前記コーナー滑らか補間は、駆動軸パスのうち所定の指令点においてその前後で位置座標の変化量が大きく変化しているようなコーナー部を滑らかに曲がるコーナーとすべく当該コーナー部を補間するものである。
【０００４】
しかし、この特許文献１に記載の技術では、位置座標の変化量が微小な間隔で繰り返し急変しているような思わぬ異常データ（ノイズ等）が駆動軸パスに含まれている場合には、その異常データの部分を滑らかに補間することは困難である。そして、駆動軸パスにこのような異常データが含まれており、その駆動軸パスに従って移送装置が制御された場合には、移送装置の動作が当該異常データに対応する部分で急変し、加工機械に機械ショックが発生する。このため、駆動軸パス中の異常データを補正することが重要な課題となる。
【０００５】
そこで、下記特許文献２には、このような課題を解決することが可能な数値制御装置が示されている。
【０００６】
この特許文献２の数値制御装置では、機械ショックの要因となる異常データを補正することが可能な補間後加減速処理を行っている。具体的には、この数値制御装置では、加工プログラムを実行形式に変換したパスを補間処理（パルス補間）することによって各駆動軸毎のサーボモータに出力する移動指令を求め、その求めた移動指令に対して加減速処理を行っている。この補間後加減速処理によれば、駆動軸パス中の異常データに対応する部分がパルス補間によって得られた移動指令中に含まれていても、その移動指令中の前記異常データに対応する部分を補正することができ、機械ショックの発生を抑制することが可能である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２２５８２５号公報
【特許文献２】特開２０１０−１４０３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献２に示されている補間後加減速処理には、上記のように、異常データに起因する機械ショックの発生を抑制できるという効果があるが、その反面、ワークの加工形状の誤差を生じさせるという欠点がある。
【０００９】
具体的には、特許文献２に示されている補間後加減速では、移動指令のうち加減速処理を適用する部分を限定していないため、加減速処理が移動指令のうち異常データに対応する部分以外の部分にも適用され得る。例えば、移動指令のうち加工プログラムにおいて実際に工具又はワークの加速又は減速を指示する部分と対応している部分に当該加減速処理が行われると、その部分に基づいて実施される工具又はワークの加速又は減速が緩和され、その結果、実際に加工されたワークの形状に加工プログラムが指示する加工形状に対する誤差が発生する。このため、このような補間後加減速処理に伴う加工形状の誤差を低減することが求められている。
【００１０】
本発明は、上記の課題を解決するためになされたものであり、機械軸パス中の異常データに起因する機械ショックの発生を抑制しつつ、ワークの加工形状の誤差を抑制することが可能な数値制御装置を提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明による数値制御装置は、ワーク又はそのワークを加工する工具を対象物としてその対象物を前記ワークを加工するために移送する複数の移送装置を備え、前記各移送装置は、前記対象物を支持するための支持体と、その支持体を特定の機械軸方向に移送することにより前記対象物を移送する移送部とをそれぞれ有する工作機械に設けられ、前記各移送装置の数値制御を行う数値制御装置であって、前記ワークの加工時における前記工具の移動軌跡を表す加工指令に基づいて、前記各支持体を移送すべき前記各機械軸方向の位置を所定の設定時刻の関数として表す基準機械軸パスを導出する基準機械軸パス導出部と、前記基準機械軸パス導出部によって導出された前記各機械軸方向についての前記基準機械軸パスに特定の変換処理を行うことによって前記各機械軸方向についての変換後機械軸パスを導出するパス変換部と、前記パス変換部によって導出された前記各機械軸方向についての前記変換後機械軸パスに対して当該変換後機械軸パスから得られる前記各支持体の移送速度の変化を緩和するための加減速処理を行う加減速処理部と、前記加減速処理部によって加減速処理された後の機械軸パスである処理後機械軸パスから前記各機械軸方向における所定の設定サイクルタイム当たりの前記各支持体の移送量をそれぞれ導出する移送量導出部と、前記移送量導出部によって導出された前記移送量に応じて前記各移送部に対応する前記支持体を移送させる移送制御部とを備え、前記パス変換部が行う前記特定の変換処理には、前記基準機械軸パスに対して前記加減速処理部による前記加減速処理と同じ処理を行った場合に得られる機械軸パスと前記基準機械軸パスとの誤差に相当する補正量を前記各機械軸方向毎に算出し、その算出した前記各機械軸方向毎の補正量で前記誤差を相殺する方向に前記各機械軸方向についての前記基準機械軸パスを補正した前記変換後機械軸パスを算出する演算処理が含まれる。
【００１２】
この数値制御装置では、加減速処理部が、パス変換部によって算出された各機械軸方向についての変換後機械軸パスに対して当該変換後機械軸パスから得られる各支持体の移送速度の変化を緩和するための加減速処理を行うため、機械軸パスに機械ショックの要因となる異常データが含まれていても、その異常データを前記加減速処理により機械ショックを引き起こさない緩やかな速度変化を示すように修正することができる。さらに、この数値制御装置では、パス変換部が、基準機械軸パスに対して加減速処理部による加減速処理と同じ処理を行った場合に得られる機械軸パスと基準機械軸パスとの誤差に相当する補正量を各機械軸方向毎に算出し、その算出した各機械軸方向毎の補正量で前記誤差を相殺する方向に各機械軸方向についての基準機械軸パスを補正した変換後機械軸パスを算出する演算処理を行うため、変換後機械軸パスは、加減速処理部による加減速処理によって生じる各機械軸方向毎の誤差を予め見込んでその誤差を相殺する方向に補正した機械軸パスとなる。このため、加減速処理部が変換後機械軸パスに対して加減速処理を行ったときには、その加減速処理によって生じる全ての機械軸方向についての誤差を抑制することができ、その結果、当該加減速処理によって生じるワークの加工形状の誤差を抑制することができる。
【００１３】
上記数値制御装置において、前記加減速処理部は、前記加減速処理として、前記設定時刻をｔとし、当該加減速処理を行う対象の前記変換後機械軸パスの前記機械軸方向について設定された時定数の半分の値をａとし、ｔ−ａからｔ＋ａに亘る区間内の各設定時刻Ｔにおける前記変換後機械軸パスの一次微分関数である速度関数をＰＢ’（Ｔ）とし、次式（１）を満たし、前記速度関数ＰＢ’（Ｔ）を分配するための特定の分配形式を表す分配関数をｆ（Ｔ）とした場合に、前記処理後機械軸パスの一次微分関数である速度関数ＱＢ’（ｔ）を次式（２）に基づいて算出し、その算出した速度関数ＱＢ’（ｔ）を積分することによって、前記処理後機械軸パスＱＢ（ｔ）を算出する演算処理を行うことが好ましい。
【００１４】
【数１】
0005399537.tif 000002
【００１５】
【数２】
0005399537.tif 000003
【００１６】
この構成によれば、処理後機械軸パスＱＢ（ｔ）において、加減速処理前の変換後機械軸パスから設定時刻の遅れが生じるのを防ぐことができる。具体的には、仮に、加減速処理部が、変換後機械軸パスのある区間中の各設定時刻における速度をその時刻以降の時定数に相当する区間幅を有する分配区間内にそれぞれ分配し、その分配した各分配値を積分して速度関数を算出し、その算出した速度関数をさらに積分するような算出式に従って、変換後機械軸パスの加減速処理を行う場合には、処理後機械軸パスにおける設定時刻が上記速度の分配形式に起因して変換後機械軸パスにおける設定時刻に対して遅れる。これに対して、本構成では、上記式（１）を満たす分配関数により、ｔ−ａからｔ＋ａに亘る区間内の各設定時刻Ｔにおける速度関数ＰＢ’（Ｔ）をその各設定時刻Ｔを中心として前後に均等に広がるＴ−ａからＴ＋ａまでの分配区間内にそれぞれ分配するため、その分配区間内に分配した速度関数ＰＢ’（Ｔ）の分配値ＰＢ’（Ｔ）・ｆ（ｔ−Ｔ）を上記式（２）に従って積分して速度関数ＱＢ’（ｔ）を算出し、その算出した速度関数ＱＢ’（ｔ）をさらに積分することによって算出した処理後機械軸パスＱＢ（ｔ）では、上記のような速度の分配形式に起因した設定時刻の遅れが生じるのを防ぐことができる。
【００１７】
この場合において、前記パス変換部は、前記加減速処理と同じ処理として、前記ｔ−ａから前記ｔ＋ａに亘る区間内の各設定時刻Ｔにおける前記基準機械軸パスの一次微分関数である速度関数をＰＡ’（Ｔ）とした場合に、前記加減速処理と同じ処理を行った後の機械軸パスの一次微分関数である速度関数ＱＡ’（ｔ）を次式（３）に基づいて算出し、その算出した速度関数ＱＡ’（ｔ）を積分することによって、前記加減速処理と同じ処理を行った後の機械軸パスＱＡ（ｔ）を算出する演算処理を行うことが好ましい。
【００１８】
【数３】
0005399537.tif 000004
【００１９】
この構成によれば、パス変換部が加減速処理部による加減速処理と同じ処理を行った場合に得られる機械軸パスと基準機械軸パスとの誤差に相当する補正量を算出するときに、前記加減速処理と同じ処理後の機械軸パスと基準機械軸パスとの間で互いに減算する点同士の設定時刻の対応付けを簡略化しつつ、前記加減速処理と同じ処理における速度の分配形式に起因して生じる位相誤差の要素を前記補正量から排除することができる。具体的には、仮に、パス変換部が、前記加減速処理と同じ処理において、基準機械軸パスのある区間中の各設定時刻における速度をその時刻以降の時定数に相当する区間幅を有する分配区間内にそれぞれ分配し、その分配した各分配値を積分して速度関数を算出し、その算出した速度関数をさらに積分するような算出式に従って、当該処理後の機械軸パスを算出する場合には、当該処理後の機械軸パスにおける設定時刻は基準機械軸パスにおける設定時刻に対して遅れるため、この設定時刻の遅れを考慮せずに処理後の機械軸パスから基準機械軸パスを減算してそれら両機械軸パス間の誤差に相当する補正量を求めると、その補正量の中に位相誤差が含まれることになる。このような場合に、補正量から位相誤差の要素を排除しようとすると、上記の速度の分配形式に起因して生じる前記処理後の機械軸パスと基準機械軸パスとの間の設定時刻の遅れを解消するための対応付け（時刻調整）を行った上で、前記処理後の機械軸パスと基準機械軸パスとの誤差を求める必要があり、その対応付けの処理が煩雑である。これに対して、本構成では、上記式（３）に基づいて前記処理後の機械軸パスの速度関数ＱＡ’（ｔ）を算出し、その算出した速度関数ＱＡ’（ｔ）を積分することによって処理後の機械軸パスＱＡ（ｔ）を算出するため、上記式（３）中の分配関数によれば、等速での移送を指示する区間において基準機械軸パスの速度関数ＰＡ’（Ｔ）の分配形式に起因した設定時刻の遅れが生じるのを防ぐことができ、その結果、前記処理後の機械軸パスＱＡ（ｔ）では、等速での移送を指示する区間において基準機械軸パスとの間で同一時刻ｔでの座標値が一致する。このため、処理後の機械軸パスＱＡ（ｔ）と基準機械軸パスとの誤差に相当する補正量を算出するときに、それら両機械軸パス間で互いに減算する点同士の設定時刻の対応付けを簡略化しつつ、補正量から基準機械軸パスの速度の分配形式に起因する位相誤差の要素を排除することができる。
【００２０】
上記加減速処理部が加減速処理として処理後機械軸パスＱＢ（Ｔ）を算出する演算処理を行う構成において、前記基準機械軸パス導出部は、前記設定時刻の調整を行った上で前記基準機械軸パスを導出する時刻調整部を有し、当該時刻調整部は、時刻調整前の設定時刻をｔとし、時刻調整後の設定時刻をｔｊ（ｔ）とし、時刻調整を行う対象の機械軸方向の時定数をＴｊとし、前記対象物の移送開始の始点の時刻をｔ＝０とし、前記対象物の移送停止の終点の時刻をｔ＝ｔｅとし、前記式（１）を満たし、前記特定の分配形式を表す前記分配関数をｆ（Ｔ）とした場合に、次式に基づいて時刻調整を行うことが好ましい。なお、次式は、時刻調整に用いる関数を一般式の形で表したものである。
【００２１】
【数４】
0005399537.tif 000005
【００２２】
この構成によれば、パス変換部が加減速処理と同じ処理を行った場合に生じる、対象物の移送開始直後の加速期間に対応する部分及び対象物の移送停止直前の減速期間に対応する部分での設定時刻のずれを解消することができる。具体的には、仮に、基準機械軸パス導出部が加工指令パスに基づいてこのような時刻調整を行うことなく導出した基準機械軸パスに対して、パス変換部が加減速処理と同じ処理を行った場合には、その処理後の機械軸パスのうち対象物の移送開始直後の加速期間に対応する部分及び対象物の移送停止直前の減速期間に対応する部分において基準機械軸パスから設定時刻のずれが生じ、この処理後の機械軸パスと基準機械軸パスとの誤差に相当する補正量を算出するときに前記加速期間及び前記減速期間に対応する各部分について適切な補正量を算出できなくなる。これに対して、本構成によれば、時刻調整部が、これらの加速期間（０≦ｔ＜Ｔｊ）及び減速期間（ｔｅ−Ｔｊ＜ｔ≦ｔｅ）に対応する各部分について時刻調整を行うことで、パス変換部が加減速処理と同じ処理を行う前に、予めその処理によって生じる加速期間及び減速期間に対応する各部分の設定時刻のずれを相殺する方向に補正した基準機械軸パスを求めることができる。その結果、パス変換部が加減速処理と同じ処理を行った後の機械軸パスの前記加速期間及び前記減速期間に対応する各部分において、設定時刻のずれが生じるのを防ぐことができ、それらの各部分について適切な補正量を算出することができる。
【００２３】
上記構成において、前記工作機械は、前記ワークの加工時における前記対象物の通常の移送とは別に当該対象物の速度変化を伴う動作を指示するための特別指令を外部から入力するための特別指令入力装置を備えており、前記移送量導出部は、前記特別指令入力装置に前記特別指令が入力されたことに応じて、前記設定サイクルタイムの長さをその特別指令の入力直前の状態における長さからその特別指令が指示する前記対象物の速度変化に応じた長さに変化させ、その長さを変化させた後の設定サイクルタイム当たりの前記各支持体の対応する前記機械軸方向への移送量を前記処理後機械軸パスから導出することが好ましい。
【００２４】
この構成によれば、特別指令入力装置に特別指令を入力して工作機械に対象物の速度変化を伴うイレギュラーな動作を実施させる際、各機械軸方向に共通の設定サイクルタイムの長さが前記特別指令の入力直前の状態における長さからその特別指令が指示する速度変化に応じた長さに変化させられるとともに、処理後機械軸パスから算出されたその変化後の設定サイクルタイム当たりの各支持体の対応する機械軸方向への移送量に応じて各支持体が移送される。このため、ワークの加工時における対象物の通常の移送とは別にその対象物のイレギュラーな速度変化を伴う動作を実行させる場合に、対象物が処理後機械軸パスによって示される軌跡からずれるのを防ぐことができる。具体的には、本構成のように前記特別指令に応じて各機械軸方向に共通の設定サイクルタイムの長さを変化させる場合には、処理後機械軸パスからその設定サイクルタイム当たりに算出される各機械軸方向への支持体の移送量が各機械軸方向についての処理後機械軸パスによって規定される各機械軸方向同士の間の相対的な位置関係が維持された状態で算出される。このため、その算出された設定サイクルタイム当たりの各機械軸方向への移送量に応じて対応する支持体が移送部によって移送されると、各機械軸方向についての処理後機械軸パスによって規定される各機械軸方向同士の間の相対的な位置関係が維持された状態で対象物の速度変化を伴う動作が実施される。その結果、上記のような対象物の速度変化を伴うイレギュラーな動作が実施されたとしても、対象物が各機械軸方向についての処理後機械軸パスによって示される軌跡から外れるのを防ぐことができる。
【００２５】
しかも、本構成では、加減速処理による異常データに起因する機械ショックの抑制効果を得つつ、特別指令に応じて対象物が速度変化を伴う動作を行うときに元の加工パスによって示される軌跡から外れるのを防ぐことができる。具体的には、仮に、異常データに起因する機械ショックを抑制するために従来のパルス補間後の加減速処理を行う場合には、その補間後加減速処理が行われた後の移送パルスが示す対象物の移動軌跡は、補間後加減速処理によって生じる誤差により元の加工パスによって示される移動軌跡からずれることになる。この場合に、特別指令に応じた対象物の速度変化を伴う動作が補間後加減速処理後の移送パルスに従って行われると、当該対象物は、元の加工パスによって示される軌跡から外れて移動することになる。これに対して、本構成では、上記のように加減速処理部による加減速処理によって異常データに起因する機械ショックの抑制効果を得つつ、その加減速処理後の機械軸パスでは、加減速処理前のパス変換部の変換処理による誤差補正の効果により、当該加減速処理後の機械軸パスが示す軌跡が加工パスが示す軌跡からずれるのを抑制することができ、その結果、特別指令に応じて対象物が速度変化を伴う動作を加減速処理後の機械軸パスに従って行うときに元の加工パスが示す軌跡から外れるのを防ぐことができる。
【発明の効果】
【００２６】
以上説明したように、本発明によれば、機械軸パス中の異常データに起因する機械ショックの発生を抑制しつつ、ワークの加工形状の誤差を抑制することが可能な数値制御装置を提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態による数値制御装置が適用される工作機械の概略的な側面図である。
【図２】本発明の一実施形態による数値制御装置及び特別指令入力装置の機能ブロック図である。
【図３】処理後機械軸パス導出部及びメモリの機能ブロック図である。
【図４】一例による基準機械軸パスが指示する工具の軌跡を示す図である。
【図５】基準機械軸パスが指示する工具の軌跡が図４に示すものである場合に、その基準機械軸パスと、加減速処理と同じ処理後の機械軸パスと、変換部加減速処理後の機械軸パス（変換後機械軸パス）との相対関係のイメージを示す模式図である。
【図６】本発明の一実施形態の数値制御装置による数値制御プロセスを示すフローチャートである。
【図７】図６中の処理後機械軸パスを導出するステップＳ２のサブルーチンの内容を示すフローチャートである。
【図８】図７中の変換後機械軸パスを導出するステップＳ３０のサブルーチンの内容を示すフローチャートである。
【図９】本発明の一実施形態における変換部加減速処理において、基準機械軸パスの速度関数の分配対象となるブロックの区間幅が時定数よりも大きい場合の分配のイメージを示す図である。
【図１０】本発明の一実施形態における変換部加減速処理において、基準機械軸パスの速度関数の分配対象となるブロックの区間幅が時定数よりも小さい場合の分配のイメージを示す図である。
【図１１】本発明の一実施形態における変換部加減速処理において、基準機械軸パスの速度関数の分配対象となるブロックの区間幅が時定数よりも小さい場合の分配のイメージを示す図である。
【図１２】加減速要求監視部による特別指令の監視プロセスを示すフローチャートである。
【図１３】対象物の緊急停止プロセスを示すフローチャートである。
【図１４】対象物の再始動プロセスを示すフローチャートである。
【図１５】対象物の速度変更プロセスを示すフローチャートである。
【図１６】図１３中の減速停止期間ｔｉｍｅと停止時サイクルタイム変動関数ｇ（ｔ）を算出するステップＳ５４のサブルーチンの内容を示すフローチャートである。
【図１７】一定速度で移動している対象物の緊急停止プロセスを実行する場合における停止時サイクルタイム変動関数を示す図である。
【図１８】対象物の加速中に緊急停止プロセスを実行する場合における停止時サイクルタイム変動関数を示す図である。
【図１９】対象物の減速中に緊急停止プロセスを実行する場合における停止時サイクルタイム変動関数を示す図である。
【図２０】３つの区間からなる停止時サイクルタイム変動関数を説明するための図である。
【図２１】対象物の再始動プロセスを実行する場合における３つの区間からなる再始動時サイクルタイム変動関数を示す図である。
【図２２】対象物の再始動プロセスを実行する場合における２つの区間からなる再始動時サイクルタイム変動関数を示す図である。
【図２３】一定速度で移動している対象物の加速プロセスを実行する場合における速度変更時サイクルタイム変動関数を示す図である。
【図２４】対象物の加速中にさらにその対象物の加速プロセスを実行する場合における速度変更時サイクルタイム変動関数を示す図である。
【図２５】対象物の減速中に加速プロセスを実行する場合における速度変更時サイクルタイム変動関数を示す図である。
【図２６】一定速度で移動している対象物の減速プロセスを実行する場合における速度変更時サイクルタイム変動関数を示す図である。
【図２７】対象物の加速中に減速プロセスを実行する場合における速度変更時サイクルタイム変動関数を示す図である。
【図２８】対象物の減速中にさらにその対象物の減速プロセスを実行する場合における速度変更時サイクルタイム変動関数を示す図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態を図面を参照して説明する。
【００２９】
まず、図１及び図２を参照して、本発明の一実施形態による数値制御装置２が適用される工作機械の構成について説明する。
【００３０】
本実施形態による数値制御装置２（図２参照）が設けられる工作機械は、被加工物であるワーク１００を切削加工するためのものであり、ワーク移送装置１０２と、コラム１０４と、工具１０５と、工具鉛直移送装置１０６と、工具第１水平移送装置１０８と、工具第２水平移送装置１１０と、主軸ヘッド１１２と、制御盤１１４とを備えている。なお、ワーク移送装置１０２、工具鉛直移送装置１０６、工具第１水平移送装置１０８及び工具第２水平移送装置１１０は、それぞれ本発明の移送装置の概念に含まれるものである。
【００３１】
ワーク移送装置１０２は、ワーク１００を図１の紙面に垂直な方向であるＸ軸方向に移送するための装置である。このワーク移送装置１０２は、所定の設置場所上に固設されるベース１０２ａと、そのベース１０２ａ上にＸ軸方向に移動可能となるように設けられるワーク支持体１０２ｂと、そのワーク支持体１０２ｂをＸ軸方向に移送するワーク移送部１０２ｃ（図２参照）とを有する。ワーク支持体１０２ｂは、ワーク１００を支持するものであり、当該ワーク１００は、このワーク支持体１０２ｂ上に垂直に立った状態で設置される。ワーク移送部１０２ｃは、駆動源としてのサーボモータを有しており、そのサーボモータが発する動力によって作動し、ワーク支持体１０２ｂを移送する。なお、前記Ｘ軸方向は、本発明の機械軸方向の概念に含まれるものであり、ワーク支持体１０２ｂは、本発明の支持体の概念に含まれるものであり、ワーク移送部１０２ｃは、本発明の移送部の概念に含まれるものである。
【００３２】
コラム１０４は、前記ベース１０２ａの設置場所から水平方向でかつ前記Ｘ軸と直交する方向に離間した位置に立設されており、鉛直方向に延びている。
【００３３】
工具鉛直移送装置１０６は、コラム１０４に設けられており、ワーク１００を切削加工するための工具１０５を鉛直方向に延びるＹ軸方向に移送するための装置である。この工具鉛直移送装置１０６は、Ｙ軸方向に移動可能となるようにコラム１０４に取り付けられる鉛直支持体１０６ａと、コラム１０４に設けられ、鉛直支持体１０６ａをコラム１０４に沿ってＹ軸方向に移送する鉛直移送部１０６ｂ（図２参照）とを有する。鉛直支持体１０６ａは、工具第１水平移送装置１０８を支持しており、この工具第１水平移送装置１０８は、後述するように工具第２水平移送装置１１０及び主軸ヘッド１１２を介して工具１０５を支持するため、鉛直支持体１０６ａは間接的に工具１０５を支持する。鉛直移送部１０６ｂは、駆動源としてのサーボモータを有しており、そのサーボモータが発する動力によって作動し、鉛直支持体１０６ａを移送する。なお、前記Ｙ軸方向は、本発明の機械軸方向の概念に含まれるものであり、鉛直支持体１０６ａは、本発明の支持体の概念に含まれるものであり、鉛直移送部１０６ｂは、本発明の移送部の概念に含まれるものである。
【００３４】
工具第１水平移送装置１０８は、鉛直支持体１０６ａに設けられており、工具１０５を前記Ｘ軸と前記Ｙ軸の両方に対して垂直に延びるＷ軸方向に移送するための装置である。この工具第１水平移送装置１０８は、Ｗ軸方向に移動可能となるように鉛直支持体１０６ａに設けられる第１水平支持体１０８ａと、鉛直支持体１０６ａに設けられ、第１水平支持体１０８ａをＷ軸方向に移送する第１水平移送部１０８ｂ（図２参照）とを有する。第１水平支持体１０８ａは、工具第２水平移送装置１１０を支持しており、この工具第２水平移送装置１１０は、後述するように主軸ヘッド１１２を介して工具１０５を支持するため、第１水平支持体１０８ａは間接的に工具１０５を支持する。第１水平移送部１０８ｂは、駆動源としてのサーボモータを有しており、そのサーボモータが発する動力によって作動し、第１水平支持体１０８ａを移送する。なお、前記Ｗ軸方向は、本発明の機械軸方向の概念に含まれるものであり、第１水平支持体１０８ａは、本発明の支持体の概念に含まれるものであり、第１水平移送部１０８ｂは、本発明の移送部の概念に含まれるものである。
【００３５】
工具第２水平移送装置１１０は、第１水平支持体１０８ａに設けられており、工具１０５を前記Ｗ軸と平行なＺ軸方向に移送するための装置である。この工具第２水平移送装置１１０は、Ｚ軸方向に移動可能となるように第１水平支持体１０８ａに設けられる第２水平支持体１１０ａと、第１水平支持体１０８ａに設けられ、第２水平支持体１１０ａをＺ軸方向に移送する第２水平移送部１１０ｂ（図２参照）とを有する。第２水平支持体１１０ａは、主軸ヘッド１１２を支持しており、その主軸ヘッド１１２を介して工具１０５を支持する。第２水平移送部１１０ｂは、駆動源としてのサーボモータを有しており、そのサーボモータが発する動力によって作動し、第２水平支持体１１０ａを移送する。なお、前記Ｚ軸方向は、本発明の機械軸方向の概念に含まれるものであり、第２水平支持体１１０ａは、本発明の支持体の概念に含まれるものであり、第２水平移送部１１０ｂは、本発明の移送部の概念に含まれるものである。
【００３６】
主軸ヘッド１１２は、その回転軸が前記Ｗ軸及び前記Ｚ軸と平行となるように第２水平支持体１１０ａに設けられている。この主軸ヘッド１１２は、工具１０５を保持してその軸回りに工具１０５を回転させる。工具１０５は、主軸ヘッド１１２によって回転させられた状態でワーク１００に接触させられることによりそのワーク１００を切削加工する。
【００３７】
制御盤１１４は、前記各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂの駆動制御や、主軸ヘッド１１２の駆動制御、その他、工作機械の各部の制御を行うための機能を有する。この制御盤１１４は、前記各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂ及び主軸ヘッド１１２の駆動源と電気的に接続されている。
【００３８】
また、制御盤１１４は、特別指令入力装置１２２（図２参照）を備えている。この特別指令入力装置１２２は、ワーク１００の加工時におけるワーク１００及び工具１０５の通常の移送とは別にそれらのワーク１００及び工具１０５の速度変化（加速又は減速）を伴う動作を指示するための特別指令を外部から入力するための装置である。なお、以下、移送装置１０２，１０６，１０８，１１０による移送の対象であるワーク１００又は工具１０５を対象物という。
【００３９】
特別指令入力装置１２２は、停止指令入力装置１２４と、再始動指令入力装置１２６と、オーバーライド装置１２８とを含む。
【００４０】
停止指令入力装置１２４は、対象物の移動を緊急に減速させて停止させるための緊急停止指令を入力するためのものである。緊急停止指令は、本発明の特別指令の概念に含まれる。この停止指令入力装置１２４は、制御盤１１４に設けられた緊急停止ボタン１２４ａと、その緊急停止ボタン１２４ａが押されることに応じて緊急停止信号を後述の加減速要求監視部１０へ発信する停止信号発信部１２４ｂとを有する。なお、本実施形態では、緊急停止ボタン１２４ａを押すことが緊急停止指令の入力に相当する。
【００４１】
再始動指令入力装置１２６は、移動停止した移動対象物の移動を再開させて加速させるための再始動指令を入力するためのものである。再始動指令は、本発明の特別指令の概念に含まれる。この再始動指令入力装置１２６は、制御盤１１４に設けられた再始動ボタン１２６ａと、その再始動ボタン１２６ａが押されることに応じて再始動信号を後述の加減速要求監視部１０へ発信する再始動信号発信部１２６ｂとを有する。なお、本実施形態では、再始動ボタン１２６ａを押すことが再始動指令の入力に相当する。
【００４２】
オーバーライド装置１２８は、対象物の移動速度を上昇させる指示とその移動速度の上昇率である加速率の情報を含む加速指令又は対象物の移動速度を低下させる指示とその移動速度の低下率である減速率の情報を含む減速指令を入力するためのものである。なお、加速指令及び減速指令は、本発明の特別指令の概念に含まれる。
【００４３】
オーバーライド装置１２８は、制御盤１１４に設けられたオーバーライドダイヤル１２８ａと、そのオーバーライドダイヤル１２８ａの操作方向及び操作量に応じた速度変更信号を後述の加減速要求監視部１０へ発信する速度変更信号発信部１２８ｂとを有する。
【００４４】
オーバーライドダイヤル１２８ａは、加速指令又は減速指令を入力するときに操作される操作部である。オーバーライドダイヤル１２８ａは、その軸回りに回動可能となるように制御盤１１４に設けられている。オーバーライドダイヤル１２８ａをいずれかの方向に回動させることによって、オーバーライド装置１２８に加速指令又は減速指令を入力することが可能である。本実施形態では、オーバーライドダイヤル１２８ａを一方側へ回動させる操作が加速指令の入力に相当し、オーバーライドダイヤル１２８ａを前記一方側に対して反対側である他方側へ回動させる操作が減速指令の入力に相当する。また、オーバーライドダイヤル１２８ａの前記一方側への回動量が移動対象物の加速率と対応しており、オーバーライドダイヤル１２８ａの前記他方側への回動量が移動対象物の減速率に対応している。
【００４５】
速度変更信号発信部１２８ｂは、オーバーライドダイヤル１２８ａが前記一方側（加速側）へ回動されたことに応じて、その一方側へのオーバーライドダイヤル１２８ａの回動量に対応するオーバーライド係数の情報を含む速度変更信号を加減速要求監視部１０へ発信し、オーバーライドダイヤル１２８ａが前記他方側（減速側）へ回動されたことに応じて、その他方側へのオーバーライドダイヤル１２８ａの回動量に対応するオーバーライド係数の情報を含む速度変更信号を加減速要求監視部１０へ発信する。前記一方側へのオーバーライドダイヤル１２８ａの回動量に対応するオーバーライド係数が加速率に相当し、前記他方側へのオーバーライドダイヤル１２８ａの回動量に対応するオーバーライド係数が減速率に相当する。オーバーライド係数は、１を基準としてオーバーライドダイヤル１２８ａが加速側へ回動されることに応じて１から増加し、オーバーライドダイヤル１２８ａが減速側へ回動されることに応じて１から減少する。
【００４６】
本実施形態による数値制御装置２は、以上のような構成を有する工作機械に設けられており、前記各移送装置１０２，１０６，１０８，１１０の数値制御を行う。次に、図１〜図３を参照して本実施形態の数値制御装置２の構成について具体的に説明する。
【００４７】
数値制御装置２は、図２に示すように、記憶部４と、メモリ５と、演算処理装置６とを有する。
【００４８】
記憶部４は、加工指令としてのＮＣプログラムを記憶している。ＮＣプログラムは、ワーク１００の加工時における工具１０５の移動軌跡及び移送速度を表す加工パスを示すものである。
【００４９】
メモリ５は、特別指令入力装置１２２に特別指令が入力される直前の時点でのオーバーライド係数や、前記速度変更信号に含まれるオーバーライド係数、また、後述する加工パス、指令パス及び各種機械軸パス等の情報を記憶する。
【００５０】
演算処理装置６は、記憶部４に記憶されたＮＣプログラムから加工パスを求めるとともに、その加工パスに基づく所定の設定サイクルタイム当たりの各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送量の演算や、各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂの移送制御、特別指令入力装置１２２への特別指令の入力の監視等の各種処理を行う。この演算処理装置６は、機能ブロックとして、加減速要求監視部１０と、演算部１２と、移送制御部１４とを有する。
【００５１】
加減速要求監視部１０は、特別指令入力装置１２２に前記特別指令が入力されたか否かを監視する。
【００５２】
具体的には、加減速要求監視部１０は、停止指令入力装置１２４に減速停止指令が入力されたか否か、すなわち停止指令入力装置１２４の緊急停止ボタン１２４ａが押されたか否かを停止信号発信部１２４ｂから発信される緊急停止信号を検出することによって監視している。加減速要求監視部１０は、停止指令入力装置１２４に減速停止指令が入力されたこと、すなわち停止信号発信部１２４ｂから緊急停止信号が発信されたことに応じて緊急停止要求を演算部１２の後述する移送量導出部２２へ出力する。
【００５３】
また、加減速要求監視部１０は、再始動指令入力装置１２６に再始動指令が入力されたか否か、すなわち再始動指令入力装置１２６の再始動ボタン１２６ａが押されたか否かを再始動信号発信部１２６ｂから発信される再始動信号を検出することによって監視している。加減速要求監視部１０は、停止指令入力装置１２４に緊急停止指令が入力された後に再始動指令入力装置１２６に再始動指令が入力されたこと、すなわち停止信号発信部１２４ｂから緊急停止信号が発信された後に再始動信号発信部１２６ｂから再始動信号が発信されたことに応じて再始動要求を後述する移送量導出部２２へ出力する。
【００５４】
また、加減速要求監視部１０は、オーバーライド装置１２８に加速指令又は減速指令が入力されたか否か、すなわちオーバーライドダイヤル１２８ａが回動されたか否かを速度変更信号発信部１２８ｂから発信される速度変更信号を検出することによって監視している。加減速要求監視部１０は、速度変更信号発信部１２８ｂから発信される速度変更信号を受けてその速度変更信号に含まれるオーバーライド係数の情報を含む速度変更要求を後述する移送量導出部２２へ出力する。
【００５５】
演算部１２は、記憶部４に記憶されたＮＣプログラムに基づく加工パスの導出、基準機械軸パスの導出、基準機械軸パスの変換処理、変換後の機械軸パスの加減速処理、特別指令入力装置１２２への特別指令の入力の有無及びその特別指令の種類に応じた設定サイクルタイム当たりの各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの対応する機械軸方向（Ｘ軸方向、Ｙ軸方向、Ｗ軸方向、Ｚ軸方向）への移送量の算出等を実行する。演算部１２は、機能ブロックとして、処理後機械軸パス導出部２０と、移送量導出部２２とを有する。
【００５６】
処理後機械軸パス導出部２０は、記憶部４に記憶されたＮＣプログラムに基づいて各種演算処理を行うことにより処理後機械軸パスを求める。この処理後機械軸パス導出部２０は、図３に示すように、機能ブロックとして、基準機械軸パス導出部２４と、パス変換部２６と、加減速フィルタ２８とを有する。
【００５７】
基準機械軸パス導出部２４は、ＮＣプログラムに基づいて、各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａを移送すべき各機械軸方向の位置を設定時刻ｔの関数として表す基準機械軸パスを導出するものである。この基準機械軸パス導出部２４は、機能ブロックとして、プログラム読取部３０と、曲面補間部３２と、指令パス演算部３４と、加減速演算部３６と、時刻調整部３８とを有している。
【００５８】
プログラム読取部３０は、記憶部４に記憶されたＮＣプログラムから加工パス（ツールパス）を読み取る。加工パスは、ワーク１００の加工時に工具１０５が移動する軌跡及びその工具１０５の速度を表すものである。プログラム読取部３０によって読み取られた加工パスは、メモリ５に記憶される。
【００５９】
曲面補間部３２は、加工パスを必要に応じて滑らかなパスとなるように補間演算を行う。この曲面補間部３２によって加工パスの補間演算が行われた場合には、その補間演算後の加工パスがメモリ５に記憶される。
【００６０】
指令パス演算部３４は、メモリ５に記憶された加工パスから各機械軸方向毎の移動成分である指令パスを算出する。この算出された各機械軸方向毎の指令パスは、メモリ５に記憶される。
【００６１】
加減速演算部３６は、メモリ５に記憶された各機械軸方向毎の指令パスについて各機械軸方向毎の加減速条件、すなわち各機械軸方向毎の許容加速度や許容ジャークに従った加減速計算を行い、前記設定時刻ｔの関数として各機械軸方向毎の機械軸パスを算出する。この算出された各機械軸方向毎の機械軸パスは、調整前機械軸パスとしてメモリ５に記憶される。
【００６２】
時刻調整部３８は、メモリ５に記憶された調整前機械軸パスについて時刻調整のための演算を行い、基準機械軸パスを算出する。この算出された基準機械軸パスは、メモリ５に記憶される。
【００６３】
パス変換部２６は、基準機械軸パス導出部２４の加減速演算部３６によって算出された各機械軸方向についての基準機械軸パスに特定の変換処理を行うことによって各機械軸方向についての変換後機械軸パスを導出する。このパス変換部２６が行う前記特定の変換処理には、加減速フィルタ２８による後述の加減速処理によって生じる誤差を予め補正しておくための演算処理が含まれる。この誤差補正のための演算処理としては、各機械軸方向についての基準機械軸パスの後述するブロックの各終点のうち変換後機械軸パスとの誤差が補正境界値以下である点については、基準機械軸パスに対して加減速フィルタ２８による後述の加減速処理と同じ処理である変換部加減速処理を行った場合に得られる機械軸パスと基準機械軸パスとの誤差に相当する補正量を各機械軸方向毎に算出し、その算出した各機械軸方向毎の補正量で前記誤差を相殺する方向（打ち消す方向）に各機械軸方向についての基準機械軸パスを補正する演算処理が行われる。また、前記誤差補正のための演算処理として、パス変換部２６が行う前記特定の変換処理には、各機械軸方向についての基準機械軸パスの後述するブロックの各終点のうち変換後機械軸パスとの誤差が補正境界値を超えている点については、その点の前後の直近の２つの指令点についての補正量から比例配分によって当該点についての補正量を算出し、その算出した補正量で上記と同様に基準機械軸パスを補正する演算処理が行われる。
【００６４】
基準機械軸パスから得られる工具１０５の軌跡が、例えば、図４に示すようなＸＹ平面上の円を示すものである場合において、仮に、後述の加減速処理と同じ変換部加減速処理をこの基準機械軸パスに対して行った場合には、その処理後の機械軸パスによって示される工具１０５の軌跡は、図５に示すように基準機械軸パスによって示される軌跡の径方向内側にずれる。パス変換部２６は、このようなずれを発生させる処理後の機械軸パスと基準機械軸パスとの誤差に相当する補正量を各機械軸方向（Ｘ軸、Ｙ軸）毎に算出してその算出した各機械軸方向毎の補正量で当該誤差を相殺する方向に各機械軸方向（Ｘ軸、Ｙ軸）についての基準機械軸パスをそれぞれ補正する。これにより、パス変換部２６は、例えば図５に示すような工具１０５の軌跡が得られる変換後機械軸パスを算出する。すなわち、図５に示す形態では、変換後機械軸パスから得られる工具１０５の軌跡は、結果的に、基準機械軸パスから得られる工具１０５の軌跡を径方向外側に補正した軌跡となる。
【００６５】
加減速フィルタ２８は、パス変換部２６によって導出された各機械軸方向についての変換後機械軸パスに対して、当該変換後機械軸パスから得られる各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送速度の変化を緩和するための加減速処理を行うものである。当該加減速フィルタ２８による具体的な加減速処理の内容は後述する。
【００６６】
移送量導出部２２は、加減速フィルタ２８によって加減速処理された後の機械軸パス（以下、場合によって処理後機械軸パスという）から各機械軸方向における所定の設定サイクルタイム当たりの各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送量を導出する。前記設定サイクルタイムは、基準時刻が基準サイクルタイムだけ進む間に、前記設定時刻が進む時間長さとして設定されるものである。なお、基準サイクルタイムは、移送量導出部２２が移送量を導出する際の補間計算周期に相当する時間長さである。そして、移送量導出部２２は、前記移送量を算出する際、特別指令入力装置１２２への特別指令の入力の有無及びその特別指令の種類に応じた設定サイクルタイム当たりの各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送量を処理後機械軸パスから算出する。具体的には、移送量導出部２２は、特別指令入力装置１２２に特別指令の入力がない場合には、処理後機械軸パスからその時の設定サイクルタイム当たりの各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの対応する機械軸方向への移送量を算出する一方、特別指令入力装置１２２に特別指令が入力された場合には、それに応じて、設定サイクルタイムの長さをその特別指令入力装置１２２への特別指令の入力直前の状態における長さからその特別指令が指示する対象物の速度変化に応じた長さに変化させ、その変化させた後の設定サイクルタイム当たりの各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの対応する機械軸方向への移送量を前記処理後機械軸パスから算出する。
【００６７】
移送制御部１４は、移送量導出部２２によって導出された各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送量に応じて各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂに対応する支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａを対応する機械軸方向において移送させる。具体的には、移送制御部１４は、移送量導出部２２によって導出された各機械軸方向毎の移送量を指示するサーボ指令パルスを作成し、その作成した各機械軸方向毎のサーボ指令パルスを対応する移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂへ送ることによって、各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂに、送ったサーボ指令パルスが示す設定サイクルタイム当たりの移送量の分、基準サイクルタイム当たりに対応する支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａを移送させる制御を行う。
【００６８】
次に、本実施形態の数値制御装置２による数値制御のプロセスについて説明する。なお、以降の説明を簡単にするために、前記設定時刻及び前記設定サイクルタイムの１単位を、前記基準サイクルタイムの時間長さに等しいものとして説明する。
【００６９】
まず、演算部１２の処理後機械軸パス導出部２０が、記憶部４に記憶されているＮＣプログラムに基づいて、処理後機械軸パスを導出する（図６のステップＳ２）。この導出の具体的なプロセスは、図７のフローチャートに示されている。
【００７０】
この処理後機械軸パスの導出の際、まず、プログラム読取部３０が記憶部４に記憶されているＮＣプログラムを読み取り、その読み取ったＮＣプログラムから加工パスを導出する（図７のステップＳ２２）。この導出された加工パスは、メモリ５に記憶される。
【００７１】
次に、曲面補間部３２が、メモリ５に記憶された加工パスが示す軌跡を滑らかにする必要がある場合には、当該加工パスの曲面補間を行う（ステップＳ２４）。曲面補間部３２は、曲面補間した後の加工パスをメモリ５に記憶させる。
【００７２】
次に、指令パス演算部３４が、メモリ５に記憶されている加工パスを逆運動学関係式を用いて各機械軸方向毎の移動成分に変換することにより、その各機械軸方向毎の移動成分を表す指令パスを算出する（ステップＳ２６）。指令パス演算部３４は、算出した各機械軸方向毎の指令パスをメモリ５に記憶させる。
【００７３】
次に、加減速演算部３６が、メモリ５に記憶されている指令パスについて各機械軸方向毎の許容加速度や許容ジャークに従った加減速演算を行い、それによって、各機械軸方向についての調整前機械軸パスを算出する（ステップＳ２８）。加減速演算部３６は、算出した各機械軸方向についての調整前機械軸パスをメモリ５に記憶させる。
【００７４】
この後、時刻調整部３８が、メモリ５に記憶されている各機械軸方向についての調整前機械軸パスを時刻調整して各機械軸方向についての基準機械軸パスを算出する（ステップＳ２９）。具体的には、仮に、調整前機械軸パスのうち対象物の移送開始直後の加速期間に対応する部分及び対象物の移送停止直前の減速期間に対応する部分についてそのまま後述の変換部加減速処理を行った場合には、それらの部分における設定時刻にずれが生じる。このため、時刻調整部３８は、この設定時刻のずれを解消するための時刻調整を後述の変換部加減速処理の前に予め行って基準機械軸パスを導出する。本実施形態では、変換部加減速処理において後述のように直線型の分配関数ｆ（Ｔ）を用いるため、時刻調整部３８は、この直線型の分配関数ｆ（Ｔ）に応じた次式を用いて調整前機械軸パスの時刻調整を行う。なお、次式は、時刻調整に用いる関数の一般式を直線型の分配形式に対応する形で表したものである。
【００７５】
【数５】
0005399537.tif 000006
【００７６】
この式において、ｔは、時刻調整前の設定時刻であり、ｔｊ（ｔ）は、時刻調整後の時刻であり、Ｔｊは、時刻調整を行う対象の調整前機械軸パスに対応する機械軸方向の時定数である。また、ｔ＝０が、対象物が移送開始される始点の時刻であり、ｔ＝ｔｅが、対象物が移送停止される終点の時刻である。
【００７７】
詳しくは、時刻調整部３８は、当該時刻調整の際、設定時刻ｔ＝０からｔ＝ｔｅに亘る調整前機械軸パスを、所定の１分割ブロック所要時間を越えない時間単位の時刻配列ｔｔ［ｉ］≦ｔ≦ｔｔ［ｉ＋１］  （ｉ＝０，１，２，・・・，ｎ−１，ｔｔ［０］＝０，ｔｔ［ｎ］＝ｔｅ）に応じて細分割し、各時刻ｔｔ［ｉ］における機械軸位置ＰＡｉを求め、前記時刻配列を時刻調整関数ｔ［ｉ］＝ｔｊ（ｔｔ［ｉ］）に従って調整する。そして、時刻調整部３８は、時刻調整後の各時刻ｔ［ｉ］における基準機械軸パスの位置が前記機械軸位置ＰＡｉとなる複数の直線のブロックＰＡｉ（ｔ）  （ｔ［ｉ］≦ｔ≦ｔ［ｉ＋１］）  （ｉ＝０，１，２，・・・，ｎ−１，ｔ［０］＝Ｔｊ／２，ｔ［ｎ］＝ｔｅ−Ｔｊ／２）を求める。この複数の直線のブロックＰＡｉ（ｔ）が、基準機械軸パスＰＡ（ｔ）を構成するものである。すなわち、時刻調整部３８は、時刻調整処理において、調整前機械軸パスを時刻調整するとともに細分割した複数の直線ブロックを求めることによって、その複数の直線ブロックからなる基準機械軸パスを求める。時刻調整部３８は、以上のようにして求めた各機械軸方向についての複数のブロックＰＡｉ（ｔ）からなる基準機械軸パスＰＡ（ｔ）をメモリ５に記憶させる。
【００７８】
次に、パス変換部２６が、メモリ５に記憶された各機械軸方向についての基準機械軸パスに変換処理を行うことによって各機械軸方向についての変換後機械軸パスを導出する（ステップＳ３０）。具体的には、パス変換部２６は、変換処理として、図８に示すフローチャートに沿った演算処理を行う。以下、この演算処理について具体的に説明する。
【００７９】
まず、パス変換部２６は、以下のような変換部加減速処理を、上記のように導出されてメモリ５に記憶された各機械軸方向についての基準機械軸パスに対してそれぞれ行う（ステップＳ４２）。なお、説明を簡略にするために、以下、１つの機械軸方向の基準機械軸パスの変換部加減速処理に絞って説明するが、他の全ての機械軸方向の基準機械軸パスについてもその各機械軸方向毎に同様の変換部加減速処理が行われる。
【００８０】
パス変換部２６は、基準機械軸パスのブロックＰＡｉ（ｔ）毎に加減速処理を行う。詳しくは、パス変換部２６は、基準機械軸パスの所定のブロックＰＡｉ（ｔ）内におけるある設定時刻をｔとし、変換部加減速処理を行う対象の基準機械軸パスの機械軸方向について設定された時定数Ｔｊの半分の値をａとし、次式（４）を満たす分配関数をｆ（Ｔ）とし、前記所定のブロックＰＡｉ（ｔ）に対応する変換部加減速処理後の機械軸パスのブロックをＱＡｉ（ｔ）とし、ｔ−ａからｔ＋ａに亘る分配対象区間内の各設定時刻Ｔにおける前記所定のブロックＰＡｉ（ｔ）の速度関数をＰＡｉ’（Ｔ）とした場合に、変換部加減速処理後のブロックＱＡｉ（ｔ）の設定時刻ｔによる一次微分関数である速度関数ＱＡｉ’（ｔ）を次式（５）に基づいて算出する。
【００８１】
【数６】
0005399537.tif 000007
【００８２】
【数７】
0005399537.tif 000008
【００８３】
この変換部加減速処理では、上記数式（４），（５）に示されているように、設定時刻ｔの前後に亘る分配対象区間［ｔ−ａ，ｔ＋ａ］内の各設定時刻Ｔにおける速度関数ＰＡｉ’（Ｔ）をＴ−ａからＴ＋ａに亘る区間内に分配関数ｆ（Ｔ）に従って分配したときの設定時刻ｔへの分配値ＰＡｉ’（Ｔ）・ｆ（ｔ−Ｔ）を、ｔ−ａからｔ＋ａまでの区間に亘って積分している。
【００８４】
なお、上記の演算処理においてパス変換部２６が用いる分配関数ｆ（Ｔ）は、加減速フィルタ２８が加減速処理を行うときに用いる分配関数と同じものであり、本実施形態では、パス変換部２６及び加減速フィルタ２８が共に直線型の分配形式（速度関数を分配区間内全体に亘って均等に分配する形式）で分配を行うため、この分配形式に対応する分配関数ｆ（Ｔ）は、次式で表される直線型の分配関数である。
【００８５】
【数８】
0005399537.tif 000009
【００８６】
上記式（５）によって求められる速度関数ＱＡｉ’（ｔ）は、その速度関数に対応するブロックＰＡｉ（ｔ）の区間幅ｔ［ｉ＋１］−ｔ［ｉ］が時定数Ｔｊ＝２ａよりも大きい場合と小さい場合とで異なった形で表される。その各場合における速度関数ＱＡｉ’（ｔ）は、以下の通りである。
【００８７】
ブロックＰＡｉ（ｔ）の区間幅ｔ［ｉ＋１］−ｔ［ｉ］が時定数Ｔｊ＝２ａよりも大きい場合には、ｔ［ｉ］−ａ＜ｔ［ｉ］＜ｔ［ｉ］＋ａ＜ｔ［ｉ＋１］−ａ＜ｔ［ｉ＋１］＜ｔ［ｉ＋１］＋ａの関係が成り立つ（図９参照）。この場合におけるブロックＰＡｉ（ｔ）の速度関数ＰＡｉ’（Ｔ）は、図９中の太線で表される。この場合において、算出される速度関数ＱＡｉ’（ｔ）は、下記のｔ［ｉ］−ａからｔ［ｉ］＋ａまでの区間の速度関数ｑＡｉ１１’（ｔ）と、ｔ［ｉ］＋ａからｔ［ｉ＋１］−ａまでの区間の速度関数ｑＡｉ１２’（ｔ）と、ｔ［ｉ＋１］−ａからｔ［ｉ＋１］＋ａまでの区間の速度関数ｑＡｉ１３’（ｔ）とに細分化される。
【００８８】
ｔ［ｉ］−ａからｔ［ｉ］＋ａまでの区間の速度関数ｑＡｉ１１’（ｔ）は、次式（７）で表される。
【００８９】
【数９】
0005399537.tif 000010
【００９０】
ｔ［ｉ］＋ａからｔ［ｉ＋１］−ａまでの区間の速度関数ｑＡｉ１２’（ｔ）は、次式（８）で表される。
【００９１】
【数１０】
0005399537.tif 000011
【００９２】
ｔ［ｉ＋１］−ａからｔ［ｉ＋１］＋ａまでの区間の関数ｑＡｉ１３’（ｔ）は、次式（９）で表される。
【００９３】
【数１１】
0005399537.tif 000012
【００９４】
次に、ブロックＰＡｉ（ｔ）の区間幅ｔ［ｉ＋１］−ｔ［ｉ］が時定数Ｔｊ＝２ａよりも小さい場合には、その区間幅ｔ［ｉ＋１］−ｔ［ｉ］が時定数Ｔｊ＝２ａよりも小さく且つ時定数Ｔｊの半分の値ａよりも大きい場合と、区間幅ｔ［ｉ＋１］−ｔ［ｉ］が時定数Ｔｊの半分の値ａよりも小さい場合とに分類される。図１０は、ブロックＰＡｉ（ｔ）の区間幅ｔ［ｉ＋１］−ｔ［ｉ］が時定数Ｔｊ＝２ａよりも小さく且つ時定数Ｔｊの半分の値ａよりも大きい場合を示しており、この場合には、ｔ［ｉ］−ａ＜ｔ［ｉ］＜ｔ［ｉ＋１］−ａ＜ｔ［ｉ］＋ａ＜ｔ［ｉ＋１］＜ｔ［ｉ＋１］＋ａの関係が成り立つ。また、図１１は、ブロックＰＡｉ（ｔ）の区間幅ｔ［ｉ＋１］−ｔ［ｉ］が時定数Ｔｊ＝２ａの半分の値ａよりも小さい場合を示しており、この場合には、ｔ［ｉ］−ａ＜ｔ［ｉ＋１］−ａ＜ｔ［ｉ］＜ｔ［ｉ＋１］＜ｔ［ｉ］＋ａ＜ｔ［ｉ＋１］＋ａの関係が成り立つ。これらの場合におけるブロックＰＡｉ（ｔ）の速度関数ＰＡｉ’（Ｔ）は、図１０及び図１１中の太線で表される。そして、これらの場合において、算出される速度関数ＱＡｉ’（ｔ）は、下記のｔ［ｉ］−ａからｔ［ｉ＋１］−ａまでの区間の速度関数ｑＡｉ２１’（ｔ）と、ｔ［ｉ＋１］−ａからｔ［ｉ］＋ａまでの区間の速度関数ｑＡｉ２２’（ｔ）と、ｔ［ｉ］＋ａからｔ［ｉ＋１］＋ａまでの区間の速度関数ｑＡｉ２３’（ｔ）とに細分化される。
【００９５】
ｔ［ｉ］−ａからｔ［ｉ＋１］−ａまでの区間の関数ｑＡｉ２１’（ｔ）は、次式（１０）で表される。
【００９６】
【数１２】
0005399537.tif 000013
【００９７】
ｔ［ｉ＋１］−ａからｔ［ｉ］＋ａまでの区間の関数ｑＡｉ２２’（ｔ）は、次式（１１）で表される。
【００９８】
【数１３】
0005399537.tif 000014
【００９９】
ｔ［ｉ］＋ａからｔ［ｉ＋１］＋ａまでの区間の関数ｑＡｉ２３’（ｔ）は、次式（１２）で表される。
【０１００】
【数１４】
0005399537.tif 000015
【０１０１】
そして、パス変換部２６は、以上のように算出した各ブロック毎の速度関数ＱＡｉ’（ｔ）を積算することによって全体の速度関数ＱＡ’（ｔ）を算出し、その算出した全体の速度関数ＱＡ’（ｔ）を積分することによって変換部加減速処理後の機械軸パスＱＡ（ｔ）を算出する。
【０１０２】
その後、パス変換部２６は、算出した各機械軸方向についての変換部加減速処理後の機械軸パスＱＡ（ｔ）から対応する機械軸方向についての基準機械軸パスＰＡ（ｔ）を減じることによって、各機械軸方向についての変換部加減速処理後の機械軸パスＱＡ（ｔ）と時刻調整後の基準機械軸パスとの誤差である基準誤差を算出する（ステップＳ４４）。このとき、パス変換部２６は、変換部加減速処理後の機械軸パスＱＡ（ｔ）の各ブロックＱＡｉ（ｔ）の終点毎にその終点の値から対応する時刻調整後の基準機械軸パスのブロックＰＡｉ（ｔ）の終点の値を減算することによって基準誤差を算出する。具体的には、パス変換部２６は、各ブロックＱＡｉ（ｔ）の終点毎の基準誤差ｅ［ｉ］を次式（１３）によって算出する。
【０１０３】
ｅ［ｉ］＝ＱＡ（ｔｔ［ｉ］）−ＰＡ（ｔ［ｉ］）・・・（１３）
パス変換部２６は、以上のように前記各ブロックＱＡｉ（ｔ）の終点毎の基準誤差ｅ［ｉ］を算出した後、各ブロックＱＡｉ（ｔ）の各終点を補正境界値に基づいて第１補正対象点と第２補正対象点とに分類する（ステップＳ４６）。第２補正対象点としては、コーナー部（例えば、機械軸パスが示す軌跡が多角形状の軌跡を示すものである場合には、その多角形の頂点）、機械軸パスの最初の始点直後の特定区間（移送開始直後の一定区間）に含まれるブロックの終点、機械軸パスの最後の終点の直前の特定区間（移送停止直前の一定区間）に含まれるブロックの終点、速度変化が急激で和らげる必要のある特定区間に含まれるブロックの終点などがある。また、第１補正対象点は、第２補正対象点以外の終点であり、機械軸パスのうち滑らかな移送を指示する区間に含まれるブロックの終点である。補正境界値は、メモリ５に設定値として記憶されており、パス変換部２６は、各ブロックＱＡｉ（ｔ）の終点のうち、基準誤差ｅ［ｉ］が当該補正境界値以下である点を第１補正対象点とし、基準誤差ｅ［ｉ］が当該補正境界値を超えている点を第２補正対象点とする。
【０１０４】
そして、パス変換部２６は、第１補正対象点と第２補正対象点とについてそれぞれ補正量を算出する（ステップＳ４８）。具体的には、パス変換部２６は、第１補正対象点については、その点の基準誤差ｅ［ｉ］に等しい値を当該第１補正対象点についての補正量ｈ１［ｉ］とする。また、パス変換部２６は、第２補正対象点については、その第２補正対象点とその第２補正対象点の前の直近の第１補正対象点との間の距離Ｌｂと、その第２補正対象点とその第２補正対象点の後の直近の第１補正対象点との間の距離Ｌａとを求め、次式（１４）により比例配分することによって当該第２補正対象点についての補正量ｈ２［ｉ］を求める。なお、次式（１４）において、ｅｂ［ｉ］は、前記第２補正対象点の前の直近の第１補正対象点についての基準誤差であり、ｅａ［ｉ］は、前記第２補正対象点の後の直近の第１補正対象点についての基準誤差である。
【０１０５】
ｈ２［ｉ］＝（ｅｂ［ｉ］×Ｌａ＋ｅａ［ｉ］×Ｌｂ）／（Ｌｂ＋Ｌａ）・・・（１４）
そして、パス変換部２６は、上記のように求めた各ブロックＱＡｉ（ｔ）の終点毎の補正量ｈ１［ｉ］，ｈ２［ｉ］をメモリ５に記憶させる。
【０１０６】
この後、パス変換部２６は、メモリ５に記憶させた各ブロックＱＡｉ（ｔ）の終点毎の補正量ｈ１［ｉ］，ｈ２［ｉ］で基準機械軸パスＰＡ（ｔ）を補正して変換後機械軸パスＰＢ（ｔ）を算出する。具体的には、パス変換部２６は、基準機械軸パスＰＡ（ｔ）の各ブロックＰＡｉ（ｔ）の終点のうち第１補正対象点については補正量ｈ１［ｉ］で補正し、各ブロックＰＡｉ（ｔ）の終点のうち第２補正対象点については補正量ｈ２［ｉ］で補正する（ステップＳ５０）。詳しくは、パス変換部２６は、第１補正対象点については対応する基準機械軸パスのブロックＰＡｉ（ｔ）の終点の値からその点について設定された補正量ｈ１［ｉ］を減じることによって当該第１補正対象点の補正後の値を求め、第２補正対象点については対応する基準機械軸パスのブロックＰＡｉ（ｔ）の終点の値からその点について設定された補正量ｈ２［ｉ］を減じることによって当該第２補正対象点の補正後の値を求める。パス変換部２６は、このように補正して得た各ブロックからなる機械軸パスを変換後機械軸パスとしてメモリ５に記憶させる。具体的には、パス変換部２６は、補正して得た各ブロックＰＢｉ（ｔ）  （ｔ［ｉ］≦ｔ≦ｔ［ｉ＋１］）  （ｉ＝０，１，２，・・・，ｎ−１）からなる変換後機械軸パスＰＢ（ｔ）をメモリ５に記憶させる。
【０１０７】
次に、加減速フィルタ２８が、メモリ５に記憶された変換後機械軸パスを加減速処理することによって処理後機械軸パスを導出する（図７のステップＳ３２）。この加減速フィルタ２８による加減速処理は、パス変換部２６による加減速処理と全く同じである。すなわち、加減速フィルタ２８は、上記式（５）のうちの速度関数ＰＡｉ’（Ｔ）を変換後機械軸パスＰＢ（ｔ）の各ブロックＰＢｉ（ｔ）の速度関数ＰＢｉ’（ｔ）に置き換えた式を用いて処理後機械軸パスＱＢ（ｔ）の各ブロックＱＢｉ（ｔ）の速度関数ＱＢｉ’（ｔ）を算出し、その算出した各ブロックの速度関数ＱＢｉ’（ｔ）を上記と同様に積算して全体の速度関数ＱＢ’（ｔ）を算出し、その算出した全体の速度関数ＱＢ’（ｔ）を積分することによって処理後機械軸パスＱＢ（ｔ）を求める。具体的には、加減速フィルタ２８は、分配関数ｆ（Ｔ）としては、上記式（４）を満たすものを用い、速度関数ＱＢｉ’（ｔ）を次式（１５）に基づいて算出する。
【０１０８】
【数１５】
0005399537.tif 000016
【０１０９】
この加減速フィルタ２８による加減速処理が行われることによって、変換後機械軸パスが示す各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送速度の変化を緩和するような処理後機械軸パスが導出される。ところで、この加減速処理により、処理後機械軸パスは、変換後機械軸パスから変化してその変換後機械軸パスに対して誤差を生じるが、上記のパス変換部２６による変換処理によって、変換後機械軸パスは、当該加減速処理によって生じる誤差を予め相殺する方向に補正されているため、当該処理後機械軸パスは、基準機械軸パスに対して誤差を生じない。加減速フィルタ２８によって算出された処理後機械軸パスはメモリ５に記憶される。
【０１１０】
この加減速フィルタ２８による加減速処理は、機械ショックの要因となる異常データの部分をその部分が示す移送速度の変化が緩和するように補正し得る従来のパルス補間後の加減速処理（補間後加減速処理）と実質的に同等の処理を変換後機械軸パスに対して行うものである。
【０１１１】
具体的には、従来のパルス補間後の加減速処理では、機械軸パスをｐ（ｔ）とし、サイクルタイムをΔｔ秒とし、時定数をτ＝ｎ・Δｔ（秒）とし、起動後の最初の０番目のサイクル、すなわち時刻０から時刻Δｔまでの間のサイクルをサイクル（０）とし、第ｉ番目のサイクル、すなわち時刻ｉ・Δｔから時刻（ｉ＋１）・Δｔまでのサイクルをサイクル（ｉ）とすると、サイクル（ｉ）における移送量を示す移送パルスΔｐ（ｉ）は、次式（１６）で表せる。
【０１１２】
Δｐ（ｉ）＝ｐ（（ｉ＋１）・Δｔ）−ｐ（ｉ・Δｔ）・・・（１６）
直線型の分配関数を用いた補間後加減速処理では、サイクル（ｉ）の移送パルスΔｐ（ｉ）をサイクル（ｉ）からサイクル（ｉ＋ｎ−１）までの間の時定数τに等しい長さを有する分配区間内の各サイクルに（ｐ（（ｉ＋１）・Δｔ）−ｐ（ｉ・Δｔ））／ｎずつ均等に分配するという分配方法に従って全てのサイクルの移送パルスを分配し、その後、各サイクル毎に移送パルスの分配値を積算することによって、補間後加減速処理後の移送パルスを算出する。このことから、補間後加減速処理後の第ｊ番目のサイクル（ｊ）の移送パルスΔｑ［ｊ］は、サイクル（ｊ−ｎ＋１）からサイクル（ｊ）までの各サイクルの移送パルスΔｐ［ｉ］（ｉ＝ｊ−ｎ＋１，ｊ−ｎ＋２，・・・・，ｊ−２，ｊ−１，ｊ）を１／ｎ倍した各分配値を積算することによって求められる。具体的には、次式（１７）によって補間後加減速処理後の移送パルスΔｑ［ｊ］を算出する。
【０１１３】
【数１６】
0005399537.tif 000017
【０１１４】
ところで、この補間後加減速処理後の移送パルスΔｑ［ｊ］は、サイクル（ｊ）におけるサイクルタイムΔｔ秒の間の移送量に相当するため、上記式（１７）の両辺をΔｔで除することによって、サイクル（ｊ）における平均速度が求められる。すなわち、次式（１８）によってサイクル（ｊ）における平均速度が求められる。
【０１１５】
【数１７】
0005399537.tif 000018
【０１１６】
ここで、時定数τ＝ｎ・Δｔであることから１／ｎ＝１／（τ・Δｔ）と表すことができ、ｊ・Δｔを時刻ｔ、ｉ・Δｔを時刻Ｔとすると、上記式（１８）を式変形して次式（１９）のように表せる。
【０１１７】
【数１８】
0005399537.tif 000019
【０１１８】
この数式（１９）は、サイクル（ｉ）における平均速度（ｐ（Ｔ＋Δｔ）−ｐ（Ｔ））／Δｔをτ・Δｔの区間幅を有する分配区間内に均等に分配したときの分配値を、ｉ＝ｊ−ｎ＋１のサイクルからｉ＝ｊのサイクルまでの各サイクルの分、積算することを意味している。そして、サイクル（ｊ）における平均速度は、時刻ｔにおける平均速度Δｑ（ｔ）／Δｔに等しいので、次式（２０）が成り立つ。
【０１１９】
【数１９】
0005399537.tif 000020
【０１２０】
ここで、ｎを無限大にすると、Δｔはｄｔと表すことができ、Δｑ（ｔ）／Δｔはｑ’（ｔ）と表すことができ、（ｐ（Ｔ＋Δｔ）−ｐ（Ｔ））／Δｔはｐ’（Ｔ）と表すことができる。また、上記したようにｊ・Δｔ＝ｔであり、（ｊ−ｎ＋１）・Δｔ＝ｊ・Δｔ−ｎ・Δｔ＋Δｔ＝ｔ−τ＋Δｔとなる。ｎを無限大にするときには、Δｔは０に近似されるので、ｔ−τ＋Δｔは、ｔ−τとなる。これらのことから、上記式（２０）に基づいて次式（２１）を導くことができる。
【０１２１】
【数２０】
0005399537.tif 000021
【０１２２】
上記実施形態では、時定数の半分の値をａと規定しているため、上記式（２０）における時定数τを２ａに置き換えるとともに、直線型の分配関数ｆ（Ｔ）＝１／２ａであることから、上記式（２１）は、以下の式（２２）のように表される。
【０１２３】
【数２１】
0005399537.tif 000022
【０１２４】
この式（２２）から、変換後機械軸パスを従来の補間後加減速処理に直接的に対応するように加減速処理しようとすれば、加減速処理後の所定のブロックＱＡｉ（ｔ）の速度関数ＱＡｉ’（ｔ）を次式（２３）に従って求めることが考えられる。
【０１２５】
【数２２】
0005399537.tif 000023
【０１２６】
また、従来の補間後加減速処理では、各サイクルの移送パルスをそのサイクルの終点に対応する時刻以降で時定数に等しい区間幅を有する分配区間内に分配するため、そのような分配方式に直接的に対応する分配関数ｆ（Ｔ）は、以下の式（２４）を満たすものとなる。
【０１２７】
【数２３】
0005399537.tif 000024
【０１２８】
これらの式（２４），（２３）によって表される加減速処理の内容は、分配区間及び速度関数の分配値の積分範囲が上記加減速フィルタ２８による加減速処理における分配区間及び積分範囲に対して時定数の半分の値ａだけずれているだけで、上記加減速フィルタ２８による加減速処理の内容と実質的に同じである。従って、上記加減速フィルタ２８による加減速処理は、従来の補間後加減速処理と実質的に同等の効果、すなわち、異常データ部分の移送速度の変化を緩和するという効果をもたらす。
【０１２９】
次に、移送量導出部２２が、所定の設定時刻Ｔｓを０に初期セットするとともに、所定の設定サイクルタイムΔＴを１に初期セットする（図６のステップＳ６）。
【０１３０】
次に、移送量導出部２２は、設定時刻Ｔｓを基準時刻ｔに対する関数として表した設定時刻関数Ｔ（ｔ）を基準時刻ｔで微分して得られる値ｇ（ｔ）をさらに基準時刻ｔで微分した値ｄｇを０に初期セットする（ステップＳ８）。
【０１３１】
次に、移送量導出部２２は、メモリ５に記憶されている各機械軸方向毎の前記処理後機械軸パスＱＢ（ｔ）のデータに基づいて、設定サイクルタイムΔＴ当たりの各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］を次式（２５）によってそれぞれ算出する（ステップＳ１０）。
【０１３２】
ｄＰ［ａｘｉｓ］＝ＱＢ（Ｔ＋ΔＴ）［ａｘｉｓ］−ＱＢ（Ｔ）［ａｘｉｓ］・・・（２５）
次に、移送量導出部２２は、上記のように算出した各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］から各機械軸方向の合成方向における対象物の現在の移送速度Ｖ（以下、合成速度Ｖという）を次式（２６）によって算出する（ステップＳ１１）。
【０１３３】
Ｖ＝|ｄＰ［ ］|・・・（２６）
なお、この式（２６）において、|ｄＰ［ ］|は、設定サイクルタイムΔＴ当たりの各機械軸方向毎の移送量を合成した合成移送量であり、移送量導出部２２が前記各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］を合成することによって求める。
【０１３４】
次に、移送制御部１４が、移送量導出部２２によって導出された各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］に応じて各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂを駆動する（ステップＳ１２）。この際、移送制御部１４は、基準サイクルタイム（本実施形態では１ｍｍｓｅｃ）当たりに各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａを前記移送量ｄＰ［ａｘｉｓ］だけ移送することを指示するためのサーボ指令パルスを各機械軸方向毎に作成し、その作成した各機械軸方向毎のサーボ指令パルスを各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂの対応するものへ出力する。これにより、各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂのサーボモータは、移送制御部１４からのサーボ指令パルスに従って、基準サイクルタイム当たりに前記移送量ｄＰ［ａｘｉｓ］だけ支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの対応するものを対応する機械軸方向に移送する。
【０１３５】
次に、移送量導出部２２は、メモリ５に記憶された処理後機械軸パスＱＢ（ｔ）の全期間の処理が終了したか否かを判断する（ステップＳ１４）。具体的には、メモリ５に記憶された処理後機械軸パスＱＢ（ｔ）のデータは、上記のように設定サイクルタイムΔＴ毎に順番に移送量ｄＰ［ａｘｉｓ］を求めるための演算処理が行われるため、当該ステップＳ１４では、その演算処理がメモリ５に記憶された処理後機械軸パスＱＢ（ｔ）の全期間について終了したかが判断される。ここで、移送量導出部２２がメモリ５に記憶された処理後機械軸パスＱＢ（ｔ）の全期間の処理を終了したと判断した場合には、数値制御装置２による数値制御のプロセスが終了する。
【０１３６】
なお、上記のような演算処理と並行して、加減速要求監視部１０は、図１２に示すようなプロセスで特別指令入力装置１２２に特別指令が入力されたか否かの監視を行っている。
【０１３７】
具体的には、加減速要求監視部１０は、まず、工作機械が連続運転中であるか否かを判断する（ステップＳ１２２）。ここで、加減速要求監視部１０は、工作機械が連続運転中であると判断した場合には、次に、緊急停止ボタン１２４ａが押されたか否かを判断する（ステップＳ１２４）。
【０１３８】
そして、加減速要求監視部１０は、停止信号発信部１２４ｂから発信される緊急停止信号を検知して緊急停止ボタン１２４ａが押されたと判断した場合には、緊急停止要求を発行し（ステップＳ１２６）、その後、前記ステップＳ１２２の処理を再度行う。一方、加減速要求監視部１０は、緊急停止ボタン１２４ａが押されていないと判断した場合には、次に、オーバーライドダイヤル１２８ａが回動されたか否かを判断する（ステップＳ１２８）。
【０１３９】
ここで、加減速要求監視部１０は、速度変更信号発信部１２８ｂから発信される速度変更信号を検知してオーバーライドダイヤル１２８ａが回動されたと判断した場合には、そのオーバーライドダイヤル１２８ａの回動方向及び回動量に応じたオーバーライド係数ｋの情報を含む速度変更要求を発行し（ステップＳ１３０）、その後、前記ステップＳ１２２の処理を再度行う。また、加減速要求監視部１０は、オーバーライドダイヤル１２８ａが回動されていないと判断した場合には、速度変更要求を発行することなく、前記ステップＳ１２２の処理を再度行う。
【０１４０】
また、加減速要求監視部１０は、前記ステップＳ１２２の判断において工作機械が連続運転中ではないと判断した場合には、前記緊急停止要求により各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂによる各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送が停止中であるか否かを判断する（ステップＳ１３２）。
【０１４１】
加減速要求監視部１０は、各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送が停止中であると判断した場合には、次に、再始動ボタン１２６ａが押されたか否かを判断する（ステップＳ１３４）。この際、加減速要求監視部１０は、再始動信号発信部１２６ｂから発信される再始動信号を検知して再始動ボタン１２６ａが押されたと判断した場合には、再始動要求を発行し（ステップＳ１３６）、その後、前記ステップＳ１２２の処理を再度行う。また、加減速要求監視部１０は、再始動ボタン１２６ａが押されていないと判断した場合には、再始動要求を発行することなく、前記ステップＳ１２２の処理を再度行う。
【０１４２】
一方、移送量導出部２２は、前記ステップＳ１４の判断において、メモリ５に記憶された処理後機械軸パスＱＢ（ｔ）の全期間の処理が終了していないと判断した場合には、次に、緊急停止要求が加減速要求監視部１０から出されているか否かを判断する（図６のステップＳ１６）。ここで、移送量導出部２２は、緊急停止要求が出されていると判断した場合には、図１３に示す緊急停止プロセスを実行する。
【０１４３】
具体的には、移送量導出部２２は、まず、現時点での対象物の合成速度Ｖの値を一時的にメモリ５に記憶させ（ステップＳ５２）、その後、減速停止期間ｔｉｍｅと停止時サイクルタイム変動関数ｇ（ｔ）を算出する（ステップＳ５４）。ここで、移送量導出部２２は、減速停止期間ｔｉｍｅの始期における停止時サイクルタイム変動関数ｇ（ｔ）の値ｇｓが設定サイクルタイムΔＴに等しく、減速停止期間ｔｉｍｅの終期における停止時サイクルタイム変動関数ｇ（ｔ）の値ｇｅが０であり、減速停止期間ｔｉｍｅの始期における合成速度が前記Ｖであるという条件を満たすような減速停止期間ｔｉｍｅ及び停止時サイクルタイム変動関数ｇ（ｔ）を算出する。この減速停止期間ｔｉｍｅ及び停止時サイクルタイム変動関数ｇ（ｔ）の算出プロセスは、図１６に示されている。なお、この図１６は、後述する再始動プロセスにおける再始動加速期間ｔｉｍｅ及び再始動時サイクルタイム変動関数ｇ（ｔ）の算出と速度変更プロセスにおける速度変更期間ｔｉｍｅ及び速度変更時サイクルタイム変動関数ｇ（ｔ）の算出にも共通して適用可能なプロセスを示している。すなわち、移送量導出部２２は、特別指令入力装置１２２への特別指令の入力に伴って実施される対象物の速度変化を伴う動作において共通の算出プロセスでその速度変化を伴う動作に要する期間ｔｉｍｅとその期間ｔｉｍｅ内でのサイクルタイムの変動を表すサイクルタイム変動関数ｇ（ｔ）を算出する。
【０１４４】
停止時サイクルタイム変動関数ｇ（ｔ）は、減速停止期間ｔｉｍｅの始期（移送量導出部２２が緊急停止要求を受けた時点）において対象物が一定速度で移動している場合には、例えば図１７に示すような曲線で表され、減速停止期間ｔｉｍｅの始期において対象物が加速中である場合には、例えば図１８に示すような曲線で表され、減速停止期間ｔｉｍｅの始期において対象物が減速中である場合には、例えば図１９に示すような曲線で表される。
【０１４５】
移送量導出部２２は、減速停止期間ｔｉｍｅ及び停止時サイクルタイム変動関数ｇ（ｔ）の算出にあたって、まず、停止時サイクルタイム変動関数ｇ（ｔ）の二次微分値ｊと、停止時サイクルタイム変動関数ｇ（ｔ）の一次微分の傾きαを求める（図１６のステップＳ１４２）。この際、前記二次微分値ｊは、次式（２７）で求められ、前記一次微分の傾きαは、次式（２８）で求められる。
【０１４６】
ｊ＝Ｊ／Ｖ・・・（２７）
α＝Ａ／Ｖ・・・（２８）
なお、Ｊは対象物の合成移動方向における許容ジャークであり、Ａは対象物の合成移動方向における許容加速度である。これらＪ及びＡの値は、本実施形態のｔｉｍｅ及びｇ（ｔ）の算出プロセスのために設定されるパラメータであり、工作機械の機械特性に基づいて規定される加減速条件としての許容ジャーク及び許容加速度の半分程度の値に設定される。
【０１４７】
次に、移送量導出部２２は、停止時サイクルタイム変動関数ｇ（ｔ）の基準時刻ｔによる一次微分値ｄｇのｔ＝０の点での値が０以上であるか否かを判断する（ステップＳ１４４）。ここで、移送量導出部２２は、このｄｇの値が０以上であると判断した場合には、停止時サイクルタイム変動関数ｇ（ｔ）で表される二次曲線の前半部の二次微分値ｊ１を−ｊに設定する（ステップＳ１４６）。一方、移送量導出部２２は、このｄｇの値が０よりも小さいと判断した場合には、前記二次微分値ｊ１をｊに設定する（ステップＳ１４８）。
【０１４８】
次に、移送量導出部２２は、減速停止期間ｔｉｍｅにおける停止時サイクルタイム変動関数ｇ（ｔ）の始点に対する当該停止時サイクルタイム変動関数ｇ（ｔ）の二次曲線の前半部の頂点の相対位置（ｔ０，Ｅ０）を以下の式（２９）及び（３０）によって仮算出するとともに、その二次曲線の前半部の頂点から当該二次曲線の後半部の終点までの範囲における停止時サイクルタイム変動関数ｇ（ｔ）の値の変化量Ｅを以下の式（３１）によって仮算出する（ステップＳ１５０）。
【０１４９】
ｔ０＝−ｄｇ／ｊ１・・・（２９）
Ｅ０＝（ｄｇ／２）×ｔ０・・・（３０）
Ｅ＝ｇｅ−ｇｓ−Ｅ０・・・（３１）
次に、移送量導出部２２は、前記停止時サイクルタイム変動関数ｇ（ｔ）の値の変化量Ｅが０以上であるか否かを判断する（ステップＳ１５２）。ここで、移送量導出部２２は、前記変化量Ｅが０以上であると判断した場合には、停止時サイクルタイム変動関数ｇ（ｔ）の二次曲線の前半部の二次微分値ｊ１をｊに設定するとともに、停止時サイクルタイム変動関数ｇ（ｔ）の二次曲線の後半部の二次微分値ｊ２を−ｊに設定する（ステップＳ１５４）。一方、移送量導出部２２は、前記変化量Ｅが０よりも小さいと判断した場合には、前記二次曲線の前半部の二次微分値ｊ１を−ｊに設定するとともに、前記二次曲線の後半部の二次微分値ｊ２をｊに設定し、さらに、前記ｇ（ｔ）の一次微分の傾きαを正負逆に設定する（ステップＳ１５６）。
【０１５０】
次に、移送量導出部２２は、停止時サイクルタイム変動関数ｇ（ｔ）の二次曲線の始点に対する当該二次曲線の前半部の頂点の相対位置（ｔ０，Ｅ０）を上記式（２９），（３０）によって再算出するとともに、その二次曲線の前半部の頂点から後半部の終点までのｇ（ｔ）の変化量Ｅを上記式（２２）によって再算出する（ステップＳ１５８）。
【０１５１】
次に、移送量導出部２２は、停止時サイクルタイム変動関数ｇ（ｔ）の二次曲線の前半部の頂点のｇ（ｔ）の値ｇｕと、当該二次曲線の始点から変曲点までにかかる時間ｔ１と、当該二次曲線の変曲点から終点までにかかる時間ｔ２と、当該二次曲線の始点から変曲点までの範囲におけるｇ（ｔ）の変化量Ｇ１と、当該二次曲線の変曲点から終点までの範囲におけるｇ（ｔ）の変化量Ｇ２と、当該二次曲線の始点から終点までの範囲におけるｇ（ｔ）の変化量Ｇとをそれぞれ算出する（ステップＳ１６０）。この際、移送量導出部２２は、前記ｇｕを以下の式（３２）によって算出し、前記ｔ１を以下の式（３３）によって算出し、前記ｔ２を以下の式（３４）によって算出する。また、移送量導出部２２は、前記Ｇ１を以下の式（３５）によって算出し、前記Ｇ２を以下の式（３６）によって算出し、前記Ｇを以下の式（３７）によって算出する。
【０１５２】
ｇｕ＝ｇｓ＋Ｅ０・・・（３２）
ｔ１＝α／ｊ１・・・（３３）
ｔ２＝−α／ｊ２・・・（３４）
Ｇ１＝（α／２）×ｔ１・・・（３５）
Ｇ２＝（α／２）×ｔ２・・・（３６）
Ｇ＝Ｇ１＋Ｇ２・・・（３７）
次に、移送量導出部２２は、前記二次曲線の前半部の頂点から後半部の終点までの範囲におけるｇ（ｔ）の変化量の絶対値|Ｅ|が前記二次曲線の始点から終点までの範囲におけるｇ（ｔ）の変化量の絶対値|Ｇ|以上であるか否かを判断する（ステップＳ１６２）。ここで、前記|Ｅ|が前記|Ｇ|以上である場合は、図２０に示すように前記二次曲線の前半の曲線部と後半の曲線部との間に直線部が介在している場合に相当するため、移送量導出部２２は、その前半の曲線部の区間０≦ｔ≦Ｔ１、直線部の区間Ｔ１＜ｔ＜Ｔ２及び後半の曲線部の区間Ｔ２≦ｔ≦ｔｉｍｅの３つの区間のそれぞれにおける停止時サイクルタイム変動関数ｇ（ｔ）を個別に求める（ステップＳ１６４）。
【０１５３】
具体的には、移送量導出部２２は、０≦ｔ≦Ｔ１の区間の停止時サイクルタイム変動関数ｇ（ｔ）を次式（３８）で求める。
【０１５４】
ｇ（ｔ）＝ｇｕ＋（ｊ１／２）×（ｔ−ｔ０）２・・・（３８）
また、移送量導出部２２は、Ｔ１＜ｔ＜Ｔ２の区間の停止時サイクルタイム変動関数ｇ（ｔ）を次式（３９）で求める。
【０１５５】
ｇ（ｔ）＝ｇｕ＋Ｇ１＋α×（ｔ−Ｔ１）・・・（３９）
また、移送量導出部２２は、Ｔ２≦ｔ≦ｔｉｍｅの区間の停止時サイクルタイム変動関数ｇ（ｔ）を次式（４０）で求める。
【０１５６】
ｇ（ｔ）＝ｇｅ＋（ｊ２／２）×（ｔ−ｔｉｍｅ）２・・・（４０）
なお、この場合において、前記Ｔ１は、前記二次曲線の始点から第１の変曲点（前半の曲線部の終点）までにかかる時間であり、以下の式（４１）によって求められ、前記Ｔ２は、前記二次曲線の始点から第２の変曲点（直線部の終点）までにかかる時間であり、以下の式（４２）によって求められる。また、減速停止期間ｔｉｍｅは、前記二次曲線の始点から終点までにかかる時間であるため、以下の式（４３）によって求められる。
【０１５７】
Ｔ１＝ｔ０＋ｔ１・・・（４１）
Ｔ２＝Ｔ１＋（Ｅ−Ｇ）／α・・・（４２）
ｔｉｍｅ＝Ｔ２＋ｔ２・・・（４３）
一方、前記|Ｅ|が前記|Ｇ|よりも小さい場合は、前記二次曲線の前半の曲線部と後半の曲線部との間に直線部が介在せず、それら両曲線部が連続している場合に相当するため、移送量導出部２２は、その前半の曲線部の区間０≦ｔ≦Ｔ１及び後半の曲線部の区間Ｔ１＜ｔ≦ｔｉｍｅの２つの区間のそれぞれにおける停止時サイクルタイム変動関数ｇ（ｔ）を個別に求める（ステップＳ１６５）。
【０１５８】
具体的には、移送量導出部２２は、０≦ｔ≦Ｔ１の区間の停止時サイクルタイム変動関数ｇ（ｔ）を次式（４４）で求める。
【０１５９】
ｇ（ｔ）＝ｇｕ＋（ｊ１／２）×（ｔ−ｔ０）２・・・（４４）
また、移送量導出部２２は、Ｔ１＜ｔ≦ｔｉｍｅの区間の停止時サイクルタイム変動関数ｇ（ｔ）を次式（４５）で求める。
【０１６０】
ｇ（ｔ）＝ｇｅ＋（ｊ２／２）×（ｔ−ｔｉｍｅ）２・・・（４５）
なお、この場合において、減速停止期間ｔｉｍｅは、次式（４６）によって求められる。
【０１６１】
ｔｉｍｅ＝Ｔ１＋ｔ２・・・（４６）
ここで、Ｔ１は、前記二次曲線の始点から変曲点（前半の曲線部の終点）までにかかる時間であり、次式（４７）によって求められる。
【０１６２】
Ｔ１＝ｔ０＋ｔ１・・・（４７）
また、ｔ１は、以下の式（４８）によって求められ、ｔ２は、以下の式（４９）によって求められる。
【０１６３】
ｔ１＝［２×Ｅ×ｊ２／｛ｊ１×（ｊ２−ｊ１）｝］１／２・・・（４８）
ｔ２＝−ｊ１／ｊ２×ｔ１・・・（４９）
以上のようにして、停止時サイクルタイム変動関数ｇ（ｔ）と減速停止期間ｔｉｍｅが求められる。
【０１６４】
次に、移送量導出部２２は、基準時刻ｔを０に初期セットする（図１３のステップＳ５６）。
【０１６５】
その後、移送量導出部２２は、基準時刻ｔを１だけカウントアップし（ステップＳ５８）、続いて、この緊急停止プロセス（減速停止期間ｔｉｍｅ）における設定時刻Ｔｓのサイクルタイムである減速時設定サイクルタイムｄＴ２を上記のように求めた停止時サイクルタイム変動関数ｇ（ｔ）に基づいて算出する（ステップＳ６０）。この際、算出される減速時設定サイクルタイムｄＴ２の長さは、緊急停止要求が加減速要求監視部１０から出される直前の状態、すなわち停止指令入力装置１２４の緊急停止ボタン１２４ａが押される直前の状態における設定サイクルタイムΔＴの長さから減少した長さとなる。移送量導出部２２は、前記ステップＳ５８でカウントアップした基準時刻ｔを停止時サイクルタイム変動関数ｇ（ｔ）に代入することによって減速時設定サイクルタイムｄＴ２を算出する。
【０１６６】
次に、移送量導出部２２は、減速時設定サイクルタイムｄＴ２当たりの各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］、すなわち設定時刻ＴｓからＴ＋ｄＴ２までの各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］を次式（５０）によって算出する（ステップＳ６２）。
【０１６７】
ｄＰ［ａｘｉｓ］＝ＱＢ（Ｔ＋ｄＴ２）［ａｘｉｓ］−ＱＢ（Ｔ）［ａｘｉｓ］・・・（５０）
このように求められた減速時設定サイクルタイムｄＴ２当たりの各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］は、緊急停止要求が加減速要求監視部１０から出される直前の状態における設定サイクルタイムΔＴ当たりの各機械軸方向毎の移送量よりも小さくなる。
【０１６８】
その後、前記ステップＳ１２と同様に、移送制御部１４が、移送量導出部２２によって算出された減速時設定サイクルタイムｄＴ２当たりの各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］に応じて各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂを駆動してそれら移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂに対応する支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａを基準サイクルタイム当たりに対応する各機械軸方向の移送量ｄＰ［ａｘｉｓ］だけ移送させる（ステップＳ６４）。
【０１６９】
次に、移送量導出部２２は、設定時刻Ｔｓに前記ステップＳ６０で算出した減速時設定サイクルタイムｄＴ２を加算して設定時刻Ｔｓを更新する（ステップＳ６６）。
【０１７０】
その後、移送量導出部２２は、基準時刻ｔが減速停止期間ｔｉｍｅ以上になったか否かを判断する（ステップＳ６８）。ここで、移送量導出部２２が基準時刻ｔは減速停止期間ｔｉｍｅ以上になっていると判断した場合には、対象物の移送が停止していることになり、移送量導出部２２は、次に、メモリ５に記憶されている合成速度Ｖの値を読み込む（ステップＳ７０）。この後、再始動指令入力装置１２６に再始動指令が入力された場合には、対象物の移送を再開させる再始動プロセス（図１４参照）が行われる。一方、移送量導出部２２は、前記ステップＳ６８において、基準時刻ｔが減速停止期間ｔｉｍｅを経過していないと判断した場合には、前記ステップＳ５８以降の処理を再度行う。
【０１７１】
次に、対象物の再始動プロセスについて説明する。この再始動プロセスでは、移送量導出部２２が加減速要求監視部１０から再始動要求が出力されているか否かを判断する（ステップＳ７２）。ここで、移送量導出部２２は、加減速要求監視部１０から再始動要求が出されていないと判断した場合には、当該ステップＳ７２の判断を繰り返し行う。一方、移送量導出部２２は、加減速要求監視部１０から再始動要求が出されていると判断した場合には、次に、再始動加速期間ｔｉｍｅと再始動時サイクルタイム変動関数ｇ（ｔ）を算出する（ステップＳ７４）。この際、移送量導出部２２は、再始動加速期間ｔｉｍｅの始期における再始動時サイクルタイム変動関数ｇ（ｔ）の値ｇｓが０であり、再始動加速期間ｔｉｍｅの終期における再始動時サイクルタイム変動関数ｇ（ｔ）の値ｇｅが現時点でのオーバーライド係数ｋに等しくなり、再始動加速期間ｔｉｍｅの終期における合成速度が前記Ｖになるという条件を満たす再始動加速期間ｔｉｍｅ及び再始動時サイクルタイム変動関数ｇ（ｔ）を算出する。この再始動加速期間ｔｉｍｅ及び再始動時サイクルタイム変動関数ｇ（ｔ）の算出プロセスは、上記した減速停止期間ｔｉｍｅ及び停止時サイクルタイム変動関数ｇ（ｔ）の算出プロセス（図１６のステップＳ１４２〜Ｓ１６５）と同様である。また、この算出プロセスでは、前記ｔ０及び前記Ｅ０は共に０となり、前記ｄｇは０である。
【０１７２】
再始動時サイクルタイム変動関数ｇ（ｔ）は、その関数によって表される前半の二次曲線の頂点から後半の二次曲線の終点までの区間におけるｇ（ｔ）の変化量の絶対値|Ｅ|が再始動加速期間ｔｉｍｅにおけるｇ（ｔ）の変化量の絶対値|Ｇ|以上である場合には、図２１に示すような前半の曲線部と後半の曲線部との間に直線部が介在するような曲線で表され、前記|Ｅ|が前記|Ｇ|よりも小さい場合には、図２２に示すような前半の曲線部と後半の曲線部とが直線部を介することなく連続している曲線で表される。
【０１７３】
そして、移送量導出部２２は、再始動加速期間ｔｉｍｅ及び再始動時サイクルタイム変動関数ｇ（ｔ）を算出した後、図１４のステップＳ７６〜Ｓ８８のプロセスを上記図１３のステップＳ５６〜Ｓ６８のプロセスと同様に行う。この際、移送量導出部２２は、ステップＳ８０において、ステップＳ７４で算出した再始動時サイクルタイム変動関数ｇ（ｔ）に基づいて加速時設定サイクルタイムｄＴ２を算出し、ステップＳ８２において、その算出した加速時設定サイクルタイムｄＴ２当たりの各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］を算出する。以上のような再始動プロセスが行われることによって、停止していた対象物は、移動を再開し、現時点でのオーバーライド係数ｋに応じた速度まで加速する。
【０１７４】
そして、移送量導出部２２がステップＳ８８の判断において基準時刻ｔが再始動加速期間ｔｉｍｅ以上になっていると判断した場合には、移送量導出部２２は、図６のステップＳ８以降の処理を再度行う。
【０１７５】
ところで、移送量導出部２２が前記ステップＳ１６において加減速要求監視部１０から緊急停止要求が出されていないと判断した場合には、その後、加減速要求監視部１０から速度変更要求が出されているか否かを判断する（ステップＳ１８）。
【０１７６】
ここで、移送量導出部２２は、加減速要求監視部１０から速度変更要求が出されていると判断した場合には、図１５に示す対象物の速度変更プロセスを実施する。
【０１７７】
具体的には、移送量導出部２２は、まず、速度変更期間ｔｉｍｅと速度変更時サイクルタイム変動関数ｇ（ｔ）を算出する（ステップＳ９０）。この際、移送量導出部２２は、速度変更期間ｔｉｍｅの始期における速度変更時サイクルタイム変動関数ｇ（ｔ）の値ｇｓが設定サイクルタイムΔＴに等しくなり、速度変更期間ｔｉｍｅの終期における速度変更時サイクルタイム変動関数ｇ（ｔ）の値ｇｅが速度変更後のオーバーライド係数ｋに等しくなり、速度変更期間ｔｉｍｅの始期における合成速度が前記Ｖになるという条件を満たす速度変更期間ｔｉｍｅ及び速度変更時サイクルタイム変動関数ｇ（ｔ）を算出する。
【０１７８】
対象物の加速動作を行う場合の速度変更時サイクルタイム変動関数ｇ（ｔ）は、速度変更期間ｔｉｍｅの始期（移送量導出部２２が速度変更要求を受けた時点）において対象物が一定速度で移動している場合には、例えば図２３に示すような曲線で表される。一方、速度変更期間ｔｉｍｅの始期において対象物が加速中である場合に、さらにその対象物の加速動作が実行される場合の速度変更時サイクルタイム変動関数ｇ（ｔ）は、図２４に示すような曲線で表され、速度変更期間ｔｉｍｅの始期において対象物が減速中である場合にその対象物の減速動作が実行される場合の速度変更時サイクルタイム変動関数ｇ（ｔ）は、図２５に示すような曲線で表される。
【０１７９】
また、対象物の減速動作を行う場合の速度変更時サイクルタイム変動関数ｇ（ｔ）は、速度変更期間ｔｉｍｅの始期（移送量導出部２２が速度変更要求を受けた時点）において対象物が一定速度で移動している場合には、例えば図２６に示すような曲線で表される。一方、速度変更期間ｔｉｍｅの始期において対象物が加速中である場合にその対象物の減速動作が実行される場合の速度変更時サイクルタイム変動関数ｇ（ｔ）は、図２７に示すような曲線で表され、速度変更期間ｔｉｍｅの始期において対象物が減速中である場合にさらにその対象物の減速動作が実行される場合の速度変更時サイクルタイム変動関数ｇ（ｔ）は、図２８に示すような曲線で表される。
【０１８０】
なお、前記図２３〜図２８は、いずれも、速度変更時サイクルタイム変動関数ｇ（ｔ）によって表される前半の二次曲線の頂点から後半の二次曲線の終点までの区間におけるｇ（ｔ）の変化量の絶対値|Ｅ|が速度変更期間ｔｉｍｅにおけるｇ（ｔ）の変化量の絶対値|Ｇ|よりも小さい場合に対応しており、これらの場合には、速度変更時サイクルタイム変動関数ｇ（ｔ）は、前半の曲線部と後半の曲線部とが直線部を介することなく連続した形状の曲線によって表される。一方、前記|Ｅ|が前記|Ｇ|以上である場合には、これら各図の前半の曲線部と後半の曲線部とが直線部を介して繋げられた形状の曲線によって速度変更時サイクルタイム変動関数ｇ（ｔ）が表される。
【０１８１】
そして、移送量導出部２２は、速度変更期間ｔｉｍｅ及び速度変更時サイクルタイム変動関数ｇ（ｔ）を算出した後、基準時刻ｔを０にセットし（ステップＳ９２）、その後、基準時刻ｔを１だけカウントアップする（ステップＳ９４）。
【０１８２】
次に、移送量導出部２２は、ステップＳ９０で算出した速度変更時サイクルタイム変動関数ｇ（ｔ）に基づいて設定サイクルタイムΔＴを算出する（ステップＳ９６）。この設定サイクルタイムΔＴは、前記ステップＳ９４でカウントアップした基準時刻ｔを速度変更時サイクルタイム変動関数ｇ（ｔ）に代入することによって求められる。
【０１８３】
次に、移送量導出部２２は、この算出した設定サイクルタイムΔＴ当たりの各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］を前記ステップＳ１０と同様にして算出する（ステップＳ９８）。
【０１８４】
次に、移送量導出部２２は、前記ステップＳ９８で算出した各機械軸方向毎の移送量ｄＰ［ａｘｉｓ］から現時点での対象物の合成速度Ｖを算出する（ステップＳ１００）。この合成速度Ｖの算出方法は、前記ステップＳ１１における合成速度Ｖの算出方法と同様である。
【０１８５】
その後、移送制御部１４が、前記ステップＳ９８で算出した移送量ｄＰ［ａｘｉｓ］に応じて前記ステップＳ１２と同様に各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂを駆動する（ステップＳ１０２）。その後、移送量導出部２２は、設定時刻Ｔｓに前記ステップＳ９６で算出した設定サイクルタイムΔＴを加算してその設定時刻Ｔｓを更新する（ステップＳ１０４）。
【０１８６】
次に、移送量導出部２２は、前記ステップＳ９０で求めた速度変更時サイクルタイム変動関数ｇ（ｔ）を基準時刻ｔで微分することにより前記ｄｇを算出する（ステップＳ１０６）。
【０１８７】
その後、移送量導出部２２は、基準時刻ｔが速度変更期間ｔｉｍｅ以上であるか否かを判断し（ステップＳ１０８）、基準時刻ｔが速度変更期間ｔｉｍｅ以上であると判断した場合には、前記ステップＳ８以降の処理を再度行う一方、基準時刻ｔが速度変更期間ｔｉｍｅを経過していないと判断した場合には、次に、加減速要求監視部１０から緊急停止要求が出されているか否かを前記ステップＳ１６と同様に判断する（ステップＳ１１０）。
【０１８８】
ここで、移送量導出部２２が加減速要求監視部１０から緊急停止要求が出されていると判断した場合には、前記ステップＳ５２〜Ｓ６８の緊急停止プロセスが実施され、加減速要求監視部１０から緊急停止要求が出されていないと判断した場合には、移送量導出部２２は、次に、加減速要求監視部１０から速度変更要求が出されているか否かを前記ステップＳ１８と同様に判断する（ステップＳ１１２）。移送量導出部２２が加減速要求監視部１０から速度変更要求が出されていると判断した場合には、前記ステップＳ９０以降の速度変更プロセスが再度実施される。一方、移送量導出部２２が加減速要求監視部１０から速度変更要求が出されていないと判断した場合には、前記ステップＳ９４以降のプロセスが再度行われる。
【０１８９】
ところで、移送量導出部２２が上記ステップＳ１８の判断において加減速要求監視部１０から速度変更要求が出されていないと判断した場合には、次に、移送量導出部２２は、設定時刻Ｔｓに設定サイクルタイムΔＴを加算して設定時刻Ｔｓを更新する（図６のステップＳ２０）。その後、前記ステップＳ１０以降のプロセスが再度行われる。
【０１９０】
以上のようにして、本実施形態の数値制御装置２による数値制御プロセスが実施される。
【０１９１】
本実施形態では、加減速フィルタ２８が、パス変換部２６によって算出された各機械軸方向についての変換後機械軸パスに対して当該変換後機械軸パスから得られる各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送速度の変化を緩和するための加減速処理を行うため、基準機械軸パスに機械ショックの要因となる異常データが含まれていても、その異常データを当該加減速処理により機械ショックを引き起こさない緩やかな速度変化を示すように修正することができる。
【０１９２】
さらに、本実施形態では、パス変換部２６が、基準機械軸パスに対して加減速フィルタ２８による加減速処理と同じ処理である変換部加減速処理を行った場合に得られる機械軸パスと基準機械軸パスとの誤差に相当する補正量を各機械軸方向毎に算出し、その算出した各機械軸方向毎の補正量で前記誤差を相殺する方向に各機械軸方向についての基準機械軸パスを補正して変換後機械軸パスを算出するため、変換後機械軸パスは、加減速フィルタ２８による加減速処理によって生じる各機械軸方向毎の誤差を予め見込んでその誤差を相殺する方向に補正した機械軸パスとなる。このため、加減速フィルタ２８が変換後機械軸パスに対して加減速処理を行ったときには、その加減速処理によって生じる全ての機械軸方向についての誤差を抑制することができ、その結果、当該加減速処理によって生じるワークの加工形状の誤差を抑制することができる。
【０１９３】
また、本実施形態では、加減速フィルタ２８が加減速処理を行うときに、ｔ−ａからｔ＋ａに亘る区間内の各設定時刻Ｔにおける速度関数ＰＢ’（Ｔ）をその各設定時刻Ｔを中心として前後に均等に広がるＴ−ａからＴ＋ａまでの分配区間内にそれぞれ分配するため、各設定時刻における速度関数をその各設定時刻以降の分配区間内にそれぞれ分配するような場合と異なり、等速での対象物の移送を指示する区間において速度関数の分配形式に起因する設定時刻の遅れが生じない。このため、加減速フィルタ２８が前記分配区間内に分配した速度関数ＰＢ’（Ｔ）の分配値ＰＢ’（Ｔ）・ｆ（ｔ−Ｔ）を積分して速度関数ＱＢ’（ｔ）を算出し、その算出した速度関数ＱＢ’（ｔ）をさらに積分することによって算出した処理後機械軸パスＱＢ（ｔ）では、等速での対象物の移送を指示する区間において速度関数の分配形式に起因した時刻の遅れが生じるのを防ぐことができる。
【０１９４】
また、本実施形態では、パス変換部２６が変換部加減速処理後の機械軸パスと基準機械軸パスとの誤差に相当する補正量を算出するときに、変換部加減速処理後の機械軸パスと基準機械軸パスとの間で互いに減算する点同士の時刻の対応付けを簡略化しつつ、変換部加減速処理における速度関数の分配形式に起因して生じる位相誤差の要素を補正量から低減することができる。具体的には、仮に、パス変換部２６が、変換部加減速処理において、基準機械軸パスのある区間中の各設定時刻における速度をその時刻以降の時定数に相当する区間幅を有する分配区間内にそれぞれ分配し、その分配した各分配値を積分して速度関数を算出し、その算出した速度関数をさらに積分するような算出式に従って、当該処理後の機械軸パスを算出する場合には、当該処理後の機械軸パスにおける設定時刻は基準機械軸パスにおける設定時刻に対して遅れるため、この設定時刻の遅れを考慮せずに処理後の機械軸パスから基準機械軸パスを減算してそれら両機械軸パス間の誤差に相当する補正量を求めると、その補正量の中に位相誤差が含まれることになる。このような場合に、補正量から位相誤差の要素を排除しようとすると、上記の速度関数の分配形式に起因して生じる前記処理後の機械軸パスと基準機械軸パスとの間の設定時刻の遅れを解消するための対応付け（時刻調整）を行った上で、前記処理後の機械軸パスと基準機械軸パスとの誤差を求める必要があり、その対応付けの処理が煩雑である。これに対して、本実施形態では、パス変換部２６は、変換部加減速処理において、基準機械軸パスの各設定時刻Ｔにおける速度関数ＰＡｉ’（Ｔ）をその各設定時刻Ｔを中心として前後に均等に広がるＴ−ａからＴ＋ａまでの分配区間内にそれぞれ分配するため、等速での対象物の移送を指示する区間において速度関数ＰＡｉ’（Ｔ）の分配形式に起因した設定時刻の遅れが生じるのを防ぐことができる。このため、変換部加減速処理後の機械軸パスＱＡ（ｔ）では、等速での対象物の移送を指示する区間において基準機械軸パスとの間で同一時刻ｔでの座標値が一致する。このため、変換部加減速処理後の機械軸パスＱＡ（ｔ）と基準機械軸パスとの誤差に相当する補正量を算出するときに、それら両機械軸パス間で互いに減算する点同士の設定時刻の対応付けを簡略化しつつ、補正量から基準機械軸パスの速度関数の分配形式に起因する位相誤差の要素を低減することができる。
【０１９５】
また、本実施形態では、加減速フィルタ２８が加減速処理を行うときに、ｔ−ａからｔ＋ａに亘る区間内の各時刻Ｔにおける速度関数ＰＢｉ’（Ｔ）をその各時刻Ｔを中心として前後に均等に広がるＴ−ａからＴ＋ａまでの分配区間内にそれぞれ分配するため、各時刻における速度関数をその各時刻以降の分配区間内にそれぞれ分配するような場合と異なり、当該速度関数の分配形式に起因する時刻の遅れが生じない。このため、加減速フィルタ２８による加減速処理後の機械軸パスＱＢ（ｔ）において、速度関数の分配形式に起因した時刻の遅れが生じるのを防ぐことができる。
【０１９６】
また、本実施形態では、時刻調整部３８が、各機械軸方向についての調整前機械軸パスについて対象物の移送開始直後の加速期間（０≦ｔ＜Ｔｊ）に対応する部分及び対象物の移送停止直前の減速期間（ｔｅ−Ｔｊ＜ｔ≦ｔｅ）に対応する部分について時刻調整を行うため、パス変換部２６が変換部加減速処理を行う前に、予めその変換部加減速処理によって生じる前記加速期間及び前記減速期間に対応する各部分の設定時刻のずれを相殺する方向に補正した基準機械軸パスを求めることができる。このため、パス変換部２６が変換部加減速処理を行った後の機械軸パスの前記加速期間及び前記減速期間に対応する各部分において、設定時刻のずれが生じるのを防ぐことができ、それらの各部分について適切な補正量を算出することができる。
【０１９７】
また、本実施形態では、特別指令入力装置１２２に特別指令を入力して工作機械に対象物の速度変化を伴うイレギュラーな動作を実施させる際、各機械軸方向に共通の設定サイクルタイムの長さが特別指令の入力直前の状態における長さからその特別指令が指示する速度変化に応じた長さに変化させられるとともに、処理後機械軸パスから算出されたその変化後の設定サイクルタイム当たりの各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの対応する機械軸方向への移送量に応じて各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａが移送される。このため、ワークの加工時における対象物の通常の移送とは別にその対象物のイレギュラーな速度変化を伴う動作を実行させる場合に、対象物が処理後機械軸パスによって示される軌跡からずれるのを防ぐことができる。具体的には、本実施形態のように特別指令に応じて各機械軸方向に共通の設定サイクルタイムの長さを変化させる場合には、処理後機械軸パスからその設定サイクルタイム当たりに算出される各機械軸方向への支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａの移送量が各機械軸方向についての処理後機械軸パスによって規定される各機械軸方向同士の間の相対的な位置関係が維持された状態で算出される。このため、その算出された設定サイクルタイム当たりの各機械軸方向への移送量に応じて各支持体１０２ｂ，１０６ａ，１０８ａ，１１０ａが各移送部１０２ｃ，１０６ｂ，１０８ｂ，１１０ｂによって移送されると、各機械軸方向についての処理後機械軸パスによって規定される各機械軸方向同士の間の相対的な位置関係が維持された状態で対象物の速度変化を伴う動作が実施される。その結果、対象物の速度変化を伴うイレギュラーな動作が実施されたとしても、対象物が各機械軸方向についての処理後機械軸パスによって示される軌跡からずれるのを防ぐことができる。
【０１９８】
さらに、本実施形態では、加減速処理による異常データに起因する機械ショックの抑制効果を得つつ、特別指令に応じて対象物が速度変化を伴う動作を行うときに元の加工パスによって示される軌跡から外れるのを防ぐことができる。具体的には、仮に、異常データに起因する機械ショックを抑制するために従来のパルス補間後の加減速処理を行う場合には、その補間後加減速処理が行われた後の移送パルスが示す対象物の移動軌跡は、補間後加減速処理によって生じる誤差により元の加工パスによって示される移動軌跡からずれることになる。この場合に、特別指令に応じた対象物の速度変化を伴う動作が補間後加減速処理後の移送パルスに従って行われると、当該対象物は、元の加工パスによって示される軌跡から外れて移動することになる。これに対して、本実施形態では、上記のように加減速フィルタ２８による加減速処理によって異常データに起因する機械ショックの抑制効果を得つつ、その加減速処理後の機械軸パスでは、加減速処理前のパス変換部２６の変換処理による誤差補正の効果により、当該加減速処理後の機械軸パスが示す軌跡が加工パスが示す軌跡からずれるのを抑制することができ、その結果、特別指令に応じて対象物が速度変化を伴う動作を加減速処理後の機械軸パスに従って行うときに元の加工パスが示す軌跡から外れるのを防ぐことができる。
【０１９９】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれる。
【０２００】
本発明による数値制御装置は、図１に示したような工作機械に適用が限定されるものではない。例えば、いわゆる門型フレームを備えた工作機械や、パラレルメカニズムを有する工作機械、旋盤、その他の各種工作機械にも、本発明による数値制御装置を適用することが可能である。
【０２０１】
また、上記実施形態では、パス変換部２６による変換部加減速処理及び加減速フィルタ２８による加減速処理において直線型の分配関数を用いたが、これらの加減速処理に用いる分配関数は、このような直線型の分配関数以外の種類の分配関数であってもよい。例えば、いわゆるベル型の分配関数をこれらの加減速処理に用いてもよい。このようなベル型の分配関数ｆ（ｔ）は、例えば、次式で表される。
【０２０２】
【数２４】
0005399537.tif 000025
【０２０３】
なお、分配区間−ａ≦ｔ≦ａの外側では、ｆ（ｔ）＝０である。
【０２０４】
また、ベル型の分配関数を用いて変換部加減速処理を行う場合には、図８のステップＳ４１において、次式を用いて、基準機械軸パスのうち移送開始直後の加速期間の部分及び移送停止直前の減速期間の部分における変換部加減速処理後の時刻のずれを解消するための時刻調整を行うことが好ましい。
【０２０５】
【数２５】
0005399537.tif 000026
【０２０６】
また、基準機械軸パス導出部は、加減速演算部によって導出された基準機械軸パスのうち工作機械に機械ショックが発生し得る急激な加減速を指示する部分のみを局部的に滑らかになるように補間する局部加減速フィルタを備えていてもよい。この場合には、局部加減速フィルタによって局部的に補間された後の基準機械軸パスについて、パス変換部が変換処理を行えばよい。
【０２０７】
また、上記実施形態では、工作機械が特別指令入力装置を備えており、その特別指令入力装置に特別指令が入力された場合に設定サイクルタイムの長さを変化させて各支持体の対応する機械軸方向への移送量を算出したが、本発明による数値制御装置は、このような特別指令入力装置を備えていない工作機械に適用してもよい。また、工作機械が特別指令入力装置を備えていても、その特別指令入力装置に特別指令が入力された場合に、特別指令の内容に応じて長さを変化させた設定サイクルタイムに対応する移送量を各機械軸方向についての機械軸パスから導出し、その導出した移送量に従って各支持体の移送速度を変化させるような方法以外の方法で対象物の動作を特別指令に応じて制御するような工作機械に本発明による数値制御装置を適用してもよい。これらの場合には、図６のフローチャートによって示される数値制御のプロセスにおいて、ステップＳ１６及びＳ１８の処理を省略し、ステップＳ１４において移送量導出部がメモリに記憶された処理後機械軸パスの全期間の処理をまだ終了していないと判断した場合には、次に、ステップＳ２０の処理を行うようにすればよい。
【０２０８】
また、基準機械軸パス導出部は、必ずしも、曲面補間部や加減速演算部を備えてなくてもよい。すなわち、基準機械軸パス導出部のプログラム読取部がＮＣプログラムから加工パスを導出し、補間演算や加減速演算を行うことなく、その加工パスを各機械軸方向についての移動成分に変換することによって各機械軸方向毎の基準機械軸パスを導出してもよい。
【０２０９】
また、本発明の数値制御装置による移送装置の制御は、必ずしも、対象物の緊急停止時の減速、再始動時の加速及びオーバーライド装置による加減速の全てに適用されなくてもよい。例えば、対象物の緊急停止時の減速にのみ本発明の数値制御装置による移送装置の制御が適用されてもよく、対象物の再始動時の加速にのみ本発明の数値制御装置による移送装置の制御が適用されてもよく、オーバーライド装置による対象物の加減速にのみ本発明の数値制御装置による移送装置の制御が適用されてもよい。また、対象物の緊急停止時の減速、再始動時の加速及びオーバーライド装置による加減速のうちいずれか２つに対して本発明の数値制御装置による移送装置の制御が適用されてもよい。
【０２１０】
また、パス変換部による変換部加減速処理において、以下の式（５１），（５２）に従って、変換部加減速処理後の所定のブロックＱＡｉ（ｔ）の速度関数ＱＡｉ’（ｔ）を求めればよい。
【０２１１】
【数２６】
0005399537.tif 000027
【０２１２】
【数２７】
0005399537.tif 000028
【０２１３】
ただし、この場合には、変換部加減速処理後の機械軸パスにおける時刻が基準機械軸パスにおける時刻から遅れるため、パス変換部が変換部加減速処理後の機械軸パスと基準機械軸パスとの誤差に相当する補正量を算出するに際して、変換部加減速処理後の機械軸パスと基準機械軸パスとの互いに減算する点同士の時刻の対応付け（時刻調整）を行った上でそれらの点同士の減算を行って誤差を算出する必要がある。
【０２１４】
また、上記加減速フィルタによる処理を繰り返し行うようにしてもよい。この場合には、基準機械軸パスに対してより誤差の少ない処理後機械軸パスを求めることができる。
【０２１５】
また、上記実施形態では、時刻調整部３８が、対象物の移送開始直後の加速期間及び対象物の移送停止直後の減速期間について時刻調整を行ったが、必ずしもこのような時刻調整を行う必要はない。すなわち、基準機械軸パス導出部が時刻調整部を備えておらず、加減速演算部が算出した機械軸パスを基準機械軸パスとして、パス変換部が、その時刻調整を行っていない基準機械軸パスに対して変換部加減速処理を行ってもよい。
【符号の説明】
【０２１６】
２  数値制御装置
１４  移送制御部
２２  移送量導出部
２４  基準機械軸パス導出部
２６  パス変換部
２８  加減速フィルタ（加減速処理部）
１００  ワーク
１０２  ワーク移送装置（移送装置）
１０２ｂ  ワーク支持体（支持体）
１０２ｃ  ワーク移送部（移送部）
１０５  工具
１０６  鉛直移送装置（移送装置）
１０６ａ  鉛直支持体（支持体）
１０６ｂ  鉛直移送部（移送部）
１０８  工具第１水平移送装置（移送装置）
１０８ａ  第１水平支持体（支持体）
１０８ｂ  第１水平移送部（移送部）
１１０  工具第２水平移送装置（移送装置）
１１０ａ  第２水平支持体（支持体）
１１０ｂ  第２水平移送部（移送部）
１２２  特別指令入力装置
【図１】
0005399537.tif 000033
【図２】
0005399537.tif 000034
【図３】
0005399537.tif 000035
【図４】
0005399537.tif 000036
【図５】
0005399537.tif 000037
【図６】
0005399537.tif 000038
【図７】
0005399537.tif 000039
【図８】
0005399537.tif 000040
【図９】
0005399537.tif 000041
【図１０】
0005399537.tif 000042
【図１１】
0005399537.tif 000043
【図１２】
0005399537.tif 000044
【図１３】
0005399537.tif 000045
【図１４】
0005399537.tif 000046
【図１５】
0005399537.tif 000047
【図１６】
0005399537.tif 000048
【図１７】
0005399537.tif 000049
【図１８】
0005399537.tif 000050
【図１９】
0005399537.tif 000051
【図２０】
0005399537.tif 000052
【図２１】
0005399537.tif 000053
【図２２】
0005399537.tif 000054
【図２３】
0005399537.tif 000055
【図２４】
0005399537.tif 000056
【図２５】
0005399537.tif 000057
【図２６】
0005399537.tif 000058
【図２７】
0005399537.tif 000059
【図２８】
0005399537.tif 000060