(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-18
(45)【発行日】2025-03-27
(54)【発明の名称】制御装置、制御方法及びコンピュータプログラム
(51)【国際特許分類】
G05B 19/416 20060101AFI20250319BHJP
B23Q 15/00 20060101ALI20250319BHJP
G05B 19/4155 20060101ALI20250319BHJP
【FI】
G05B19/416 Z
B23Q15/00 C
G05B19/4155 X
(21)【出願番号】P 2021149664
(22)【出願日】2021-09-14
【審査請求日】2024-03-15
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】倉橋 優伍
【審査官】小川 真
(56)【参考文献】
【文献】特開2018-060242(JP,A)
【文献】特開2017-102532(JP,A)
【文献】特開2016-133987(JP,A)
【文献】特開2021-064362(JP,A)
【文献】特開平11-277370(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/416
B23Q 15/00
G05B 19/4155
(57)【特許請求の範囲】
【請求項1】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得する取得部と、該取得部にて取得した指令速度にフィルタを適用してフィルタ適用速度を求めるフィルタ適用部とを備え、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置において、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と同方向の第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記取得部から前記フィルタ適用部への前記第一指令速度の出力を完了してから、前記取得部から前記フィルタ適用部への前記第二指令速度の出力を開始するまでの遅延時間を演算する遅延時間演算部と
を備える制御装置。
【請求項2】
前記遅延時間演算部は、
前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一加加速度が負から0になる時点との間の第一遅延時間を演算する第一遅延時間演算部と、
前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一適用速度が0になる時点との間の第一時間、及び前記取得部が前記第二指令速度の出力を開始した開始時点と、該開始時点の後の時点であって、前記第二加加速度が0から負になる時点との間の第二時間の差分である第二遅延時間を演算する第二遅延時間演算部と、
前記第一遅延時間及び第二遅延時間の何れか大きい値を前記遅延時間に決定する第一決定部と
を有する
請求項1に記載の制御装置。
【請求項3】
前記フィルタは、前記第一指令速度に適用する先行第三移動平均フィルタを含み、
前記遅延時間演算部は、
前記先行第一移動平均フィルタにおける先行第一時定数、前記先行第二移動平均フィルタにおける先行第二時定数、及び前記先行第一時定数と前記先行第二時定数との合算値から前記第一指令速度の出力時間である第一出力時間を減算した値の中央値に、前記先行第三移動平均フィルタにおける先行第三時定数を加算して、第三遅延時間を演算する第三遅延時間演算部と、
前記先行第一時定数と前記先行第二時定数と前記先行第三時定数との合算値から、前記後行第一移動平均フィルタにおける後行第一時定数、前記後行第二移動平均フィルタにおける後行第二時定数、及び前記第二指令速度の出力時間である第二出力時間の中央値を減算して、第四遅延時間を演算する第四遅延時間演算部と、
前記第三遅延時間及び第四遅延時間の何れか大きい値を前記遅延時間に決定する第二決定部と
を有する
請求項1又は2に記載の制御装置。
【請求項4】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得する取得部と、該取得部にて取得した指令速度にフィルタを適用してフィルタ適用速度を求めるフィルタ適用部とを備え、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置において、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と逆方向の第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記取得部から前記フィルタ適用部への前記第一指令速度の出力を完了してから、前記取得部から前記フィルタ適用部への前記第二指令速度の出力を開始するまでの遅延時間を演算する遅延時間演算部と
を備える制御装置。
【請求項5】
前記遅延時間演算部は、
前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、最後に前記第一加加加速度が正から0になる時点との間の第五遅延時間を演算する第五遅延時間演算部と、
前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一適用速度が0になる時点との間の第三時間、及び前記取得部が前記第二指令速度の出力を開始した開始時点と、該開始時点の後の時点であって、前記第二加加加速度が0から正になる時点との間の第四時間の差分である第六遅延時間を演算する第六遅延時間演算部と、
前記第五遅延時間及び第六遅延時間の何れか大きい値を前記遅延時間に決定する第三決定部と
を有する
請求項4に記載の制御装置。
【請求項6】
前記フィルタは、前記第一指令速度に適用する先行第三移動平均フィルタと、前記第二指令速度に適用する後行第三移動平均フィルタとを含み、
前記遅延時間演算部は、第七遅延時間を演算する第七遅延時間演算部と、第八遅延時間を演算する第八遅延時間演算部と、前記第七遅延時間及び第八遅延時間の何れか大きい値を前記遅延時間に決定する第四決定部とを有し、
前記第七遅延時間演算部は、
前記先行第一移動平均フィルタにおける先行第一時定数、前記先行第二移動平均フィルタにおける先行第二時定数、及び前記先行第一時定数と前記先行第二時定数との合算値から前記第一指令速度の出力時間である第一出力時間を減算した値の中央値に、前記先行第三移動平均フィルタにおける先行第三時定数を加算した値と、前記先行第一時定数と前記先行第二時定数の合算値との何れか大きい値を選択する第一選択部と、
前記先行第一時定数と、前記先行第一時定数及び先行第二時定数の合算値から前記第一出力時間を減算した値との何れか大きい値に前記先行第三時定数を加算する第一加算部と、
前記第一選択部が選択した値と、前記第一加算部が加算した値との何れか小さい値を前記第七遅延時間に決定する第五決定部と
を有し、
前記第八遅延時間演算部は、
前記後行第一移動平均フィルタにおける後行第一時定数、前記後行第二移動平均フィルタにおける後行第二時定数、及び前記第二指令速度の出力時間である第二出力時間の中央値と、前記後行第三移動平均フィルタにおける後行第三時定数との何れか小さい値を選択する第二選択部と、
前記後行第二時定数と、前記第二出力時間との何れか小さい値を選択する第三選択部と、
前記第二選択部が選択した値と、前記第三選択部が選択した値との何れか大きい値を選択する第四選択部と、
前記先行第一時定数、先行第二時定数及び先行第三時定数の合算値から前記第四選択部が選択した値を減算し、前記第八遅延時間を演算する演算部と
を有する
請求項4又は5に記載の制御装置。
【請求項7】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得する取得部と、該取得部にて取得した指令速度にフィルタを適用してフィルタ適用速度を求めるフィルタ適用部とを備え、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置において、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度である第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記第一指令速度の方向と前記第二指令速度の方向とが同方向であるか否か判定する判定部と、
前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記取得部から前記フィルタ適用部への前記第一指令速度の出力を完了してから、前記取得部から前記フィルタ適用部への前記第二指令速度の出力を開始するまでの遅延時間を演算し、
前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記取得部から前記フィルタ適用部への前記第一指令速度の出力を完了してから、前記取得部から前記フィルタ適用部への前記第二指令速度の出力を開始するまでの遅延時間を演算する遅延時間演算部と
を備える制御装置。
【請求項8】
前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記遅延時間演算部は、
前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一加加速度が負から0になる時点との間の第一遅延時間を演算する第一遅延時間演算部と、
前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一適用速度が0になる時点との間の第一時間、及び、前記取得部が前記第二指令速度の出力を開始した開始時点と、該開始時点の後の時点であって、前記第二加加速度が0から負になる時点との間の第二時間の差分である第二遅延時間を演算する第二遅延時間演算部と、
前記第一遅延時間及び第二遅延時間の何れか大きい値を前記遅延時間に決定する第一決定部と
を有し、
前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記遅延時間演算部は、
前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、最後に前記第一加加加速度が正から0になる時点との間の第五遅延時間を演算する第五遅延時間演算部と、
前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一適用速度が0になる時点との間の第三時間、及び、前記取得部が前記第二指令速度の出力を開始した開始時点と、該開始時点の後の時点であって、前記第二加加加速度が0から正になる時点との間の第四時間の差分である第六遅延時間を演算する第六遅延時間演算部と、
前記第五遅延時間及び第六遅延時間の何れか大きい値を前記遅延時間に決定する第三決定部と
を有する
請求項7に記載の制御装置。
【請求項9】
前記フィルタは、前記第一指令速度に適用する先行第三移動平均フィルタと、前記第二指令速度に適用する後行第三移動平均フィルタとを含み、
前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記遅延時間演算部は、
前記先行第一移動平均フィルタにおける先行第一時定数と、前記先行第二移動平均フィルタにおける先行第二時定数と、前記先行第一時定数及び先行第二時定数の合算値から前記第一指令速度の出力時間である第一出力時間を減算した値との中央値に、前記先行第三移動平均フィルタにおける先行第三時定数を加算して、第三遅延時間を演算する第三遅延時間演算部と、
前記先行第一時定数と前記先行第二時定数と前記先行第三時定数との合算値から、前記後行第一移動平均フィルタにおける後行第一時定数、前記後行第二移動平均フィルタにおける後行第二時定数、及び前記第二指令速度の出力時間である第二出力時間の中央値を減算して、第四遅延時間を演算する第四遅延時間演算部と、
前記第三遅延時間及び第四遅延時間の何れか大きい値を前記遅延時間に決定する第二決定部と
を有し、
前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記遅延時間演算部は、第七遅延時間を演算する第七遅延時間演算部と、第八遅延時間を演算する第八遅延時間演算部と、前記第七遅延時間及び第八遅延時間の何れか大きい値を前記遅延時間に決定する第四決定部とを有し、
前記第七遅延時間演算部は、
前記先行第一移動平均フィルタにおける先行第一時定数、前記先行第二移動平均フィルタにおける先行第二時定数、及び前記先行第一時定数と前記先行第二時定数との合算値から前記第一指令速度の出力時間である第一出力時間を減算した値の中央値に、前記先行第三移動平均フィルタにおける先行第三時定数を加算した値と、前記先行第一時定数と前記先行第二時定数の合算値との何れか大きい値を選択する第一選択部と、
前記先行第一時定数、及び前記先行第一時定数及び先行第二時定数の合算値から前記第一出力時間を減算した値の何れか大きい値に前記先行第三時定数を加算する第一加算部と、
前記第一選択部が選択した値、及び前記第一加算部が加算した値の何れか小さい値を前記第七遅延時間に決定する第四決定部と
を有し、
前記第八遅延時間演算部は、
前記後行第一移動平均フィルタにおける後行第一時定数、前記後行第二移動平均フィルタにおける後行第二時定数、及び前記第二指令速度の出力時間である第二出力時間の中央値と、前記後行第三移動平均フィルタにおける後行第三時定数との何れか小さい値を選択する第二選択部と、
前記後行第二時定数及び前記第二出力時間の何れか小さい値を選択する第三選択部と、
前記第二選択部が選択した値及び前記第三選択部が選択した値の何れか大きい値を選択する第四選択部と、
前記先行第一時定数、前記先行第二時定数及び前記先行第三時定数の合算値から前記第四選択部が選択した値を減算し、前記第八遅延時間を演算する演算部と
を有する
請求項7又は8に記載の制御装置。
【請求項10】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御方法において、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と同方向の第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する
制御方法。
【請求項11】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御方法において、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と逆方向の第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する
制御方法。
【請求項12】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御方法において、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度である第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記第一指令速度の方向と前記第二指令速度の方向とが同方向であるか否か判定し、
前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算し、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する
制御方法。
【請求項13】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置にて実行可能なコンピュータプログラムにおいて、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と同方向の第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記制御装置に、
前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する
処理を実行させるコンピュータプログラム。
【請求項14】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置で実行可能なコンピュータプログラムにおいて、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と逆方向の第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記制御装置に、
前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する
処理を実行させるコンピュータプログラム。
【請求項15】
工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置にて実行可能なコンピュータプログラムにおいて、
前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度である第二指令速度とを含み、
前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、
前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、
前記制御装置に、
前記第一指令速度の方向と前記第二指令速度の方向とが同方向であるか否か判定し、
前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算し、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する
処理を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、工作機械のワーク保持部及び主軸の動作を制御する制御装置、制御方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
工作機械の数値制御装置は二つの移動指令、例えば早送り指令(前指令)と、切削指令(後指令)とを連続してワーク保持部又は主軸のモータに出力することがある。モータが前指令の実行を完了する前に後指令を実行するように、数値制御装置は、前指令の出力が完了してから後指令の出力が開始するまでの時間(遅延時間)を設定する。
【0003】
数値制御装置は、前指令に適用する第一移動平均フィルタ及び第二移動平均フィルタ夫々の時定数を第一前時定数Ta1及び第二前時定数Ta2とし、後指令に適用する第一移動平均フィルタ及び第二移動平均フィルタ夫々の時定数を第一後時定数Tb1及び第二後時定数Tb2とした場合、(Ta1+Ta2)-(Tb1+Tb2)を遅延時間として算出する。この遅延時間を設定することによって、加工時間の短縮を図ることができる(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の数値制御装置においては、前指令から後指令に切り替わるときに、前指令にフィルタを適用した後の速度と、後指令にフィルタを適用した後の速度とを合成する。しかし、第一前時定数Ta1及び第一後時定数Tb1の大きさが異なる場合、又は第二前時定数Ta2及び第二後時定数Tb2の大きさが異なる場合、フィルタ適用後の合成した速度の最大値が、前指令又は後指令が示す速度を超過するおそれがある。
【0006】
また前指令及び後指令の移動方向が逆の場合、前指令から後指令に切り替わるときに、前指令にフィルタを適用した後の加速度と、後指令にフィルタを適用した後の加速度とが合成され、合成された加速度が、モータのトルク仕様に基づき定めた前指令又は後指令の最大加速度を超過するおそれがある。
【0007】
本開示は斯かる事情に鑑みてなされたものであり、連続する移動指令に対して、時定数の大きさに拘わらず使用可能な遅延時間を演算するか、又は連続する移動指令が示す移動方向に拘わらず使用可能な遅延時間を演算する制御装置、制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一実施形態に係る制御装置は、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得する取得部と、該取得部にて取得した指令速度にフィルタを適用してフィルタ適用速度を求めるフィルタ適用部とを備え、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置において、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と同方向の第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記取得部から前記フィルタ適用部への前記第一指令速度の出力を完了してから、前記取得部から前記フィルタ適用部への前記第二指令速度の出力を開始するまでの遅延時間を演算する遅延時間演算部とを備える。
【0009】
本開示においては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、遅延時間を演算する。
【0010】
本開示の一実施形態に係る制御装置は、前記遅延時間演算部は、前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一加加速度が負から0になる時点との間の第一遅延時間を演算する第一遅延時間演算部と、前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一適用速度が0になる時点との間の第一時間、及び前記取得部が前記第二指令速度の出力を開始した開始時点と、該開始時点の後の時点であって、前記第二加加速度が0から負になる時点との間の第二時間の差分である第二遅延時間を演算する第二遅延時間演算部と、前記第一遅延時間及び第二遅延時間の何れか大きい値を前記遅延時間に決定する第一決定部とを有する。
【0011】
本開示においては、第一遅延時間及び第二遅延時間を演算し、第一遅延時間及び第二遅延時間の何れか大きい値を前記遅延時間に決定する。
【0012】
本開示の一実施形態に係る制御装置は、前記フィルタは、前記第一指令速度に適用する先行第三移動平均フィルタを含み、前記遅延時間演算部は、前記先行第一移動平均フィルタにおける先行第一時定数、前記先行第二移動平均フィルタにおける先行第二時定数、及び前記先行第一時定数と前記先行第二時定数との合算値から前記第一指令速度の出力時間である第一出力時間を減算した値の中央値に、前記先行第三移動平均フィルタにおける先行第三時定数を加算して、第三遅延時間を演算する第三遅延時間演算部と、前記先行第一時定数と前記先行第二時定数と前記先行第三時定数との合算値から、前記後行第一移動平均フィルタにおける後行第一時定数、前記後行第二移動平均フィルタにおける後行第二時定数、及び前記第二指令速度の出力時間である第二出力時間の中央値を減算して、第四遅延時間を演算する第四遅延時間演算部と、前記第三遅延時間及び第四遅延時間の何れか大きい値を前記遅延時間に決定する第二決定部とを有する。
【0013】
本開示においては、第三遅延時間及び第四遅延時間を演算し、第三遅延時間及び第四遅延時間の何れか大きい値を前記遅延時間に決定する。
【0014】
本開示の一実施形態に係る制御装置は、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得する取得部と、該取得部にて取得した指令速度にフィルタを適用してフィルタ適用速度を求めるフィルタ適用部とを備え、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置において、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と逆方向の第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記取得部から前記フィルタ適用部への前記第一指令速度の出力を完了してから、前記取得部から前記フィルタ適用部への前記第二指令速度の出力を開始するまでの遅延時間を演算する遅延時間演算部とを備える。
【0015】
本開示においては、第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域又は0以下の第四値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。
【0016】
本開示の一実施形態に係る制御装置は、前記遅延時間演算部は、前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、最後に前記第一加加加速度が正から0になる時点との間の第五遅延時間を演算する第五遅延時間演算部と、前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一適用速度が0になる時点との間の第三時間、及び前記取得部が前記第二指令速度の出力を開始した開始時点と、該開始時点の後の時点であって、前記第二加加加速度が0から正になる時点との間の第四時間の差分である第六遅延時間を演算する第六遅延時間演算部と、前記第五遅延時間及び第六遅延時間の何れか大きい値を前記遅延時間に決定する第三決定部とを有する。
【0017】
本開示においては、第五遅延時間及び第六遅延時間を演算し、第五遅延時間及び第六遅延時間の何れか大きい値を前記遅延時間に決定する。
【0018】
本開示の一実施形態に係る制御装置は、前記フィルタは、前記第一指令速度に適用する先行第三移動平均フィルタと、前記第二指令速度に適用する後行第三移動平均フィルタとを含み、前記遅延時間演算部は、第七遅延時間を演算する第七遅延時間演算部と、第八遅延時間を演算する第八遅延時間演算部と、前記第七遅延時間及び第八遅延時間の何れか大きい値を前記遅延時間に決定する第四決定部とを有し、前記第七遅延時間演算部は、前記先行第一移動平均フィルタにおける先行第一時定数、前記先行第二移動平均フィルタにおける先行第二時定数、及び前記先行第一時定数と前記先行第二時定数との合算値から前記第一指令速度の出力時間である第一出力時間を減算した値の中央値に、前記先行第三移動平均フィルタにおける先行第三時定数を加算した値と、前記先行第一時定数と前記先行第二時定数の合算値との何れか大きい値を選択する第一選択部と、前記先行第一時定数と、前記先行第一時定数及び先行第二時定数の合算値から前記第一出力時間を減算した値との何れか大きい値に前記先行第三時定数を加算する第一加算部と、前記第一選択部が選択した値と、前記第一加算部が加算した値との何れか小さい値を前記第七遅延時間に決定する第五決定部とを有し、前記第八遅延時間演算部は、前記後行第一移動平均フィルタにおける後行第一時定数、前記後行第二移動平均フィルタにおける後行第二時定数、及び前記第二指令速度の出力時間である第二出力時間の中央値と、前記後行第三移動平均フィルタにおける後行第三時定数との何れか小さい値を選択する第二選択部と、前記後行第二時定数と、前記第二出力時間との何れか小さい値を選択する第三選択部と、前記第二選択部が選択した値と、前記第三選択部が選択した値との何れか大きい値を選択する第四選択部と、前記先行第一時定数、先行第二時定数及び先行第三時定数の合算値から前記第四選択部が選択した値を減算し、前記第八遅延時間を演算する演算部とを有する。
【0019】
本開示においては、第七遅延時間及び第八遅延時間を演算し、第七遅延時間及び第八遅延時間の何れか大きい値を前記遅延時間に決定する。
【0020】
本開示の一実施形態に係る制御装置は、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得する取得部と、該取得部にて取得した指令速度にフィルタを適用してフィルタ適用速度を求めるフィルタ適用部とを備え、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置において、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度である第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であるか否か判定する判定部と、前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記取得部から前記フィルタ適用部への前記第一指令速度の出力を完了してから、前記取得部から前記フィルタ適用部への前記第二指令速度の出力を開始するまでの遅延時間を演算し、前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記取得部から前記フィルタ適用部への前記第一指令速度の出力を完了してから、前記取得部から前記フィルタ適用部への前記第二指令速度の出力を開始するまでの遅延時間を演算する遅延時間演算部とを備える。
【0021】
本開示においては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、遅延時間を演算する。第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域又は0以下の第四値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。
【0022】
本開示の一実施形態に係る制御装置は、前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記遅延時間演算部は、前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一加加速度が負から0になる時点との間の第一遅延時間を演算する第一遅延時間演算部と、前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一適用速度が0になる時点との間の第一時間、及び、前記取得部が前記第二指令速度の出力を開始した開始時点と、該開始時点の後の時点であって、前記第二加加速度が0から負になる時点との間の第二時間の差分である第二遅延時間を演算する第二遅延時間演算部と、前記第一遅延時間及び第二遅延時間の何れか大きい値を前記遅延時間に決定する第一決定部とを有し、前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記遅延時間演算部は、前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、最後に前記第一加加加速度が正から0になる時点との間の第五遅延時間を演算する第五遅延時間演算部と、前記取得部が前記第一指令速度の出力を完了した完了時点と、該完了時点の後の時点であって、前記第一適用速度が0になる時点との間の第三時間、及び、前記取得部が前記第二指令速度の出力を開始した開始時点と、該開始時点の後の時点であって、前記第二加加加速度が0から正になる時点との間の第四時間の差分である第六遅延時間を演算する第六遅延時間演算部と、前記第五遅延時間及び第六遅延時間の何れか大きい値を前記遅延時間に決定する第三決定部とを有する。
【0023】
本開示においては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第一遅延時間及び第二遅延時間を演算し、第一遅延時間及び第二遅延時間の何れか大きい値を前記遅延時間に決定する。第一指令速度の方向と第二指令速度の方向とが逆の場合、第五遅延時間及び第六遅延時間を演算し、第五遅延時間及び第六遅延時間の何れか大きい値を前記遅延時間に決定する。
【0024】
本開示の一実施形態に係る制御装置は、前記フィルタは、前記第一指令速度に適用する先行第三移動平均フィルタと、前記第二指令速度に適用する後行第三移動平均フィルタとを含み、前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記遅延時間演算部は、前記先行第一移動平均フィルタにおける先行第一時定数と、前記先行第二移動平均フィルタにおける先行第二時定数と、前記先行第一時定数及び先行第二時定数の合算値から前記第一指令速度の出力時間である第一出力時間を減算した値との中央値に、前記先行第三移動平均フィルタにおける先行第三時定数を加算して、第三遅延時間を演算する第三遅延時間演算部と、前記先行第一時定数と前記先行第二時定数と前記先行第三時定数との合算値から、前記後行第一移動平均フィルタにおける後行第一時定数、前記後行第二移動平均フィルタにおける後行第二時定数、及び前記第二指令速度の出力時間である第二出力時間の中央値を減算して、第四遅延時間を演算する第四遅延時間演算部と、前記第三遅延時間及び第四遅延時間の何れか大きい値を前記遅延時間に決定する第二決定部とを有し、前記判定部にて、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記遅延時間演算部は、第七遅延時間を演算する第七遅延時間演算部と、第八遅延時間を演算する第八遅延時間演算部と、前記第七遅延時間及び第八遅延時間の何れか大きい値を前記遅延時間に決定する第四決定部とを有し、前記第七遅延時間演算部は、前記先行第一移動平均フィルタにおける先行第一時定数、前記先行第二移動平均フィルタにおける先行第二時定数、及び前記先行第一時定数と前記先行第二時定数との合算値から前記第一指令速度の出力時間である第一出力時間を減算した値の中央値に、前記先行第三移動平均フィルタにおける先行第三時定数を加算した値と、前記先行第一時定数と前記先行第二時定数の合算値との何れか大きい値を選択する第一選択部と、前記先行第一時定数、及び前記先行第一時定数及び先行第二時定数の合算値から前記第一出力時間を減算した値の何れか大きい値に前記先行第三時定数を加算する第一加算部と、前記第一選択部が選択した値、及び前記第一加算部が加算した値の何れか小さい値を前記第七遅延時間に決定する第四決定部とを有し、前記第八遅延時間演算部は、前記後行第一移動平均フィルタにおける後行第一時定数、前記後行第二移動平均フィルタにおける後行第二時定数、及び前記第二指令速度の出力時間である第二出力時間の中央値と、前記後行第三移動平均フィルタにおける後行第三時定数との何れか小さい値を選択する第二選択部と、前記後行第二時定数及び前記第二出力時間の何れか小さい値を選択する第三選択部と、前記第二選択部が選択した値及び前記第三選択部が選択した値の何れか大きい値を選択する第四選択部と、前記先行第一時定数、前記先行第二時定数及び前記先行第三時定数の合算値から前記第四選択部が選択した値を減算し、前記第八遅延時間を演算する演算部とを有する。
【0025】
本開示においては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第三遅延時間及び第四遅延時間を演算し、第三遅延時間及び第四遅延時間の何れか大きい値を前記遅延時間に決定する。第一指令速度の方向と第二指令速度の方向とが逆の場合、第七遅延時間及び第八遅延時間を演算し、第七遅延時間及び第八遅延時間の何れか大きい値を前記遅延時間に決定する。
【0026】
本開示の一実施形態に係る制御方法は、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御方法において、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と同方向の第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を前記駆動源に同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する。
【0027】
本開示においては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、遅延時間を演算する。
【0028】
本開示の一実施形態に係る制御方法は、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御方法において、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と逆方向の第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する。
【0029】
本開示においては、第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域又は0以下の第四値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。
【0030】
本開示の一実施形態に係る制御方法は、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御方法において、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度である第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であるか否か判定し、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算し、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する。
【0031】
本開示においては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、遅延時間を演算する。第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域又は0以下の第四値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。
【0032】
本開示の一実施形態に係るコンピュータプログラムは、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置にて実行可能なコンピュータプログラムにおいて、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と同方向の第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記制御装置に、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する処理を実行させる。
【0033】
本開示においては、第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。
【0034】
本開示の一実施形態に係るコンピュータプログラムは、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置で実行可能なコンピュータプログラムにおいて、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度であって、前記第一指令速度の方向と逆方向の第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記制御装置に、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する処理を実行させる。
【0035】
本開示においては、第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域又は0以下の第四値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。
【0036】
本開示の一実施形態に係るコンピュータプログラムは、工作機械のワーク保持部又は主軸の移動指令に基づく指令速度を取得し、取得した指令速度にフィルタを適用してフィルタ適用速度を求め、前記フィルタ適用速度で前記ワーク保持部又は主軸の駆動源の動作を制御する制御装置にて実行可能なコンピュータプログラムにおいて、前記指令速度は、第一指令速度と、前記第一指令速度の次の指令速度である第二指令速度とを含み、前記フィルタは、前記第一指令速度に適用する先行第一移動平均フィルタ及び先行第二移動平均フィルタと、前記第二指令速度に適用する後行第一移動平均フィルタ及び後行第二移動平均フィルタとを含み、前記フィルタ適用速度は、前記第一指令速度に前記先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して求めた第一適用速度と、前記第二指令速度に前記後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して求めた第二適用速度とを含み、前記制御装置に、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であるか否か判定し、前記第一指令速度の方向と前記第二指令速度の方向とが同方向であると判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加速度である第一加加速度及び前記第二適用速度に対する加加速度である第二加加速度の両者が0以上の第一値域に属するか又は前記第一加加速度及び第二加加速度の両者が0以下の第二値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算し、前記第一指令速度の方向と前記第二指令速度の方向とが同方向でないと判定した場合、前記第一指令速度の出力時間である第一出力時間と、前記先行第一移動平均フィルタの時定数と、前記先行第二移動平均フィルタの時定数と、前記第二指令速度の出力時間である第二出力時間と、前記後行第一移動平均フィルタの時定数と、前記後行第二移動平均フィルタの時定数とに基づいて、前記第一適用速度及び第二適用速度を同時に出力している間、前記第一適用速度に対する加加加速度である第一加加加速度及び前記第二適用速度に対する加加加速度である第二加加加速度の両者が0以上の第三値域に属するか又は前記第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、前記第一指令速度の出力を完了してから前記第二指令速度の出力を開始するまでの遅延時間を演算する処理を実行させる。
【0037】
本開示においては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、遅延時間を演算する。第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域又は0以下の第四値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。
【発明の効果】
【0038】
本開示の一実施形態に係る制御装置、制御方法及びコンピュータプログラムにあっては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、遅延時間を演算する。第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域又は0以下の第四値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。時定数の大きさに拘わらず使用可能な遅延時間を演算することができる。
【図面の簡単な説明】
【0039】
【
図1】実施の形態1に係る工作機械の略示斜視図である。
【
図2】制御装置及び各モータ等を示すブロック図である。
【
図3】第一移動指令及び第二移動指令の移動方向が同じ方向であって、t
p>t
nの場合における「指令速度」、「適用速度」、「加速度」、「加加速度」、「加加加速度」のタイミング図である。
【
図4】第一移動指令及び第二移動指令の移動方向が同じ方向であって、t
p<t
nの場合における「指令速度」、「適用速度」、「加速度」、「加加速度」、「加加加速度」のタイミング図である。
【
図5】第一適用速度、第一加速度、第一加加速度、第一指令速度の出力時間T
Bp、先行第一移動平均フィルタの時定数T
p1、先行第二移動平均フィルタの時定数T
p2との関係を示すタイミングチャートである。
【
図6】第二適用速度、第二加速度、第二加加速度、第二指令速度の出力時間T
Bn、後行第一移動平均フィルタの時定数T
n1、後行第二移動平均フィルタの時定数T
n2との関係を示すタイミングチャートである。
【
図7】第一移動指令及び第二移動指令の移動方向が逆であって、t
p>t
nの場合における「指令速度」、「適用速度」、「加速度」、「加加速度」、「加加加速度」のタイミング図である。
【
図8】第一移動指令及び第二移動指令の移動方向が逆であって、t
p<t
nの場合における「指令速度」、「適用速度」、「加速度」、「加加速度」、「加加加速度」のタイミング図である。
【
図9】第一適用速度、第一加速度、第一加加速度、第一指令速度の出力時間T
Bp、先行第一移動平均フィルタの時定数T
p1、先行第二移動平均フィルタの時定数T
p2との関係を示すタイミングチャートである。
【
図10】第二適用速度、第二加速度、第二加加速度、第二指令速度の出力時間T
Bn、後行第一移動平均フィルタの時定数T
n1、後行第二移動平均フィルタの時定数T
n2との関係を示すタイミングチャートである。
【
図11】CPUによる遅延時間演算処理を説明するフローチャートである。
【
図12】CPUによる第一遅延時間演算処理を説明するフローチャートである。
【
図13】CPUによる第二遅延時間演算処理を説明するフローチャートである。
【
図14】実施の形態2に係る第一加加速度を示すタイミングチャートである。
【
図15】第二加加速度を示すタイミングチャートである。
【
図16】時定数T
p3≧min(T
p2,T
Bp)の場合における第一加加速度、第一加加加速度を示すタイミングチャートである。
【
図17】時定数T
p3<min(T
p2,T
Bp)の場合における第一加加速度、第一加加加速度を示すタイミングチャートである。
【
図18】時定数T
p3≧min(T
p2,T
Bp)の場合における第二加加速度、第二加加加速度を示すタイミングチャートである。
【
図19】時定数T
p3<min(T
p2,T
Bp)の場合における第二加加速度、第二加加加速度を示すタイミングチャートである。
【発明を実施するための形態】
【0040】
(実施の形態1)
以下本発明を実施の形態1に係る工作機械を示す図面に基づいて説明する。以下の説明では図に示す上下前後左右を使用する。
図1は工作機械100の略示斜視図である。工作機械100は基台20、固定台21、Y方向移動装置22、X方向移動装置26、コラム28、Z方向移動装置30、主軸ヘッド32、工具交換装置10、主軸モータ35等を備える。固定台21は前後方向に長い平面視矩形状の箱形をなし、基台20上に設けてある。
【0041】
固定台21の前部にワーク保持部120が設けてある。ワーク保持部120は左右方向に延びるA軸回りに回転可能である。ワーク保持部120にA軸モータ121(
図2参照)が設けてあり、A軸モータ121はワーク保持部120をA軸回りに回転する。ワーク保持部120はワークを保持する保持面120aを備える。保持面120aは初期状態において上側に位置する。ワーク保持部120は、保持面120aに直交する方向に延びるC軸回りに回転可能である。ワーク保持部120にC軸モータ122(
図2参照)が設けてあり、C軸モータ122はワーク保持部120をC軸回りに回転する。
【0042】
固定台21は、Y方向移動装置22を固定している。Y方向移動装置22はY軸モータ23(
図2参照)及びY軸モータ23が駆動するボールねじ機構(図示略)を備える。
【0043】
Y方向移動装置22のボールねじ機構にX方向移動装置26が設けてある。X方向移動装置26はX軸モータ27(
図2参照)及びX軸モータ27が駆動するボールねじ機構(図示略)を備える。X方向移動装置26のボールねじ機構にコラム28が設けてある。X方向移動装置26及びY方向移動装置22は、コラム28をX方向(左右方向)及びY方向(前後方向)に移動可能に支持する。
【0044】
Z方向移動装置30はコラム28の前面に設けてある。Z方向移動装置30はZ軸モータ31(
図2参照)及びZ軸モータ31が駆動するボールねじ機構(図示略)を備える。主軸ヘッド32はZ方向移動装置30のボールねじ機構に設けてある。コラム28は、Z方向移動装置30を介して主軸ヘッド32をZ方向(上下方向)に移動可能に支持する。主軸モータ35は主軸ヘッド32の上部に設けてある。主軸ヘッド32は、上下を軸方向とした主軸(図示略)を支持する。主軸モータ35は主軸を軸回りに回転する。工具交換装置10は、工具交換モータ12によって駆動し、主軸に装着する工具を工具交換位置に搬送する。工具交換は主軸ヘッド32の上下移動に伴って、主軸に装着した工具と工具交換装置10が把持した工具とを入れ替える。
【0045】
図2は、制御装置40及び各モータ等を示すブロック図である。工作機械100は制御装置40を備える。制御装置40は、CPU41、RAM42、記憶部43、インタフェース44、フィルタ適用部46等を備える。記憶部43は、例えば書き換え可能な記憶媒体である。書き換え可能な記憶媒体としては、EEPROM、EPROM、フラッシュメモリ及びハードディスク等が挙げられる。記憶部43はコンピュータプログラム(プログラム製品)を記憶し、例えば加工プログラム、後述する遅延時間演算処理を実行するプログラム等を記憶する。例えば外部装置(図示略)を制御装置40に接続し、外部装置にて作成したプログラムを記憶部43に記憶する。CD-ROM、DVD、フラッシュメモリ等の記録媒体45にコンピュータプログラムを記録し、記録媒体45から記憶部43にプログラムをインストールしてもよい。また制御装置40を外部サーバに通信可能に接続し、外部サーバに記憶したコンピュータプログラムを記憶部43にインストールしてもよい。
【0046】
CPU41は記憶部43からコンピュータプログラムをRAM42に読み込み、加工処理又は遅延時間演算処理等を実行する。CPU41はインタフェース44を介して、X軸モータ27の駆動回路27aに駆動信号を出力し、Y軸モータ23の駆動回路23aに駆動信号を出力し、Z軸モータ31の駆動回路31aに駆動信号を出力し、A軸モータ121の駆動回路121aに駆動信号を出力し、C軸モータ122の駆動回路122aに駆動信号を出力し、主軸モータ35の駆動回路35aに駆動信号を出力する。各モータ27、23、31、121、122、35は駆動源を構成する。
【0047】
CPU41は、いずれかのモータ27、23、31、121、122、35の移動について、加工プログラムに含まれる第一移動指令及び第二移動指令、例えば早送り指令と、切削指令とを連続して取得する。CPU41は取得部を構成する。第一移動指令は第一指令速度を含み、第一指令速度は速度の大きさを示す情報及び移動方向を示す情報を含む。第二移動指令は第二指令速度を含み、第二指令速度は速度の大きさを示す情報及び移動方向を示す情報を含む。
【0048】
CPU41は、第一移動指令及び第二移動指令をフィルタ適用部46に出力する。フィルタ適用部46は、第一移動指令及び第二移動指令に、後述する移動平均フィルタを適用して第一適用速度及び第二適用速度を求め、いずれかの駆動回路27a、23a、31a、121a、122a、35aに出力する。CPU41は第一移動指令の出力完了後、所定の遅延時間待機し、第二移動指令を出力する。
【0049】
CPU41は、第一移動指令及び第二移動指令の取得後、後述するように、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、予め遅延時間を演算する。遅延時間の演算は、第一移動指令の出力中に第二移動指令を取得して、行ってもよいし、第一移動指令を出力する前に、第一移動指令及び第二移動指令を取得して、行ってもよい。CPU41は遅延時間演算部を構成する。尚、外部サーバと各駆動回路を通信可能に接続し、外部サーバを制御装置として使用してもよい。
【0050】
(第一移動指令及び第二移動指令の移動方向が同じ方向である場合)
図3は、第一移動指令及び第二移動指令の移動方向が同じ方向であって、t
p>t
nの場合における「指令速度」、「適用速度」、「加速度」、「加加速度」、「加加加速度」のタイミング図である。t
p、t
nについては後述する。
図3において、「指令速度」は第一指令速度及び第二指令速度を含み、「適用速度」は第一適用速度及び第二適用速度を含み、「加速度」は第一加速度及び第二加速度を含み、「加加速度」は第一加加速度及び二加加速度を含み、「加加加速度」は第一加加加速度及び第二加加加速度を含む。第一指令速度、第一適用速度、第一加速度、第一加加速度、及び第一加加加速度は実線で表し、第二指令速度、第二適用速度、第二加速度、第二加加速度、及び第二加加加速度は二点鎖線で表す。
【0051】
第一適用速度は、CPU41が第一指令速度に二つの移動平均フィルタ(以下、先行第一移動平均フィルタ及び先行第二移動平均フィルタという)を適用して求めた速度である。第二適用速度は、CPU41が第二指令速度に二つの移動平均フィルタ(以下、後行第一移動平均フィルタ及び後行第二移動平均フィルタという)を適用して求めた速度である。
【0052】
第一加速度は、CPU41が演算した第一適用速度の時間微分を示し、第二加速度はCPU41が演算した第二適用速度の時間微分を示す。第一加加速度は、CPU41が演算した第一加速度の時間微分を示し、第二加加速度は、CPU41が演算した第二加速度の時間微分を示す。第一加加加速度は、CPU41が演算した第一加加速度の時間微分を示し、第二加加加速度は、CPU41が演算した第二加加速度の時間微分を示す。
【0053】
図3において、k0はCPU41が第一指令速度の出力を開始した時点を示し、k1はCPU41が第一指令速度の出力を完了した時点を示す。k2は、第一加加速度が最後に負から0になる時点、k3は第二指令速度の出力が開始する時点を示す。k4はCPU41が第二指令速度の出力を完了した時点を示す。k5は第一適用速度が最高速度に至った後、0になる時点を示す。k6は、第二加加速度が最初に0から負になる時点を示す。
【0054】
第一指令速度及び第二指令速度は正であり、第一指令速度の最大値は第二指令速度の最大値よりも小さい。第一指令速度の出力時間(時点k0と時点k1との間の時間)は第二指令速度の出力時間(時点k3と時点k4との間の時間)よりも長い。第一適用速度の最大値は第一指令速度の最大値と同じであり、第二適用速度の最大値は第二指令速度の最大値と同じである。時点k3と時点k5との間、第一適用速度と第二適用速度との合成速度でモータは駆動する。
【0055】
第一移動指令及び第二移動指令の移動方向が同じ方向である場合、CPU41は、第一適用速度と、第二適用速度とが重なる間(以下、重複時間という)、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、即ち前記両者が同じ値域に属するように、遅延時間を演算する。重複時間の間、第一加加速度と、第二加加速度とが同じ値域に属する場合、重複時間における第一加速度と第二加速度との合成加速度は単調増加又は単調減少又は一定となる。単調増加又は単調減少又は一定の場合、第一適用速度と第二適用速度との合成速度の大きさは、第二適用速度の最大値又は最小値の大きさを超過しない。
【0056】
図3の時点k3と時点k5との間が重複時間である。重複時間において、第一加加速度及び第二加加速度が第一値域に属するように、CPU41が遅延時間を演算する場合を示す。
【0057】
重複時間における第一適用速度と第二適用速度との合成速度、及び第一加速度と第二加速度との合成加速度を太線で表している。後述の
図4、
図7、
図8においても同様である。合成加速度は単調増加し、合成速度のグラフは下向きに突出する。即ち合成速度のグラフは第二適用速度のグラフとは逆向きに突出する。そのため、合成速度の最大値は、第二適用速度の最大値、即ち第二指令速度の最大値を超過しない。
【0058】
CPU41は時点k1と時点k2との間の時間tpと、時点k1と時点k5との間の時間Tαと、時点k3と時点k6との間の時間Tβとを演算する。CPU41はTα―Tβ=tnを演算し、tpとtnとを比較する。tp>tnの場合、CPU41はtpを遅延時間とする。CPU41は、第一指令速度の出力を完了した時点k1からtp経過するまで待機後、第二指令速度の出力を開始することによって、第二加加速度は0以上となり、第一値域に属し、第一加加速度は0以上となり、第一値域に属する。
【0059】
図4は、第一移動指令及び第二移動指令の移動方向が同じ方向であって、t
p<t
nの場合における「指令速度」、「適用速度」、「加速度」、「加加速度」、「加加加速度」のタイミング図である。
図4の表記の内、
図3と同様な内容については同じ表記とする。
図4において、合成加速度は単調増加する。
【0060】
第一指令速度の最大値は第二指令速度の最大値よりも大きい。第一指令速度の出力時間(時点k0と時点k1との間の時間)は第二指令速度の出力時間(時点k3と時点k4との間の時間)よりも長い。第一適用速度の最大値は第一指令速度の最大値と同じであり、第二適用速度の最大値は第二指令速度の最大値と同じである。時点k3と時点k5との間、第一適用速度と第二適用速度との合成速度でモータは駆動する。
【0061】
tp<tnの場合、CPU41はtnを遅延時間とする。CPU41は、第一指令速度の出力を完了した時点k1からtn経過するまで待機し、第二指令速度の出力を開始することによって第二加加速度の符号は0以上となり、第一値域に属し、第一加加速度の符号は0以上となり、第一値域に属する。
【0062】
尚、第一指令速度及び第二指令速度が負の場合も、CPU41は重複時間における第一加加速度及び第二加加速度の両者が0以下の値域、即ち第二値域に属するように、遅延時間を演算する。この場合、重複時間における第一加速度と第二加速度との合成加速度は単調減少となる。単調減少の場合、第一適用速度と第二適用速度との合成速度の大きさは、第二適用速度の最小値の大きさを超過しない。即ち、第一指令速度及び第二指令速度が負の場合、タイミングチャートは、
図3又は
図4の各グラフを時間軸に関して上下対称にした図となる。
【0063】
t
pの演算方法を説明する。
図5は、第一適用速度、第一加速度、第一加加速度、第一指令速度の出力時間T
Bp、先行第一移動平均フィルタの時定数T
p1、先行第二移動平均フィルタの時定数T
p2との関係を示すタイミングチャートである。
図5は、第三移動平均フィルタを適用していない図であるので、
図3及び
図4とは速度波形、加速度波形及び加加速度波形が異なる。
【0064】
ここで出力時間TBpは時定数Tp1より大きく、時定数Tp1≧時定数Tp2とする。時定数Tp1≧時定数Tp2とする理由は以下の通りである。第一指令速度をFとした場合、時定数Tp1≧時定数Tp2とすることによって、第一移動平均フィルタ適用後の最大加速度と第二移動平均フィルタ適用後の最大加速度が一致する。故に第一指令速度における最大加速度A=F/時定数Tp1となり、最大加加速度J=A/Tp2となり、最大加速度A及び最大加加速度Fを時定数Tp1、Tp2によって求めることができ、最大加速度A及び最大加加速度Fの調整が容易になるからである。
【0065】
第一指令速度の出力時間T
Bp、時定数T
p1、時定数T
p2の関係は、(1)T
Bp>T
p1>T
p2、(2)T
p1>T
Bp>T
p2、(3)T
p1>T
p2>T
Bpの三通りとなる。
図5は上記三通り夫々のタイミングチャートを示す。時定数T
p1、時定数T
p2の大きさは任意である。尚第一指令速度の出力時間T
Bpは、(第一移動指令に含まれる移動距離)/(第一移動指令に含まれる速度)によって求まる。
【0066】
(1)TBp>Tp1>Tp2の場合、tp(時点k1と時点k2との間の時間)=Tp2となる。(2)Tp1>TBp>Tp2の場合、tp=Tp1+Tp2-TBpとなる。(3)Tp1>Tp2>TBpの場合、tp=Tp1となる。
【0067】
また時点k1と時点k5との間の時間Tαは、第一指令速度の出力を完了してから第一適用速度が0になるまでの時間なので、時定数の加算結果であるTp1+Tp2と等しくなる。即ちTα=Tp1+Tp2である。
【0068】
T
βの演算方法を説明する。
図6は、第二適用速度、第二加速度、第二加加速度、第二指令速度の出力時間T
Bn、後行第一移動平均フィルタの時定数T
n1、後行第二移動平均フィルタの時定数T
n2との関係を示すタイミングチャートである。
図6は、第三移動平均フィルタを適用していない図であるので、
図3及び
図4とは速度波形、加速度波形及び加加速度波形が異なる。
【0069】
ここで時定数T
n1>時定数T
n2とする。時定数T
n1>時定数T
n2とする理由は時定数T
p1>時定数T
p2とする理由と同じである。時定数T
n1、時定数T
n2の大きさは任意である。第二指令速度の出力時間T
Bn、時定数T
n1、時定数T
n2の関係は、(1)T
Bn>T
n1>T
n2、(2)T
n1>T
Bn>T
n2、(3)T
n1>T
n2>T
Bnの三通りとなる。
図6は上記三通り夫々のタイミングチャートを示す。尚第二指令速度の出力時間T
Bnは、(第二移動指令に含まれる移動距離)/(第二移動指令に含まれる速度)によって求まる。
【0070】
(1)TBn>Tn1>Tn2、の場合、Tβ(時点k3と時点k6との間の時間)=Tn1となる。(2)Tn1>TBn>Tn2の場合、Tβ=TBnとなる。(3)Tn1>Tn2>TBnの場合、Tβ=Tn2となる。即ち、Tβ=median(Tn1,Tn2,TBn)である。
【0071】
tnの演算方法を説明する。(1)TBn>Tn1>Tn2、の場合、tn=Tα―Tβ=Tp1+Tp2-Tn1である。(2)Tn1>TBn>Tn2の場合、tn=Tα―Tβ=Tp1+Tp2-TBnである。(3)Tn1>Tn2>TBnの場合、tn=Tα―Tβ=Tp1+Tp2-Tn2である。
【0072】
上述したように、t
p>t
nの場合、CPU41はt
pを遅延時間とし(
図3参照)、t
p<t
nの場合、t
nを遅延時間とする。即ち、CPU41はt
p及びt
nのいずれか大きい値を遅延時間とする。従って遅延時間T
delay=max(t
p,t
n)となる。
【0073】
尚、上述した演算方法は以下の式で表すことができる。
tp=median(Tp1,Tp2,Tp1+Tp2-TBp)
tn=Tp1+Tp2-median(Tn1,Tn2,TBn)
Tdelay=max(median(Tp1,Tp2,Tp1+Tp2-TBp),Tp1+Tp2-median(Tn1,Tn2,TBn))
なおk1~k6を使って遅延時間を計算することもできる。時刻k1=0とし遅延時間=k3と仮定すると、
k2=median(Tp1,Tp2,Tp1+Tp2-TBp)
k6=k3+median(Tn1,Tn2,TBn)
k5=Tp1+Tp2
従って、「k2=k3」となるとき
k3= median(Tp1,Tp2,Tp1+Tp2-TBp)
「k5=k6」となるとき、
k3=Tp1+Tp2-median(Tn1,Tn2,TBn)
【0074】
上述のように遅延時間Tdelayを演算することによって、時定数の大きさに拘わらず使用可能な遅延時間を演算することができる。
【0075】
(第一移動指令及び第二移動指令の移動方向が逆である場合)
図7は、第一移動指令及び第二移動指令の移動方向が逆であって、t
p>t
nの場合における「指令速度」、「適用速度」、「加速度」、「加加速度」、「加加加速度」のタイミング図である。
【0076】
図7において、r0はCPU41が第一指令速度の出力を開始した時点を示し、r1はCPU41が第一指令速度の出力を完了した時点を示す。r2は、第一加加加速度が最後に正から0になる時点、r3は第二指令速度の出力が開始する時点を示す。r4はCPU41が第二指令速度の出力を完了した時点を示す。r5は第一適用速度が最高速度に至った後、0になる時点を示す。r6は、第二加加加速度が最初に0から正になる時点を示す。
【0077】
図7において、第一指令速度は正であり、第二指令速度は負である。第一指令速度の最大値は第二指令速度の最大値と略同じである。第一指令速度の出力時間(時点r0と時点r1との間の時間)は第二指令速度の出力時間(時点r3と時点r4との間の時間)よりも長い。第一適用速度の最大値は第一指令速度の最大値と同じであり、第二適用速度の最大値は第二指令速度の最大値と同じである。時点r3と時点r5との間、第一適用速度と第二適用速度との合成速度でモータは駆動する。
【0078】
第一移動指令及び第二移動指令の移動方向が逆である場合、CPU41は、重複時間の間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域に属するか、又は第一加加加速度及び第二加加加速度の両者が0以下の第四値域に属するように、即ち第一加加加速度及び第二加加加速度の両者が同じ値域に属するように遅延時間を演算する。重複時間の間、第一加加加速度及び第二加加加速度が同じ値域に属する場合、重複時間における第一加加速度と第二加加速度との合成加加速度は単調増加若しくは一定(合成加加加速度が0以上)、又は単調減少若しくは一定(合成加加加速度が0以下)となる。合成加加速度が単調増加若しくは一定、又は単調減少若しくは一定の場合、加速度の大きさは0に近づき、0の後に徐々に大きくなる。即ち、第一適用速度と第二適用速度との合成速度の大きさは、第二適用速度の最大値又は最小値の大きさを超過しない。
【0079】
図7を用いて、合成加加速度が単調増加又は一定となる場合について説明する。時点r3と時点r5との間が重複時間である。重複時間において、第一加加加速度及び第二加加加速度の両者が第四値域に属するように、CPU41は遅延時間を演算している。
【0080】
図7において、重複時間における第一加速度と第二加速度との合成加速度、及び第一加加速度と第二加加速度との合成加加速度を太線で表している。合成加加速度は一定となり、合成加速度は線形に増加する。即ち合成加速度に含まれる第二加速度が線形に減少するのに対し、合成加速度に含まれる第一加速度は線形に増加する。そのため、合成加速度の最小値の大きさは第二加速度の最小値の大きさを超過しない。
【0081】
CPU41は時点r1と時点r2との間の時間t
pと、時点r1と時点r5との間の時間T
αと、時点r3と時点r6との間の時間T
βとを演算する。CPU41はT
α―T
β=t
nを演算し、t
pとt
nとを比較する。
図7に示すように、t
p>t
nの場合、CPU41はt
pを遅延時間とする。CPU41は、第一指令速度の出力を完了した時点r1からt
p経過するまで待機し、第二指令速度の出力を開始することによって、第二加加加速度は0以下となり、第四値域に属し、第一加加加速度は0以下となり、第四値域に属する。
【0082】
図8は、第一移動指令及び第二移動指令の移動方向が逆であって、t
p<t
nの場合における「指令速度」、「適用速度」、「加速度」、「加加速度」、「加加加速度」のタイミング図である。
図8は合成加加速度が単調増加又は一定となる場合に対応する。
【0083】
図8において、第一指令速度の最大値は第二指令速度の最大値よりも大きい。第一指令速度の出力時間(時点r0と時点r1との間の時間)は第二指令速度の出力時間(時点r3と時点r4との間の時間)よりも長い。第一適用速度の最大値は第一指令速度の最大値と同じであり、第二適用速度の最大値は第二指令速度の最大値と同じである。時点r3と時点r5との間、第一適用速度と第二適用速度との合成速度でモータは駆動する。
【0084】
図8に示すように、t
p<t
nの場合、CPU41はt
nを遅延時間とする。CPU41は、第一指令速度の出力を完了した時点r1からt
n経過するまで待機し、第二指令速度の出力を開始することによって第二加加加速度の符号は0以下となり、第四値域に属し、第一加加加速度は0以下となり、第四値域に属する。尚合成加加速度が単調増加の場合も
図7及び
図8と同様に、第一加加加速度及び第二加加加速度は0以下となり、第四値域に属する。
【0085】
尚、第一指令速度が負であり、第二指令速度が正の場合、CPU41は、重複時間において第一加加加速度及び第二加加加速度の両者が第三値域に属するように、遅延時間を演算する。この場合、重複時間における第一加加速度と第二加加速度との合成加加速度は一定又は単調増加となる。合成加加速度が一定又は単調増加の場合、第一加速度と第二加速度との合成加速度の大きさは、合成加速度に含まれる第二加速度の最大値の大きさを超過しない。即ち、第一指令速度が負であり、第二指令速度が正の場合、タイミングチャートは、
図7又は
図8の各グラフを時間軸に関して上下対称にした図となる。
【0086】
t
pの演算方法を説明する。
図9は、第一適用速度、第一加速度、第一加加速度、第一指令速度の出力時間T
Bp、先行第一移動平均フィルタの時定数T
p1、先行第二移動平均フィルタの時定数T
p2との関係を示すタイミングチャートである。
図9は、第三移動平均フィルタを適用していない図であるので、
図7及び
図8とは速度波形、加速度波形及び加加速度波形が異なる。
【0087】
ここで時定数T
p1>時定数T
p2とする。時定数T
p1>時定数T
p2とする理由は前述の通りである。第一指令速度の出力時間T
Bp、時定数T
p1、時定数T
p2の関係は、(1)T
Bp>T
p1>T
p2、(2)T
p1>T
Bp>T
p2、(3)T
p1>T
p2>T
Bpの三通りとなる。
図9は上記三通り夫々のタイミングチャートを示す。時定数T
p1、時定数T
p2の大きさは任意である。
【0088】
(1)TBp>Tp1>Tp2の場合、tp(時点r1と時点r2との間の時間)=Tp1となる。(2)Tp1>TBp>Tp2の場合、tp=Tp1となる。(3)Tp1>Tp2>TBpの場合、tp=Tp1+Tp2-TBpとなる。
【0089】
また時点r1と時点r5との間の時間Tαは、第一指令速度の出力を完了してから第一適用速度が0になるまでの時間なので、時定数の加算結果であるTp1+Tp2と等しくなる。即ちTα=Tp1+Tp2である。
【0090】
T
βの演算方法を説明する。
図10は、第二適用速度、第二加速度、第二加加速度、第二指令速度の出力時間T
Bn、後行第一移動平均フィルタの時定数T
n1、後行第二移動平均フィルタの時定数T
n2との関係を示すタイミングチャートである。
図10は、第三移動平均フィルタを適用していない図であるので、
図7及び
図8とは速度波形、加速度波形及び加加速度波形が異なる。
【0091】
ここで時定数T
n1>時定数T
n2とする。時定数T
n1>時定数T
n2とする理由は時定数T
p1>時定数T
p2とする理由と同じである。時定数T
n1、時定数T
n2の大きさは任意である。第二指令速度の出力時間T
Bn、時定数T
n1、時定数T
n2の関係は、(1)T
Bn>T
n1>T
n2、(2)T
n1>T
Bn>T
n2、(3)T
n1>T
n2>T
Bnの三通りとなる。
図10は上記三通り夫々のタイミングチャートを示す。
【0092】
(1)TBn>Tn1>Tn2、の場合、Tβ(時点r3と時点r6との間の時間)=Tn2となる。(2)Tn1>TBn>Tn2の場合、Tβ=Tn2となる。(3)Tn1>Tn2>TBnの場合、Tβ=TBnとなる。
【0093】
tnの演算方法を説明する。(1)TBn>Tn1>Tn2、の場合、tn=Tα―Tβ=Tp1+Tp2-Tn2である。(2)Tn1>TBn>Tn2の場合、tn=Tα―Tβ=Tp1+Tp2-Tn2である。(3)Tn1>Tn2>TBnの場合、tn=Tα―Tβ=Tp1+Tp2-TBnである。
【0094】
上述したように、t
p>t
nの場合、CPU41はt
pを遅延時間とし(
図7参照)、t
p<t
nの場合、t
nを遅延時間とする(
図8参照)。即ち、CPU41はt
p及びt
nのいずれか大きい値を遅延時間とする。従って遅延時間T
delay=max(t
p,t
n)となる。
【0095】
尚、上述した演算方法は以下の式で表すことができる。
tp=max(Tp1,Tp1+Tp2-TBp)
tn=Tp1+Tp2-min(Tn2,TBn)
Tdelay=max(max(Tp1,Tp1+Tp2-TBp),Tp1+Tp2-min(Tn2,TBn))
【0096】
上述のように遅延時間Tdelayを演算することによって、第一移動指令及び第二移動指令の移動方向が逆の場合でも使用可能な遅延時間を演算することができる。
【0097】
図11は、CPU41による遅延時間演算処理を説明するフローチャートである。CPU41は、第一移動指令及び第二移動指令を取得したか否か判定する(S1)。第一移動指令及び第二移動指令を取得していない場合(S1:NO)、CPU41は、ステップS1に処理を戻す。第一移動指令及び第二移動指令を取得した場合(S1:YES)、CPU41は、第一移動指令が含む第一指令速度の移動方向と、第二移動指令が含む第二指令速度の移動方向とが同一であるか否か判定する(S2)。移動方向が同一である場合(S2:YES)、CPU41は、後述する第一遅延時間演算処理を実行する(S3)。移動方向が同一でない場合(S2:NO)、CPU41は、後述する第二遅延時間演算処理を実行する(S4)。
【0098】
図12は、CPU41による第一遅延時間演算処理を説明するフローチャートである。CPU41は、第一指令速度に先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用して第一適用速度を演算し、第二指令速度に後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用して第二適用速度を演算する(S11、
図3、
図4参照)。
【0099】
CPU41はt
pを演算する(S12)。上述したように、T
Bp>T
p1>T
p2の場合、t
p=T
p2となり、T
p1>T
Bp>T
p2の場合、t
p=T
p1+T
p2-T
Bpとなり、T
p1>T
p2>T
Bpの場合、t
p=T
p1となる(
図5参照)。ステップS12を実行するCPU41は第一遅延時間演算部を構成する。
【0100】
CPU41はT
αを演算する(S13)。上述したように、CPU41はT
α=T
p1+T
p2を演算する。次にCPU41はT
βを演算する(S14)。上述したように、T
Bn>T
n1>T
n2、の場合、T
β=T
n1となり、T
n1>T
Bn>T
n2の場合、T
β=T
Bnとなり、T
n1>T
n2>T
Bnの場合、T
β=T
n2となる(
図6参照)。
【0101】
CPU41はt
nを演算する(S15)。上述したように、T
Bn>T
n1>T
n2、の場合、t
n=T
α―T
β=T
p1+T
p2-T
n1であり、T
n1>T
Bn>T
n2の場合、t
n=T
α―T
β=T
p1+T
p2-T
Bnであり、T
n1>T
n2>T
Bnの場合、t
n=T
α―T
β=T
p1+T
p2-T
n2である(
図6参照)。ステップS15を実行するCPU41は第二遅延時間演算部を構成する。
【0102】
CPU41は、tp>tnであるか否か判定する(S16)。tp>tnである場合(S16:YES)、CPU41はtpを遅延時間に決定し(S17)、遅延時間演算処理を終了する。tp>tnでない場合(S16:NO)、CPU41はtnを遅延時間に決定し(S18)、遅延時間演算処理を終了する。CPU41は、第一指令速度の出力完了後、決定した遅延時間待機してから、第二指令速度の出力を開始する。ステップS16~S18を実行するCPU41は第一決定部を構成する。
【0103】
図13は、CPU41による第二遅延時間演算処理を説明するフローチャートである。第二遅延時間演算処理の内、ステップS21及びS26~S28はステップS11及びS16~S18と同様な処理であり、その詳細な説明は省略する。S21において、CPU41は、上述したように、第一適用速度、第二適用速度、を演算する(
図7、
図8参照)。
【0104】
CPU41はt
pを演算する(S22)。上述したように、T
Bp>T
p1>T
p2の場合、t
p=T
p1となり、T
p1>T
Bp>T
p2の場合、t
p=T
p1となり、T
p1>T
p2>T
Bpの場合、t
p=T
p1+T
p2-T
Bpとなる(
図9参照)。
【0105】
CPU41はT
αを演算する(S23)。上述したように、CPU41はT
α=T
p1+T
p2を演算する。次にCPU41はT
βを演算する(S24)。上述したように、T
Bn>T
n1>T
n2、の場合、T
β=T
n2となり、T
n1>T
Bn>T
n2の場合、T
β=T
n2となり、T
n1>T
n2>T
Bnの場合、T
β=T
Bnとなる(
図10参照)。
【0106】
CPU41はt
nを演算する(S25)。上述したように、T
Bn>T
n1>T
n2、の場合、t
n=T
α―T
β=T
p1+T
p2-T
n2であり、T
n1>T
Bn>T
n2の場合、t
n=T
α―T
β=T
p1+T
p2-T
n2であり、T
n1>T
n2>T
Bnの場合、t
n=T
α―T
β=T
p1+T
p2-T
Bnである(
図11参照)。CPU41はステップS26~S28を実行し、遅延時間演算処理を終了する。
【0107】
(実施の形態2)
以下本発明を実施の形態2に係る工作機械を示す図面に基づいて説明する。実施の形態2において、第一指令速度に対し、先行第一移動平均フィルタ及び先行第二移動平均フィルタに加えて、先行第三移動平均フィルタを適用する。また第二指令速度に対し、後行第一移動平均フィルタ及び後行第二移動平均フィルタに加えて、後行第三移動平均フィルタを適用する。
【0108】
実施の形態2においても、実施の形態1と同様に、先行第一移動平均フィルタの時定数Tp1>先行第二移動平均フィルタの時定数Tp2とし、後行第一移動平均フィルタの時定数Tn1>後行第二移動平均フィルタの時定数Tn2とする。
【0109】
(第一移動指令及び第二移動指令の移動方向が同じ方向である場合)
実施の形態1と同様に、第一移動指令及び第二移動指令の移動方向が同じ方向である場合、CPU41は、重複時間の間、第一加加速度及び第二加加速度の両者が同一値域に属するように、遅延時間を演算する。
【0110】
図14を用いて説明する。
図14は、第一加加速度を示すタイミングチャートである。
図14のF1は先行第一移動平均フィルタを示し、F2は先行第二移動平均フィルタを示し、F3は先行第三移動平均フィルタを示す。後述の
図16、
図17も同様である。
図14の上図は、先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用した後の第一加加速度を示し、
図14の下図は、先行第一移動平均フィルタ、先行第二移動平均フィルタ、及び先行第三移動平均フィルタを適用した後の第一加加速度を示す。
図14は、重複時間において、第一加加速度及び第二加加速度が第一値域に属するように、CPU41が遅延時間を演算する場合を示す。
【0111】
図14の上図は、
図3及び
図4の第一加加速度のグラフに対応する。
図14の下図に示すように、先行第一移動平均フィルタ、先行第二移動平均フィルタ、及び先行第三移動平均フィルタを適用した後に、第一加加速度が最後に負から0になる時点は、時点k2よりも、先行第三移動平均フィルタの時定数T
p3後の時点である。
【0112】
従って、実施の形態2において、第一移動指令及び第二移動指令の移動方向が同じ方向である場合のtpは、実施の形態1のtpにTp3を追加した値となる。即ち、
tp=median(Tp1,Tp2,Tp1+Tp2-TBp)+Tp3
となる。上記tpを演算するCPU41は第三遅延時間演算部を構成する。
【0113】
図15を用いて説明する。
図15は、第二加加速度を示すタイミングチャートである。
図15のF1′は後行第一移動平均フィルタを示し、F2′は後行第二移動平均フィルタを示し、F3′は後行第三移動平均フィルタを示す。後述の
図18、
図19も同様である。
図15のT
n3は後行第三移動平均フィルタの時定数を示す。
図15の上図は、後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用した後の第二加加速度を示し、
図15の下図は、後行第一移動平均フィルタ、後行第二移動平均フィルタ、及び後行第三移動平均フィルタを適用した後の第二加加速度を示す。
図15は、重複時間において、第一加加速度及び第二加加速度の両者が第一値域に属するように、CPU41が遅延時間を演算する場合を示す。
【0114】
図15の上図は、
図3及び
図4の第二加加速度のグラフに対応する。
図15の下図に示すように、後行第一移動平均フィルタ、後行第二移動平均フィルタ、及び後行第三移動平均フィルタを適用した場合、第二加加速度は時点k6よりも前のときに0以上、即ち第一値域に属する。また第一加加速度も0以上である、即ち第一値域に属するための条件は、時点k3からT
β=median(T
n1,T
n2,T
Bn)が経過するまでの時点k6の間に、第一適用速度の減速が完了すること、即ち時点k3と時点k6の間に時点k5が存在することである(
図3、
図4参照)。
【0115】
ここで後行第一移動平均フィルタ、後行第二移動平均フィルタ、及び後行第三移動平均フィルタを適用した場合、第一指令速度の出力が完了した時点k1から第一適用速度の減速が完了する時点k5までの時間Tαは、Tp1+Tp2+Tp3である。従って、
tn=Tα―Tβ=Tp1+Tp2+Tp3-median(Tn1,Tn2,TBn)
である。上記tnを演算するCPU41は第四遅延時間演算部を構成する。
CPU41はtp及びtnのいずれか大きい値を遅延時間に決定する。即ち、遅延時間Tdelay=max(tp,tn)となる。前記遅延時間を決定するCPU41は第二決定部を構成する。
【0116】
尚、重複時間の間、第一加加速度及び第二加加速度の両者が0以下となる、即ち第二値域に属するように、CPU41が遅延時間を演算する場合も同様である。
【0117】
(第一移動指令及び第二移動指令の移動方向が逆である場合)
実施の形態1と同様に、第一移動指令及び第二移動指令の移動方向が逆である場合、CPU41は、重複時間の間、第一加加加速度及び第二加加加速度の両者が第三値域に属するか、又は、第一加加加速度及び第二加加加速度の両者が第四値域に属するように、遅延時間を演算する。
【0118】
時定数T
p3≧min(T
p2,T
Bp)の場合に、重複時間の間、第一加加加速度が第四値域に属する場合について、
図16を用いて説明する。
図16は、時定数T
p3≧min(T
p2,T
Bp)の場合における第一加加速度、第一加加加速度を示すタイミングチャートである。
図16の上図は、先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用した後の第一加加速度を示し、
図16の中図は、先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用した後の第一加加加速度を示し、
図16の下図は、先行第一移動平均フィルタ、先行第二移動平均フィルタ、及び先行第三移動平均フィルタを適用した後の第一加加加速度を示す。
【0119】
図16の上図及び中図は、
図7及び
図8の第一加加速度及び第一加加加速度のグラフに対応する。
図16の上図において、r7は第一加加速度が最後に負から0になった時点である。実施の形態1で説明したように、時点r1から時点r5の間の時間はT
α=T
p1+T
p2である。実施の形態1で説明したように、時点r1から時点r7の間の時間は、第一移動指令及び第二移動指令の移動方向が同じである場合における時点k1から時点k2の間の時間、即ちt
p=median(T
p1,T
p2,T
p1+T
p2-T
Bp)と同じである(
図3、
図4参照)。時点r1から時点r2の間の時間は、第一移動指令及び第二移動指令の移動方向が逆である場合におけるt
p=max(T
p1,T
p1+T
p2-T
Bp)と同じである(
図7、
図8参照)。従って、時点r2から時点r5の間の時間は、T
p1+T
p2-max(T
p1,T
p1+T
p2-T
Bp)=min(T
p2,T
Bp)と同じである。
【0120】
図16の中図に示すように、先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用した場合において、0よりも大きい第一加加加速度をJ1、J4、0よりも小さい第一加加加速度をJ2、J3とする。先行第三移動平均フィルタをJ1~J4に適用した場合、
図16の下図の破線に示すように、J1~J4には相殺する部分と、重なる部分とが生じる。
図16においては、J1とJ2の間及びJ3とJ4の間で相殺する部分が生じ、J2とJ3の間で重なる部分が生じている。相殺する部分の第一加加加速度は略0であり、重なる部分の第一加加加速度は、相殺する部分を除いたJ1及びJ4の第一加加加速度の略倍である。
【0121】
図16の下図に示すように、時点r7から時定数T
p3を経過した後、且つ、先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用した場合に第一加加速度が最後に正から0になった時点、即ち時点r5の後であれば、先行第一移動平均フィルタ、先行第二移動平均フィルタ、及び先行第三移動平均フィルタを適用した第一加加加速度は0以下になる、即ち第四値域に属する。
【0122】
即ち、先行第三移動平均フィルタを適用した第一加加加速度が0以下となるためには、CPU41は、時点r1から時点tp1(下記式(1)参照)を経過した後に、第二指令速度の出力を開始することが必要である。
tp1=max(median(Tp1,Tp2,Tp1+Tp2-TBp)+Tp3,Tp1+Tp2)・・・(1)
【0123】
時定数T
p3<min(T
p2,T
Bp)の場合に、重複時間の間、第一加加加速度が第四値域に属するときについて、
図17を用いて説明する。
図17は、時定数T
p3<min(T
p2,T
Bp)の場合における第一加加速度、第一加加加速度を示すタイミングチャートである。
図17の上図は、先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用した後の第一加加速度を示し、
図17の中図は、先行第一移動平均フィルタ及び先行第二移動平均フィルタを適用した後の第一加加加速度を示し、
図17の下図は、先行第一移動平均フィルタ、先行第二移動平均フィルタ、及び先行第三移動平均フィルタを適用した後の第一加加加速度を示す。
【0124】
図17の上図及び中図は、
図7及び
図8の第一加加速度及び第一加加加速度のグラフに対応する。
図17の下図に示すように、時点r2からT
p3経過していれば、先行第一移動平均フィルタ、先行第二移動平均フィルタ、及び先行第三移動平均フィルタを適用した第一加加加速度は0以下、即ち負になる。
【0125】
即ち、先行第三移動平均フィルタを適用した第一加加加速度が0以下となるためには、CPU41は、時点r1から時点tp2(下記式(2)参照)を経過した後に、第二適用速度の出力を開始することが必要である。
tp2=max(Tp1,Tp1+Tp2-TBp)+Tp3・・・(2)
【0126】
上述のように、重複時間の間、第一加加加速度が0以下とするために、第一指令速度の出力が完了した時点r1から少なくともtp1又はtp2待機した後に、第二指令速度の出力を開始する必要がある。
即ち、CPU41は第一指令速度の出力が完了した時点r1からtp(下記式(3)参照)経過した後に第二指令速度の出力を開始する必要がある。
tp=min(max(median(Tp1,Tp2,Tp1+Tp2-TBp)+Tp3,Tp1+Tp2), max(Tp1,Tp1+Tp2-TBp)+Tp3)・・・(3)
上記tpを演算するCPU41は第七遅延時間演算部及び第五決定部を構成する。max(median(Tp1,Tp2,Tp1+Tp2-TBp)+Tp3,Tp1+Tp2)を演算するCPU41は第一選択部を構成する。max(Tp1,Tp1+Tp2-TBp)+Tp3を演算するCPU41は第一加算部を構成する。
【0127】
時定数T
p3≧min(T
p2,T
Bp)の場合に、重複時間の間、第二加加加速度の符号が負となるときについて、
図18を用いて説明する。
図18は、時定数T
p3≧min(T
p2,T
Bp)の場合における第二加加速度、第二加加加速度を示すタイミングチャートである。
図18の上図及び中図は、
図7及び
図8の第二加加速度及び第二加加加速度のグラフに対応する。
図18のT
n3は後行第三移動平均フィルタの時定数である。
図18の上図は、後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用した後の第二加加速度を示し、
図18の中図は、後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用した後の第二加加加速度を示し、
図18の下図は、後行第一移動平均フィルタ、後行第二移動平均フィルタ、及び後行第三移動平均フィルタを適用した後の第二加加加速度を示す。
【0128】
図18の上図において、r8は第二加加速度が最初に0から正になった時点である。時点r3から時点r8の間の時間は、実施の形態1で説明した、第一移動指令及び第二移動指令の移動方向が同じである場合における時間T
β、即ちT
β=median(T
n1,T
n2,T
Bn)と同じ時間である(
図6参照)。実施の形態2における第二加加速度のグラフと、実施の形態1における第二加加速度のグラフとは、時間軸に関して対称だからである。
【0129】
図18の下図に示すように、時点r8よりも前、且つ、時点r3から時定数T
n3が経過した時点よりも前であれば、後行第一移動平均フィルタ、後行第二移動平均フィルタ、及び後行第三移動平均フィルタを適用した第二加加加速度は0以下となる、即ち第四値域に属する。
【0130】
即ち、後行第三移動平均フィルタを適用した第二加加加速度が0以下となるためには、時点r3からTβ1=min(median(Tn1,Tn2,TBn),Tn3)が経過する前に、第一適用速度の減速が完了していることが必要である。
このとき
tn1=Tα-Tβ1=Tp1+Tp2+Tp3-Tβ1・・・(4)
である。
【0131】
時定数T
p3<min(T
p2,T
Bp)の場合に、重複時間の間、第二加加加速度が第四値域に属するときについて、
図19を用いて説明する。
図19は、時定数T
p3<min(T
p2,T
Bp)の場合における第二加加速度、第二加加加速度を示すタイミングチャートである。
図19の上図及び中図は、
図7及び
図8の第二加加速度及び第二加加加速度のグラフに対応する。
図19において、時点r3から時点r6の間の時間は、実施の形態1で説明した、第一移動指令及び第二移動指令の移動方向が逆である場合における時間T
β、即ちmin(T
n2,T
Bn)と同じ時間である(
図10参照)。
【0132】
図19の上図は、後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用した後の第二加加速度を示し、
図19の中図は、後行第一移動平均フィルタ及び後行第二移動平均フィルタを適用した後の第二加加加速度を示し、
図19の下図は、後行第一移動平均フィルタ、後行第二移動平均フィルタ、及び後行第三移動平均フィルタを適用した後の第二加加加速度を示す。
【0133】
図19の下図に示すように、時点r6(第二加加速度が最初に負から0になる時点)よりも前であれば、後行第一移動平均フィルタ、後行第二移動平均フィルタ、及び後行第三移動平均フィルタを適用した第二加加加速度は0以下となる、即ち第四値域に属する。
【0134】
即ち、後行第三移動平均フィルタを適用した第二加加加速度が0以下となるためには、Tβ2=min(Tn2,TBn)とすると、時点r3からTβ2が経過した時点よりも前に、第一適用速度の減速が完了していることが必要である。
このとき
tn2=Tα-Tβ2=Tp1+Tp2+Tp3-Tβ2・・・(5)
である。
【0135】
上述のように、重複時間の間、第二加加加速度が第四値域に属する為には、第一指令速度の出力が完了した時点r1から少なくともtn1又はtn2待機した後に、CPU41は第二指令速度の出力を開始する必要がある。
即ち、CPU41は第一指令速度の出力が完了した時点r1からtn(下記式参照)経過した後に第二指令速度の出力を開始する必要がある。
tn=Tp1+Tp2+Tp3-max(Tβ1,Tβ2)=Tp1+Tp2+Tp3-max(min(median(Tn1,Tn2,TBn),Tn3), min(Tn2,TBn))・・・(6)
式(6)を演算するCPU41は第八遅延時間演算部及び演算部を構成する。min(median(Tn1,Tn2,TBn),Tn3)を演算するCPU41は第二選択部を構成する。min(Tn2,TBn)を演算するCPU41は第三選択部を構成する。max(min(median(Tn1,Tn2,TBn),Tn3), min(Tn2,TBn))を演算するCPU41は第四選択部を構成する。
【0136】
CPU41は、式(3)のtp及び式(6)のtnの内、いずれか大きい値を遅延時間に決定する。即ち、遅延時間Tdelay=max(tp,tn)となる。前記遅延時間を決定するCPU41は第四決定部を構成する。
【0137】
尚、重複時間の間、第一加加加速度及び第二加加加速度の両者が0以上となる、即ち第三値域に属するように、CPU41が遅延時間を演算する場合も同様である。
【0138】
今回開示した実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。各実施例にて記載されている技術的特徴は互いに組み合わせることができ、本発明の範囲は、特許請求の範囲内での全ての変更及び特許請求の範囲と均等の範囲が含まれることが意図される。
【符号の説明】
【0139】
23 Y軸モータ
27 X軸モータ
31 Z軸モータ
32 主軸ヘッド
35 主軸モータ
40 制御装置
41 CPU
42 RAM
43 記憶部
120 ワーク保持部
121 A軸モータ
122 C軸モータ
27a、23a、31a、121a、122a、35a 駆動回路
100 工作機械