特許第6441257号(P6441257)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

<>
  • 特許6441257-数値制御装置および同期追従制御方法 図000002
  • 特許6441257-数値制御装置および同期追従制御方法 図000003
  • 特許6441257-数値制御装置および同期追従制御方法 図000004
  • 特許6441257-数値制御装置および同期追従制御方法 図000005
  • 特許6441257-数値制御装置および同期追従制御方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6441257
(24)【登録日】2018年11月30日
(45)【発行日】2018年12月19日
(54)【発明の名称】数値制御装置および同期追従制御方法
(51)【国際特許分類】
   B23Q 15/00 20060101AFI20181210BHJP
   G05B 19/18 20060101ALI20181210BHJP
【FI】
   B23Q15/00 J
   G05B19/18 C
【請求項の数】16
【全頁数】18
(21)【出願番号】特願2016-90901(P2016-90901)
(22)【出願日】2016年4月28日
(65)【公開番号】特開2017-196711(P2017-196711A)
(43)【公開日】2017年11月2日
【審査請求日】2017年6月15日
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100077665
【弁理士】
【氏名又は名称】千葉 剛宏
(74)【代理人】
【識別番号】100116676
【弁理士】
【氏名又は名称】宮寺 利幸
(74)【代理人】
【識別番号】100191134
【弁理士】
【氏名又は名称】千馬 隆之
(74)【代理人】
【識別番号】100149261
【弁理士】
【氏名又は名称】大内 秀治
(74)【代理人】
【識別番号】100136548
【弁理士】
【氏名又は名称】仲宗根 康晴
(74)【代理人】
【識別番号】100136641
【弁理士】
【氏名又は名称】坂井 志郎
(74)【代理人】
【識別番号】100180448
【弁理士】
【氏名又は名称】関口 亨祐
(72)【発明者】
【氏名】堀口 幸一郎
【審査官】 松田 長親
(56)【参考文献】
【文献】 特開2001−027904(JP,A)
【文献】 特開平04−238504(JP,A)
【文献】 特開2003−044144(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B23Q 15/00−15/28
G05B 19/18−19/416
G05B 19/42−19/46
(57)【特許請求の範囲】
【請求項1】
マスター軸の位置にスレーブ軸の位置を同期させて追従させる数値制御装置であって、
マスター軸の位置とスレーブ軸の位置との位置関係を定義した位置テーブルと、
前記位置テーブルにしたがって、前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記スレーブ軸を駆動制御するスレーブ軸同期制御部と、
所定の条件が成立する前記スレーブ軸を前記マスター軸の親として決定する親決定部と、
指令位置に基づいて前記マスター軸を駆動制御し、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合は、前記位置テーブルにしたがって、前記マスター軸の位置が、親として決定された前記スレーブ軸の位置に同期して追従するように、前記マスター軸を駆動制御するマスター軸制御部と、
を備えることを特徴とする数値制御装置。
【請求項2】
請求項1に記載の数値制御装置であって、
前記所定の条件が成立するスレーブ軸は、故障によって停止する前記スレーブ軸である
ことを特徴とする数値制御装置。
【請求項3】
請求項1または2に記載の数値制御装置であって、
前記スレーブ軸同期制御部は、前記マスター軸に複数の前記スレーブ軸が同期する場合に、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合は、親として決定された前記スレーブ軸以外の前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、親として決定された前記スレーブ軸以外の前記スレーブ軸を駆動制御する
ことを特徴とする数値制御装置。
【請求項4】
請求項1〜3のいずれか1項に記載の数値制御装置であって、
前記スレーブ軸同期制御部は、前記マスター軸の位置情報を取得し、前記マスター軸の位置情報と前記位置テーブルとを用いて、前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記スレーブ軸を駆動制御する
ことを特徴とする数値制御装置。
【請求項5】
請求項1〜4のいずれか1項に記載の数値制御装置であって、
前記マスター軸制御部は、親として決定された前記スレーブ軸の位置情報を取得し、取得した前記スレーブ軸の位置情報と前記位置テーブルとを用いて、前記マスター軸の位置が親として決定された前記スレーブ軸の位置に同期して追従するように、前記マスター軸を駆動制御する
ことを特徴とする数値制御装置。
【請求項6】
請求項1〜5のいずれか1項に記載の数値制御装置であって、
前記マスター軸制御部は、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合であって、前記位置テーブルに、親として決定された前記スレーブ軸の位置に対応する前記マスター軸の同期位置が複数ある場合は、現在の前記マスター軸の位置に近い前記同期位置を前記マスター軸の位置として決定する
ことを特徴とする数値制御装置。
【請求項7】
マスター軸の位置に複数のスレーブ軸の位置を同期させて追従させる数値制御装置であって、
予めマスター軸の位置と複数のスレーブ軸の位置との位置関係を定義した位置テーブルと、
前記位置テーブルにしたがって、前記複数のスレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記複数のスレーブ軸を駆動制御するスレーブ軸同期制御部と、
前記複数のスレーブ軸のうち、所定の条件が成立する1つの前記スレーブ軸を前記マスター軸の親として決定する親決定部と、
前記位置テーブルにしたがって、前記マスター軸を仮想的に構築した仮想軸が、親として決定された前記スレーブ軸の位置に同期して追従するように、前記仮想軸の位置を決定する仮想軸位置決定部と、
を備え、
前記スレーブ軸同期制御部は、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合は、前記位置テーブルにしたがって、親として決定された前記スレーブ軸以外の前記スレーブ軸の位置が、前記仮想軸の位置に同期して追従するように、親として決定された前記スレーブ軸以外の前記スレーブ軸を駆動制御する
ことを特徴とする数値制御装置。
【請求項8】
請求項7に記載の数値制御装置であって、
前記所定の条件が成立する1つのスレーブ軸は、故障によって停止する前記スレーブ軸である
ことを特徴とする数値制御装置。
【請求項9】
請求項7または8に記載の数値制御装置であって、
前記仮想軸位置決定部は、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合であって、前記位置テーブルに、親として決定された前記スレーブ軸の位置に対応する前記マスター軸の同期位置が複数ある場合は、現在の前記仮想軸の位置に近い前記同期位置を前記仮想軸の位置として決定する
ことを特徴とする数値制御装置。
【請求項10】
マスター軸の位置にスレーブ軸の位置を同期させて追従させる同期追従制御方法であって、
指令位置に基づいて前記マスター軸を駆動制御するマスター軸駆動制御ステップと、
前記マスター軸の位置と前記スレーブ軸の位置との位置関係を予め定義した位置テーブルにしたがって、前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記スレーブ軸を駆動制御するスレーブ軸同期制御ステップと、
所定の条件が成立する前記スレーブ軸を前記マスター軸の親として決定する親決定ステップと、
前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合は、前記位置テーブルにしたがって、前記マスター軸の位置が、親として決定された前記スレーブ軸の位置に同期して追従するように、前記マスター軸を駆動制御するマスター軸同期制御ステップと、
を備えることを特徴とする同期追従制御方法。
【請求項11】
請求項10に記載の同期追従制御方法であって、
前記所定の条件が成立するスレーブ軸は、故障によって停止する前記スレーブ軸である
ことを特徴とする同期追従制御方法。
【請求項12】
請求項10または11に記載の同期追従制御方法であって、
前記スレーブ軸同期制御ステップは、前記マスター軸に複数の前記スレーブ軸が同期する場合に、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合は、親として決定された前記スレーブ軸以外の前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、親として決定された前記スレーブ軸以外の前記スレーブ軸を駆動制御する
ことを特徴とする同期追従制御方法。
【請求項13】
請求項10〜12のいずれか1項に記載の同期追従制御方法であって、
前記マスター軸同期制御ステップは、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合であって、前記位置テーブルに、親として決定された前記スレーブ軸の位置に対応する前記マスター軸の同期位置が複数ある場合は、現在の前記マスター軸の位置に近い前記同期位置を前記マスター軸の位置として決定する
ことを特徴とする同期追従制御方法。
【請求項14】
マスター軸の位置に複数のスレーブ軸の位置を同期させて追従させる同期追従制御方法であって、
前記マスター軸の位置と前記複数のスレーブ軸の位置との位置関係を予め定義した位置テーブルにしたがって、前記複数のスレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記複数のスレーブ軸を駆動制御するスレーブ軸同期制御ステップと、
前記複数のスレーブ軸のうち、所定の条件が成立する1つの前記スレーブ軸を前記マスター軸の親として決定する親決定ステップと、
前記位置テーブルにしたがって、前記マスター軸を仮想的に構築した仮想軸が、親として決定された前記スレーブ軸の位置に同期して追従するように、前記仮想軸の位置を決定する仮想軸位置決定ステップと、
を備え、
前記スレーブ軸同期制御ステップは、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合は、親として決定された前記スレーブ軸以外の前記スレーブ軸の位置が、前記仮想軸の位置に同期して追従するように、親として決定された前記スレーブ軸以外の前記スレーブ軸を駆動制御する
ことを特徴とする同期追従制御方法。
【請求項15】
請求項14に記載の同期追従制御方法であって、
前記所定の条件が成立する1つのスレーブ軸は、故障によって停止する前記スレーブ軸である
ことを特徴とする同期追従制御方法。
【請求項16】
請求項14または15に記載の同期追従制御方法であって、
前記仮想軸位置決定ステップは、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合であって、前記位置テーブルに、親として決定された前記スレーブ軸の位置に対応する前記マスター軸の同期位置が複数ある場合は、現在の前記仮想軸の位置に近い前記同期位置を前記仮想軸の位置として決定する
ことを特徴とする同期追従制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスター軸の位置にスレーブ軸の位置を同期させて追従させる数値制御装置および同期追従制御方法に関する。
【背景技術】
【0002】
板金などの被加工部材を金型に嵌め込んで加工するプレス機においては、被加工部材のプレス機への搬入、搬出を行うトランスファー装置を使用する場合がある。このような、プレス機およびトランスファー装置で構成されるシステムにおいては、マスター軸となるプレス機の位置に同期して、トランスファー装置の3次元で規定されるXYZの3軸のスレーブ軸を駆動させる。
【0003】
下記に示す特許文献1には、マスター軸に同期させて1軸以上のスレーブ軸を移動させる数値制御装置が開示されている。具体的には、移動指令が与えられた1軸をマスター軸、マスター軸以外の軸をスレーブ軸とし、移動指令をコピーして得られた移動指令をスレーブ軸に与えるというものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3720825号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
周辺装置やワークなどがスレーブ軸の経路上に残留し、障害物となってしまった場合、そのスレーブ軸のマスター軸との同期制御を中止し、そのスレーブ軸(以下、回避スレーブ軸と呼ぶ)を直ちに停止させたり、退避方向へ移動させたりすることで、障害物との衝突を回避する。この場合、回避スレーブ軸と回避スレーブ軸以外の軸とは非同期状態となってしまうため、マスター軸とスレーブ軸とが干渉したり、他の装置と干渉したりしてしまう場合がある。
【0006】
また、サーボアンプの故障などの要因によってスレーブ軸を駆動させるサーボモータの励磁が落ちた場合は、そのスレーブ軸(以下、制御不能スレーブ軸と呼ぶ)は惰性により動いた後停止する。この場合は、制御不能スレーブ軸以外の軸(マスター軸やスレーブ軸)が動き続けると制御不能スレーブ軸が制御不能スレーブ軸以外の軸の動作に干渉してしまうため、制御不能スレーブ軸以外の軸も励磁を落として停止させる、または、励磁を落とさずに減速停止させる必要がある。
【0007】
全軸の励磁が落ちる場合は、各軸が惰性で動作して停止するため、同期制御を行うことができない。また、制御不能スレーブ軸以外の軸を、励磁を落とさずに停止させる場合でも、制御不能スレーブ軸と制御不能スレーブ軸以外の軸とは非同期状態となってしまう。マスター軸とスレーブ軸とが非同期状態になると、マスター軸とスレーブ軸とが干渉したり、他の装置と干渉したりしてしまう場合がある。また、上記特許文献1に記載の発明でも、このような問題に対処することはできない。
【0008】
そこで、本発明は、障害物の回避のためにスレーブ軸を意図的に停止または移動させる場合や故障によってスレーブ軸が停止する場合でも、全軸の同期状態を維持する数値制御装置および同期追従制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
第1の本発明は、数値制御装置であって、マスター軸の位置とスレーブ軸の位置との位置関係を定義した位置テーブルと、前記位置テーブルにしたがって、前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記スレーブ軸を駆動制御するスレーブ軸同期制御部と、前記スレーブ軸を前記マスター軸の親として決定する親決定部と、指令位置に基づいて前記マスター軸を駆動制御し、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合は、前記位置テーブルにしたがって、前記マスター軸の位置が、親として決定された前記スレーブ軸の位置に同期して追従するように、前記マスター軸を駆動制御するマスター軸制御部と、を備える。
【0010】
この構成により、スレーブ軸を停止または移動させる場合であっても、マスター軸とスレーブ軸との同期状態を維持させることができる。したがって、マスター軸とスレーブ軸とが干渉することを防止することができる。
【0011】
第1の本発明は、数値制御装置であって、前記親決定部は、前記スレーブ軸が故障によって停止する場合に、その前記スレーブ軸を前記マスター軸の親として決定してもよい。
【0012】
これにより、スレーブ軸が故障によって停止する場合であっても、マスター軸とスレーブ軸との同期状態を維持させることができる。したがって、マスター軸とスレーブ軸とが干渉することを防止することができる。
【0013】
第1の本発明は、前記数値制御装置であって、前記スレーブ軸同期制御部は、前記マスター軸に複数の前記スレーブ軸が同期する場合に、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合は、親として決定された前記スレーブ軸以外の前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、親として決定された前記スレーブ軸以外の前記スレーブ軸を駆動制御してもよい。
【0014】
これにより、複数のスレーブ軸のうち、1つのスレーブ軸を意図的に停止または移動させる場合でも、故障によって停止する場合でも、全ての軸(マスター軸および複数のスレーブ軸)の同期状態を維持させることができる。したがって、マスター軸と複数のスレーブ軸とが干渉したり、他の装置、部材と干渉したりすることを防止することができる。例えば、全てのスレーブ軸で1つの部材を駆動させている場合に、1つのスレーブ軸が故障によって停止する場合であっても、その部材を正しい移動経路で動作させることができる。
【0015】
第1の本発明は、前記数値制御装置であって、前記スレーブ軸同期制御部は、前記マスター軸の位置情報を取得し、前記マスター軸の位置情報と前記位置テーブルとを用いて、前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記スレーブ軸を駆動制御してもよい。これにより、スレーブ軸のマスター軸への同期制御を適切に行うことができ、マスター軸とスレーブ軸との干渉を防止することができる。
【0016】
第1の本発明は、前記数値制御装置であって、前記マスター軸制御部は、親として決定された前記スレーブ軸の位置情報を取得し、取得した前記スレーブ軸の位置情報と前記位置テーブルとを用いて、前記マスター軸の位置が親として決定された前記スレーブ軸の位置に同期して追従するように、前記マスター軸を駆動制御してもよい。これにより、マスター軸の親として決定されたスレーブ軸への同期制御を適切に行うことができ、マスター軸とスレーブ軸との干渉を防止することができる。
【0017】
第1の本発明は、前記数値制御装置であって、前記マスター軸制御部は、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合であって、前記位置テーブルに、親として決定された前記スレーブ軸の位置に対応する前記マスター軸の同期位置が複数ある場合は、現在の前記マスター軸の位置に近い前記同期位置を前記マスター軸の位置として決定してもよい。これにより、マスター軸の親として決定されたスレーブ軸への同期制御を適切に行うことができ、マスター軸とスレーブ軸との干渉を防止することができる。
【0018】
第2の本発明は、数値制御装置であって、予めマスター軸の位置と複数のスレーブ軸の位置との位置関係を定義した位置テーブルと、前記位置テーブルにしたがって、前記複数のスレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記複数のスレーブ軸を駆動制御するスレーブ軸同期制御部と、前記複数のスレーブ軸のうち、1つの前記スレーブ軸を前記マスター軸の親として決定する親決定部と、前記位置テーブルにしたがって、前記マスター軸を仮想的に構築した仮想軸が、親として決定された前記スレーブ軸の位置に同期して追従するように、前記仮想軸の位置を決定する仮想軸位置決定部と、を備え、前記スレーブ軸同期制御部は、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合は、前記位置テーブルにしたがって、親として決定された前記スレーブ軸以外の前記スレーブ軸の位置が、前記仮想軸の位置に同期して追従するように、親として決定された前記スレーブ軸以外の前記スレーブ軸を駆動制御する。このとき、仮想軸の構築時、その仮想軸の位置はその時点でのマスター軸の位置とする。
【0019】
この構成により、マスター軸が別の制御装置で駆動制御されている場合であって、スレーブ軸を停止または移動させる場合であっても、全てのスレーブ軸の同期状態を維持することができる。つまり、マスター軸が別の制御装置で駆動制御されている場合は、停止させるスレーブ軸をマスター軸の親にすることができず、全てのスレーブ軸同士での同期状態が崩れてしまうが、マスター軸の仮想軸を構築することで、全てのスレーブ軸同士での同期状態を維持することができる。その結果、全てのスレーブ軸で1つの部材を駆動させている場合に、1つのスレーブ軸を停止させる場合であっても、その部材を正しい移動経路で動作させることができる。
【0020】
第2の本発明は、数値制御装置であって、前記親決定部は、故障によって停止する1つの前記スレーブ軸を前記マスター軸の親として決定してもよい。
【0021】
これより、マスター軸が別の制御装置で駆動制御されている場合であって、1つのスレーブ軸が故障によって停止する場合であっても、全てのスレーブ軸の同期状態を維持することができる。
【0022】
第2の本発明は、前記数値制御装置であって、前記仮想軸位置決定部は、前記親決定部によって前記マスター軸の親となる前記スレーブ軸が決定された場合であって、前記位置テーブルに、親として決定された前記スレーブ軸の位置に対応する前記マスター軸の同期位置が複数ある場合は、現在の前記仮想軸の位置に近い前記同期位置を前記仮想軸の位置として決定してもよい。これにより、仮想軸の位置の親として決定されたスレーブ軸への同期制御を適切に行うことができ、全てのスレーブ軸の同期状態を維持することができる。
【0023】
第3の本発明は、マスター軸の位置にスレーブ軸の位置を同期させて追従させる同期追従制御方法であって、指令位置に基づいて前記マスター軸を駆動制御するマスター軸駆動制御ステップと、前記マスター軸の位置と前記スレーブ軸の位置との位置関係を予め定義した位置テーブルにしたがって、前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記スレーブ軸を駆動制御するスレーブ軸同期制御ステップと、前記スレーブ軸を前記マスター軸の親として決定する親決定ステップと、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合は、前記位置テーブルにしたがって、前記マスター軸の位置が、親として決定された前記スレーブ軸の位置に同期して追従するように、前記マスター軸を駆動制御するマスター軸同期制御ステップと、を備える。
【0024】
この構成により、スレーブ軸を停止または移動させる場合であっても、マスター軸とスレーブ軸との同期状態を維持させることができる。したがって、マスター軸とスレーブ軸とが干渉することを防止することができる。
【0025】
第3の本発明は、前記同期追従制御方法であって、前記親決定ステップは、前記スレーブ軸が故障によって停止する場合に、その前記スレーブ軸を前記マスター軸の親として決定してもよい。
【0026】
これにより、スレーブ軸が故障によって停止する場合であっても、マスター軸とスレーブ軸との同期状態を維持させることができる。したがって、マスター軸とスレーブ軸とが干渉することを防止することができる。
【0027】
第3の本発明は、前記同期追従制御方法であって、前記スレーブ軸同期制御ステップは、前記マスター軸に複数の前記スレーブ軸が同期する場合に、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合は、親として決定された前記スレーブ軸以外の前記スレーブ軸の位置が前記マスター軸の位置に同期して追従するように、親として決定された前記スレーブ軸以外の前記スレーブ軸を駆動制御してもよい。
【0028】
これにより、複数のスレーブ軸のうち、1つのスレーブ軸を意図的に停止または移動させる場合でも、故障によって停止する場合でも、全ての軸(マスター軸および複数のスレーブ軸)の同期状態を維持させることができる。したがって、マスター軸と複数のスレーブ軸とが干渉したり、他の装置、部材と干渉したりすることを防止することができる。例えば、全てのスレーブ軸で1つの部材を駆動させている場合に、1つのスレーブ軸が故障によって停止する場合であっても、その部材を正しい移動経路で動作させることができる。
【0029】
第3の本発明は、前記同期追従制御方法であって、前記マスター軸同期制御ステップは、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合であって、前記位置テーブルに、親として決定された前記スレーブ軸の位置に対応する前記マスター軸の同期位置が複数ある場合は、現在の前記マスター軸の位置に近い前記同期位置を前記マスター軸の位置として決定してもよい。これにより、マスター軸の親として決定されたスレーブ軸への同期制御を適切に行うことができ、マスター軸とスレーブ軸との干渉を防止することができる。
【0030】
第4の本発明は、マスター軸の位置に複数のスレーブ軸の位置を同期させて追従させる同期追従制御方法であって、前記マスター軸の位置と前記複数のスレーブ軸の位置との位置関係を予め定義した位置テーブルにしたがって、前記複数のスレーブ軸の位置が前記マスター軸の位置に同期して追従するように、前記複数のスレーブ軸を駆動制御するスレーブ軸同期制御ステップと、前記複数のスレーブ軸のうち、1つの前記スレーブ軸を前記マスター軸の親として決定する親決定ステップと、前記位置テーブルにしたがって、前記マスター軸を仮想的に構築した仮想軸が、親として決定された前記スレーブ軸の位置に同期して追従するように、前記仮想軸の位置を決定する仮想軸位置決定ステップと、を備え、前記スレーブ軸同期制御ステップは、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合は、親として決定された前記スレーブ軸以外の前記スレーブ軸の位置が、前記仮想軸の位置に同期して追従するように、親として決定された前記スレーブ軸以外の前記スレーブ軸を駆動制御する。このとき、仮想軸の構築時、その仮想軸の位置はその時点でのマスター軸の位置とする。
【0031】
この構成により、マスター軸が別の制御装置で駆動制御されている場合であって、スレーブ軸を停止または移動させる場合であっても、全てのスレーブ軸の同期状態を維持することができる。つまり、マスター軸が別の制御装置で駆動制御されている場合は、停止させるスレーブ軸をマスター軸の親にすることができず、全てのスレーブ軸同士での同期状態が崩れてしまうが、マスター軸の仮想軸を構築することで、全てのスレーブ軸同士での同期状態を維持することができる。その結果、全てのスレーブ軸で1つの部材を駆動させている場合に、1つのスレーブ軸を停止させる場合であっても、その部材を正しい移動経路で動作させることができる。
【0032】
第4の本発明は、前記同期追従制御方法であって、前記親決定ステップは、故障によって停止する1つの前記スレーブ軸を前記マスター軸の親として決定してもよい。
【0033】
これより、マスター軸が別の制御装置で駆動制御されている場合であって、1つのスレーブ軸が故障によって停止する場合であっても、全てのスレーブ軸の同期状態を維持することができる。
【0034】
第4の本発明は、前記同期追従制御方法であって、前記仮想軸位置決定ステップは、前記親決定ステップによって前記マスター軸の親となる前記スレーブ軸が決定された場合であって、前記位置テーブルに、親として決定された前記スレーブ軸の位置に対応する前記マスター軸の同期位置が複数ある場合は、現在の前記仮想軸の位置に近い前記同期位置を前記仮想軸の位置として決定してもよい。これにより、仮想軸の位置の親として決定されたスレーブ軸への同期制御を適切に行うことができ、全てのスレーブ軸の同期状態を維持することができる。
【発明の効果】
【0035】
本発明によれば、1つのスレーブ軸を意図的に停止または移動させる場合でも、故障によって停止する場合でも、全軸の同期状態を維持することができる。
【図面の簡単な説明】
【0036】
図1】第1の実施の形態における数値制御装置の構成を示す機能ブロック図である。
図2図1に示す位置テーブルに格納されている情報の一例を示す図である。
図3図2に示す位置テーブルに記憶されたマスター軸の位置とマスター軸の親として決定されたスレーブ軸の位置との関係の一例をグラフ化した図である。
図4図2に示す位置テーブルに記憶されたマスター軸の位置とマスター軸の親として決定されたスレーブ軸の位置との関係の一例(別の例)をグラフ化した図である。
図5】第2の実施の形態における数値制御装置の構成を示す機能ブロック図である。
【発明を実施するための形態】
【0037】
本発明に係る数値制御装置および同期追従制御方法について、好適な実施の形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。
【0038】
[第1の実施の形態]
図1は、第1の実施の形態における、数値制御装置10の構成を示す機能ブロック図である。数値制御装置10は、コンピュータとプログラムが記憶された記憶媒体とを有し、コンピュータがプログラムを実行することで、本第1の実施の形態の数値制御装置として機能する。数値制御装置10は、複数のサーボアンプ12m、12s(12s1〜12s3)を介して、複数のサーボモータ14m、14s(14s1〜14s3)を駆動制御するものである。サーボモータ14mはマスター軸Mを駆動させるサーボモータであり、サーボモータ14s(14s1〜14s3)はスレーブ軸S(S1〜S3)を駆動させるサーボモータである。なお、本第1の実施の形態においては、スレーブ軸Sの数を3つとするが、1つでも2つでもよく、また4つ以上であってもよい。この場合は、スレーブ軸Sの数と同じ数だけサーボアンプ12sおよびサーボモータ14sを設ければよい。
【0039】
第1の実施の形態において、マスター軸Mの位置という場合は、サーボモータ14mの回転位置(例えば、720度などの基準位置からの回転角度位置)またはサーボモータ14mによって駆動する部材の位置とする。また、スレーブ軸S1の位置という場合は、サーボモータ14s1の回転位置(例えば、540度などの基準位置からの回転角度位置)またはサーボモータ14s1によって駆動する部材の位置とする。同様に、スレーブ軸S2の位置という場合は、サーボモータ14s2の回転位置またはサーボモータ14s2によって駆動する部材の位置とし、スレーブ軸S3の位置という場合は、サーボモータ14s3の回転位置またはサーボモータ14s3によって駆動する部材の位置とする。また、各サーボモータ14s(14s1〜14s3)による部材の駆動方向は、互いに直交するX軸方向、Y軸方向、Z軸方向であってもよい。さらに、3つのサーボモータ14s1〜14s3によって駆動する部材は同一部材であってもよい。この場合は、3つのサーボモータ14s1〜14s3によって同一の部材がX軸方向、Y軸方向、Z軸方向に移動する。
【0040】
例えば、コンベアとコンベアで搬送される箱の中に物を詰める箱詰め機とで構成される箱詰めシステムでは、コンベアで運ばれる箱の位置に合せて箱詰め機のアームを駆動させる同期制御を行う必要がある。この場合は、コンベアを駆動させる軸がマスター軸Mとなり、箱詰め機のアームを駆動させる複数の軸が複数のスレーブ軸Sとなる。また、プレス機とプレス機にワークを搬入・搬出するトランファー装置とで構成されるプレスシステムでは、プレス機の動作に合せてトランスファー装置を駆動させる同期制御を行う必要がある。この場合は、プレス機を駆動させる軸がマスター軸Mとなり、トランスファー装置を駆動させる複数の軸が複数のスレーブ軸Sとなる。
【0041】
数値制御装置10は、指令位置算出部20、マスター軸制御部22、位置テーブル24、スレーブ軸同期制御部26、および、親決定部28を備える。指令位置算出部20は、加工プログラムを解析することによって、マスター軸Mの位置を指令する指令位置CPを算出し、算出した指令位置CPをマスター軸制御部22に出力する。指令位置算出部20は、オペレータによる操作を解析して指令位置CPを算出してもよい。なお、加工プログラムは、数値制御装置10の図示しない記憶媒体に記憶されている。また、指令位置算出部20は、算出した指令位置CPをスレーブ軸同期制御部26に出力してもよい。
【0042】
マスター軸制御部22は、指令位置CPに基づいてマスター軸Mを駆動制御する。具体的には、マスター軸制御部22は、サーボアンプ12mを介してサーボモータ14mを制御することで、マスター軸Mを駆動制御する。サーボモータ14mには、エンコーダなどの検出器30mが設けられており、検出器30mが検出した位置情報Smに基づいてサーボモータ14mはフィードバック制御される。この検出器30mが検出した位置情報Smは、数値制御装置10に出力される。この位置情報Smからマスター軸Mの位置を特定することができる。
【0043】
位置テーブル24には、マスター軸Mの位置(同期位置)と3つのスレーブ軸S1〜S3の位置(同期位置)との位置関係が定義された情報が格納されている。つまり、位置テーブル24には、スレーブ軸S1〜S3のマスター軸Mへの同期制御を行うために、複数のマスター軸Mの位置の各々に対応付けて3つのスレーブ軸S1〜S3の位置が記憶されている。
【0044】
図2は、位置テーブル24に格納されている情報の一例を示す図である。図2に示すように、ポイント1におけるマスター軸Mの位置、および、スレーブ軸S1〜S3の位置はともに「0.000」となっている。また、ポイント2におけるマスター軸Mの位置は「10.000」、スレーブ軸S1の位置は「5.000」、スレーブ軸S2の位置は「0.000」、スレーブ軸S3の位置は「9.000」となっている。ポイント3におけるマスター軸Mの位置は「20.000」、スレーブ軸S1の位置は「9.000」、スレーブ軸S2の位置は「6.000」、スレーブ軸S3の位置は「12.000」となっている。このように、位置テーブル24は、マスター軸Mの位置と3つのスレーブ軸S1〜S3の位置との対応関係を定義している。なお、図2に示す例では、ポイント間における線分波形の情報も記憶されている。例えば、ポイント1とポイント2との間の線分波形が直線である旨の情報、ポイント2とポイント3との間の線分波形およびポイント3とポイント4との間の線分波形が変形正弦である旨の情報も記憶されている。
【0045】
スレーブ軸同期制御部26は、位置テーブル24にしたがって、3つのスレーブ軸S1〜S3の位置がマスター軸Mの位置に同期して追従するように、3つのスレーブ軸S1〜S3を駆動制御する。スレーブ軸同期制御部26は、マスター軸Mの位置情報と位置テーブル24とを用いて、3つのスレーブ軸S1〜S3を駆動制御する。このマスター軸Mの位置情報は、検出器30mが検出したサーボモータ14mの位置情報Smであってもよいし、マスター軸Mを直接検出する図示しない検出器による位置情報であってもよいし、また指令位置算出部20が算出したマスター軸Mの指令位置CPであってもよい。要は、マスター軸Mの位置がわかる情報であればよい。検出器30mが検出したサーボモータ14mの位置情報Smやマスター軸Mを直接検出する図示しない検出器による位置情報によって現在のマスター軸Mの位置がわかり、指令位置CPによってこれから移動するマスター軸Mの位置がわかる。いずれにしろ、位置情報Smまたは指令位置CPを用いることでスレーブ軸S1〜S3の位置をマスター軸Mの位置に同期させて追従させることができる。
【0046】
具体的には、スレーブ軸同期制御部26は、マスター軸Mの位置情報から対応する各スレーブ軸S1〜S3の位置を位置テーブル24から取得する。スレーブ軸同期制御部26は、取得した各スレーブ軸S1〜S3の位置に基づいて、サーボアンプ12s1〜12s3を介してサーボモータ14s1〜14s3を制御することで、スレーブ軸S1〜S3を駆動制御する。サーボモータ14s(14s1〜14s3)には、エンコーダなどの検出器30s(30s1〜30s3)が設けられており、サーボアンプ12s(12s1〜12s3)は、該検出器30s(30s1〜30s3)が検出した位置情報Ss(Ss1〜Ss3)に基づいてサーボモータ14s(14s1〜14s3)はフィードバック制御される。この検出器30s1〜30s3が検出した位置情報Ss1〜Ss3は、数値制御装置10に出力される。この位置情報Ss1〜Ss3からスレーブ軸S1〜S3の位置を特定することができる。
【0047】
図2に示すように、例えば、マスター軸Mの位置が「20.000」の場合は、スレーブ軸同期制御部26は、スレーブ軸S1の位置が「9.000」、スレーブ軸S2の位置が「6.000」、および、スレーブ軸S3の位置が「12.000」となるように、スレーブ軸S1〜S3を駆動制御する。このように、マスター軸Mとスレーブ軸S1〜S3との関係は、親と子の関係にある。つまり、親であるマスター軸Mの位置にしたがって子である3つのスレーブ軸S1〜S3が駆動する。
【0048】
親決定部28は、3つのスレーブ軸S1〜S3のうち、マスター軸Mの親(祖)となるスレーブ軸Sを決定する。親決定部28は、故障によって停止するスレーブ軸S(制御不能スレーブ軸Sfと呼ぶ場合がある)をマスター軸Mの親として決定する。したがって、親決定部28は、制御不能スレーブ軸Sfを検出し、検出した制御不能スレーブ軸Sfをマスター軸Mの親として決定する。例えば、サーボアンプ12sの故障などの要因によってサーボモータ14sの励磁が落ちる場合は、励磁が落ちた該サーボモータ14sは、惰性により回転した後停止する。そのため、励磁が落ちたサーボモータ14sによって駆動されるスレーブ軸Sも惰性により動き、その後停止する。したがって、親決定部28は励磁が落ちるサーボモータ14sを検出した場合は、このサーボモータ14sによって駆動されるスレーブ軸S(制御不能スレーブ軸Sf)を、マスター軸Mの親(祖)として決定する。例えば、親決定部28は、サーボアンプ12s1の故障などの要因によってサーボモータ14s1の励磁が落ちる場合は、スレーブ軸S1(制御不能スレーブ軸Sf)をマスター軸Mの親(祖)として決定する。親決定部28は、親として決定したスレーブ軸S(制御不能スレーブ軸Sf)を示す情報をマスター軸制御部22およびスレーブ軸同期制御部26に出力する。
【0049】
具体的には、親決定部28は、サーボアンプ12s1〜12s3の各々から出力される励磁電流を検出する図示しない電流センサからの出力信号を用いて、制御不能スレーブ軸Sfを検出し、検出した制御不能スレーブ軸Sfをマスター軸Mの親として決定してもよい。
【0050】
なお、説明をわかり易くするために、故障によってスレーブ軸Sが停止する場合の例として、サーボアンプ12sの故障により励磁が落ちた例を説明したが、これに限られるものではない。つまり、その他の故障要因によってスレーブ軸Sが惰性で動いた後停止する場合も、親決定部28は、このスレーブ軸S(制御不能スレーブ軸Sf)をマスター軸Mの親として決定する。
【0051】
マスター軸制御部22は、親決定部28によってマスター軸Mの親となる制御不能スレーブ軸Sfが決定されると、位置テーブル24にしたがって、マスター軸Mの位置が、親として決定された制御不能スレーブ軸Sfの位置に同期して追従するように、マスター軸Mを駆動制御する。例えば、マスター軸制御部22は、親決定部28によって決定されたマスター軸Mの親となる制御不能スレーブ軸Sfがスレーブ軸S1の場合は、位置テーブル24にしたがって、マスター軸Mの位置がスレーブ軸S1の位置に同期して追従するように、マスター軸Mを駆動制御する。つまり、マスター軸制御部22は、親決定部28によって親となる制御不能スレーブ軸Sfが決定されると、指令位置算出部20が算出した指令位置CPに基づくマスター軸Mの駆動制御を終了し、制御不能スレーブ軸Sfの位置に基づく同期制御を開始する。これにより、マスター軸Mは、制御不能スレーブ軸Sfの駆動と同期して駆動するので、制御不能スレーブ軸Sfと一緒に減速した後停止する。
【0052】
具体的には、マスター軸制御部22は、親決定部28によってマスター軸Mの親となる制御不能スレーブ軸Sfの位置情報と位置テーブル24とを用いて、マスター軸Mを駆動制御する。図3は、図2に示す位置テーブル24に記憶されたマスター軸Mの位置とマスター軸Mの親として決定されたスレーブ軸S(制御不能スレーブ軸Sf)の位置との関係の一例をグラフ化した図である。このように、位置テーブル24を用いて、制御不能スレーブ軸Sfの位置に対応するマスター軸Mの位置(同期位置)を決定することができる。制御不能スレーブ軸Sfの位置情報は、制御不能スレーブ軸Sfを駆動させるサーボモータ14sに設けられた検出器30sの位置情報Ssであってもよい。つまり、制御不能スレーブ軸Sfがスレーブ軸S1の場合は、検出器30s1が検出した位置情報Ss1に基づいて制御不能スレーブ軸Sf(スレーブ軸S1)の位置を特定することができる。なお、制御不能スレーブ軸Sfの位置情報がわかる情報であれば位置情報Ssでなくてもよい。
【0053】
なお、図4に示すように、位置テーブル24にマスター軸Mの親として決定されたスレーブ軸S(制御不能スレーブ軸Sf)の位置に対応するマスター軸Mの位置が複数ある場合は、現在のマスター軸Mの位置に最も近い位置(同期位置)をマスター軸Mの位置として決定すればよい。
【0054】
スレーブ軸同期制御部26は、親決定部28によってマスター軸Mの親となる制御不能スレーブ軸Sfが決定されると、制御不能スレーブ軸Sf以外のスレーブ軸Sの位置がマスター軸Mの位置に同期して追従するように、制御不能スレーブ軸Sf以外のスレーブ軸Sを駆動制御する。したがって、制御不能スレーブ軸Sfが親(祖)、マスター軸Mが制御不能スレーブ軸Sfの子、その他のスレーブ軸S(制御不能スレーブ軸Sf以外のスレーブ軸S)がマスター軸Mの子という関係になる。例えば、スレーブ軸S1が制御不能スレーブ軸Sfとして決定された場合は、スレーブ軸同期制御部26は、スレーブ軸S2、S3の位置がマスター軸Mの位置に同期して追従するように、スレーブ軸S2、S3を駆動制御する。この場合は、制御不能スレーブ軸Sfであるスレーブ軸S1が親(祖)となり、マスター軸Mがスレーブ軸S1の子となり、スレーブ軸S2、S3がマスター軸Mの子(スレーブ軸S1の孫)という関係になる。その結果、マスター軸Mは制御不能スレーブ軸Sfと同期して駆動し、制御不能スレーブ軸Sf以外のスレーブ軸Sはマスター軸Mと同期して駆動するので、マスター軸Mと制御不能スレーブ軸Sf以外のスレーブ軸Sとは、制御不能スレーブ軸Sfと一緒に同期位置関係を保持した状態のまま減速して停止する。
【0055】
なお、本第1の実施の形態では、説明をわかり易くするために、故障によって自然に停止してしまうスレーブ軸Sをマスター軸Mの親と決定することとして説明したが、マスター軸Mの親とする軸は故障などの要因により停止するスレーブ軸Sに限らない。したがって、親決定部28は、任意のスレーブ軸Sをマスター軸Mの親となるスレーブ軸Sとして決定してもよい。この場合は、マスター軸Mの親となるスレーブ軸Sは制御不能な軸とは限らないため、そのマスター軸Mの親となるスレーブ軸Sを停止させても、駆動させてもよく、マスター軸Mの親となるスレーブ軸Sの動きに応じて、マスター軸Mとマスター軸Mの親となるスレーブ軸S以外のスレーブ軸Sが同期して駆動することになる。
【0056】
このように、第1の実施の形態における数値制御装置10は、指令位置CPに基づいてマスター軸Mを駆動制御するマスター軸制御部22と、マスター軸Mの位置と複数のスレーブ軸Sの位置との位置関係を定義した位置テーブル24と、位置テーブル24にしたがって、複数のスレーブ軸Sの位置がマスター軸Mの位置に同期して追従するように、複数のスレーブ軸Sを駆動制御するスレーブ軸同期制御部26と、複数のスレーブ軸Sのうち、任意の1つのスレーブ軸Sをマスター軸Mの親として決定する親決定部28とを備える。そして、マスター軸制御部22は、親決定部28によってマスター軸Mの親となるスレーブ軸Sが決定された場合は、位置テーブル24にしたがって、マスター軸Mの位置が、親として決定されたスレーブ軸Sの位置に同期して追従するように、マスター軸Mを駆動制御する。
【0057】
これにより、マスター軸Mの親となるスレーブ軸Sをマスター軸Mに応じた同期制御ではなく、指令により駆動や停止をさせる場合であっても、全ての軸(マスター軸Mおよび複数のスレーブ軸S)の同期状態を維持させることができる。したがって、マスター軸Mと複数のスレーブ軸Sとが干渉したり、他の装置、部材と干渉したりすることを防止することができる。例えば、全てのスレーブ軸Sで1つの部材を駆動させている場合に、1つのスレーブ軸Sの経路上に障害物があり、即座に停止させる場合でも、マスター軸Mに同期した動きではない動作をさせる場合でも、また、故障によって停止する場合でも、その部材を正しい移動経路で動作させることができる。逆に、全てのスレーブ軸Sで1つの部材を駆動させる場合に、全てのスレーブ軸Sの各々が非同期状態になると、その部材を正しい移動経路で動作させることができず、予定していない経路を通ることになる。その結果、他の機械や部材と衝突することがあるが、本第1の実施の形態ではそのような問題も生じない。
【0058】
スレーブ軸同期制御部26は、親決定部28によってマスター軸Mの親となるスレーブ軸Sが決定された場合は、親として決定されたスレーブ軸S以外のスレーブ軸Sの位置がマスター軸Mの位置に同期して追従するように、親として決定されたスレーブ軸S以外のスレーブ軸Sを駆動制御する。これにより、マスター軸Mの親となるスレーブ軸Sを意図的に停止または移動させる場合でも、故障によって停止する場合でも、マスター軸Mとマスター軸Mの親となるスレーブ軸S以外のスレーブ軸Sとの親子関係をそのまま保つことができる。したがって、全ての軸(マスター軸Mおよび複数のスレーブ軸S)の同期状態を維持させることができる。
【0059】
スレーブ軸同期制御部26は、マスター軸Mの位置情報を取得し、マスター軸Mの位置情報と位置テーブル24とを用いて、スレーブ軸Sの位置がマスター軸Mの位置に同期して追従するように、スレーブ軸Sを駆動制御する。これにより、スレーブ軸Sのマスター軸Mへの同期制御を適切に行うことができ、マスター軸Mとスレーブ軸Sとの干渉を防止することができる。
【0060】
マスター軸制御部22は、親として決定されたスレーブ軸Sの位置情報を取得し、スレーブ軸Sの位置情報と位置テーブル24とを用いて、マスター軸Mの位置が、親として決定されたスレーブ軸Sの位置に同期して追従するように、マスター軸Mを駆動制御する。これにより、マスター軸Mのマスター軸Mの親となるスレーブ軸Sへの同期制御を適切に行うことができ、マスター軸Mとスレーブ軸Sとの干渉を防止することができる。
【0061】
マスター軸制御部22は、親決定部28によってマスター軸Mの親となるスレーブ軸Sが決定された場合であって、位置テーブル24に、親として決定されたスレーブ軸Sの位置に対応するマスター軸Mの同期位置が複数ある場合は、現在のマスター軸Mの位置に近い同期位置をマスター軸Mの位置として決定する。これにより、マスター軸Mのマスター軸Mの親となるスレーブ軸Sへの同期制御を適切に行うことができ、マスター軸Mとスレーブ軸Sとの干渉を防止することができる。
【0062】
[第2の実施の形態]
図5は、第2の実施の形態における、数値制御装置10aの構成を示す機能ブロック図である。なお、上記第1の実施の形態で説明した構成と同様の構成については同一の符号を付し、異なる部分のみを説明する。数値制御装置10aは、位置テーブル24、スレーブ軸同期制御部26、親決定部28、および、仮想軸位置決定部50を備える。なお、マスター軸Mは、数値制御装置10aとは別の数値制御装置によって駆動制御されているものとする。
【0063】
スレーブ軸同期制御部26は、位置テーブル24にしたがって、3つのスレーブ軸S1〜S3の位置がマスター軸Mの位置に同期して追従するように、3つのスレーブ軸S1〜S3を駆動制御する。スレーブ軸同期制御部26は、マスター軸Mの位置情報と位置テーブル24を用いて、3つのスレーブ軸S1〜S3を駆動制御する。このマスター軸Mの位置情報は、上記第1の実施の形態で説明したマスター軸Mを駆動するサーボモータ14mに設けられた検出器30mが検出した位置情報Smであってもよいし、マスター軸Mを直接検出する図示しない検出器による位置情報であってもよいし、また上記第1の実施の形態で説明したマスター軸Mを駆動制御するために指令位置算出部20が算出したマスター軸Mの指令位置CPであってもよい。
【0064】
親決定部28は、3つのスレーブ軸S1〜S3のうち、マスター軸Mの親(祖)となるスレーブ軸Sを決定する。親決定部28は、故障によって停止するスレーブ軸S(制御不能スレーブ軸Sf)をマスター軸Mの親として決定する。したがって、親決定部28は、制御不能スレーブ軸Sfを検出し、検出した制御不能スレーブ軸Sfをマスター軸Mの親として決定する。親決定部28は、親として決定したスレーブ軸S(制御不能スレーブ軸Sf)を示す情報をスレーブ軸同期制御部26および仮想軸位置決定部50に出力する。
【0065】
仮想軸位置決定部50は、親決定部28によってマスター軸Mの親(祖)となるスレーブ軸S(制御不能スレーブ軸Sf)が決定されると、マスター軸Mを仮想的に構築する。仮想軸の構築時、その仮想軸の位置はその時点でのマスター軸Mの位置とする。そして、仮想軸位置決定部50は、位置テーブル24にしたがって、構築したマスター軸Mの仮想軸が、親として決定されたスレーブ軸S(制御不能スレーブ軸Sf)の位置に同期して追従するように、仮想軸の位置VPを決定する。このとき、位置テーブル24に、制御不能スレーブ軸Sfの位置に対応するマスター軸Mの位置が複数記憶されている場合は、現在の仮想軸の位置VPに最も近い位置(同期位置)を仮想軸の位置VPとして決定すればよい。仮想軸位置決定部50は、決定した仮想軸の位置VPをスレーブ軸同期制御部26に出力する。
【0066】
スレーブ軸同期制御部26は、親決定部28によってマスター軸Mの親となる制御不能スレーブ軸Sfが決定されると、制御不能スレーブ軸Sf以外のスレーブ軸Sの位置が仮想軸の位置VPに同期して追従するように、制御不能スレーブ軸Sf以外のスレーブ軸Sを駆動制御する。つまり、スレーブ軸同期制御部26は、親決定部28によって親となる制御不能スレーブ軸Sfが決定されると、マスター軸Mの位置に基づく同期制御を終了し、仮想軸の位置VPに基づく同期制御を開始する。したがって、制御不能スレーブ軸Sfが親(祖)、仮想軸が制御不能スレーブ軸Sfの子、その他のスレーブ軸Sが仮想軸の子という関係になる。その結果、仮想軸の位置VPは制御不能スレーブ軸Sfと同期して変動し、制御不能スレーブ軸Sf以外のスレーブ軸Sは仮想軸の位置VPと同期して駆動するので、制御不能スレーブ軸Sf以外のスレーブ軸Sは、制御不能スレーブ軸Sfと一緒に減速して停止する。例えば、スレーブ軸S1が制御不能スレーブ軸Sfとして決定された場合は、スレーブ軸同期制御部26は、スレーブ軸S2、S3の位置が仮想軸の位置VPに同期して追従するように、スレーブ軸S2、S3を駆動制御する。したがって、スレーブ軸S2、S3は、制御不能スレーブ軸Sfであるスレーブ軸S1と一緒に同期位置関係を保持した状態のまま減速して停止する。
【0067】
第2の実施の形態においては、親決定部28が、故障によって停止するスレーブ軸S(制御不能スレーブ軸Sf)を検出すると、その旨の情報(スレーブ軸Sの故障情報)を、マスター軸Mを駆動制御している数値制御装置に出力する。マスター軸Mを駆動制御している数値制御装置は、スレーブ軸Sの故障情報を受け取ると、マスター軸Mを退避位置に退避させる。この退避位置は、スレーブ軸S1〜S3がどのように駆動しても、マスター軸Mがスレーブ軸S1〜S3と干渉しない位置である。例えば、マスター軸Mがプレス機を駆動させる軸である場合は、プレス機の位置が上死点となるような位置にマスター軸Mを駆動させればよい。
【0068】
また、第2の実施の形態においては、マスター軸Mは、数値制御装置10a以外の数値制御装置が駆動制御するようにしたが、数値制御装置10aがマスター軸Mを駆動制御してもよい。この場合は、数値制御装置10aは、図1に示すマスター軸制御部22を備えることになるが、親決定部28によってスレーブ軸Sの故障が検出されると、マスター軸制御部22は、マスター軸Mを退避位置まで駆動させてもよい。
【0069】
このように、第2の実施の形態における数値制御装置10aは、予めマスター軸Mの位置と複数のスレーブ軸Sの位置との位置関係を定義した位置テーブル24と、位置テーブル24にしたがって、複数のスレーブ軸Sの位置がマスター軸Mの位置に同期して追従するように、複数のスレーブ軸Sを駆動制御するスレーブ軸同期制御部26と、複数のスレーブ軸Sのうち、故障によって停止する1つのスレーブ軸S(制御不能スレーブ軸Sf)をマスター軸Mの親として決定する親決定部28と、位置テーブル24にしたがって、マスター軸Mを仮想的に構築した仮想軸が、親として決定されたスレーブ軸S(制御不能スレーブ軸Sf)の位置に同期して追従するように、仮想軸の位置VPを決定する仮想軸位置決定部50とを備える。仮想軸の構築時、その仮想軸の位置はその時点でのマスター軸Mの位置とする。そして、スレーブ軸同期制御部26は、親決定部28によってマスター軸Mの親となるスレーブ軸S(制御不能スレーブ軸Sf)が決定された場合は、位置テーブル24にしたがって、親として決定されたスレーブ軸S(制御不能スレーブ軸Sf)以外のスレーブ軸Sの位置が、仮想軸の位置VPに同期して追従するように、親として決定されたスレーブ軸S(制御不能スレーブ軸Sf)以外のスレーブ軸Sを駆動制御する。
【0070】
これにより、マスター軸Mが別の数値制御装置で駆動制御されている場合であって、制御不能スレーブ軸Sfが故障によって停止する場合であっても、全てのスレーブ軸Sの同期状態を維持することができる。つまり、マスター軸Mが別の数値制御装置で駆動制御されている場合は、制御不能スレーブ軸Sfをマスター軸Mの親にすることができず、全てのスレーブ軸Sの同期状態が崩れてしまうが、マスター軸Mの仮想軸を構築することで、全てのスレーブ軸Sの同期状態を維持することができる。その結果、全てのスレーブ軸Sで1つの部材を駆動させている場合に、1つの制御不能スレーブ軸Sfが故障によって停止する場合であっても、その部材を正しい移動経路で動作させることができる。逆に、全てのスレーブ軸Sで1つの部材を駆動させる場合に、全てのスレーブ軸Sの各々が非同期状態になると、その部材を正しい移動経路で動作させることができず、予定していない経路を通ることになる。その結果、他の機械や部材と衝突することがあるが、本第2の実施の形態ではそのような問題も生じない。
【0071】
仮想軸位置決定部50は、親決定部28によってマスター軸Mの親となるスレーブ軸Sが決定された場合であって、位置テーブル24に、親として決定されたスレーブ軸Sの位置に対応するマスター軸Mの同期位置が複数ある場合は、現在の仮想軸の位置VPに近い同期位置を仮想軸の位置VPとして決定する。これにより、仮想軸の位置VPの制御不能スレーブ軸Sfへの同期制御を適切に行うことができ、全てのスレーブ軸Sの同期状態を維持することができる。
【0072】
なお、第2の実施の形態においても、故障によって自然に停止してしまうスレーブ軸Sをマスター軸Mの親と決定することとして説明したが、マスター軸Mの親とするスレーブ軸Sは故障などの要因により停止するスレーブ軸Sに限らない。したがって、親決定部28は、任意のスレーブ軸Sをマスター軸M(仮想軸)の親となるスレーブ軸Sとして決定してもよい。この場合は、マスター軸Mの親となるスレーブ軸Sは制御不能な軸とは限らないため、そのマスター軸Mの親となるスレーブ軸Sを停止させても、駆動させてもよく、マスター軸Mの親となるスレーブ軸Sの動きに応じて、マスター軸Mとマスター軸Mの親となるスレーブ軸S以外のスレーブ軸Sが同期して駆動することになる。
【0073】
また、上記各実施の形態では、親決定部28は、故障によって停止するスレーブ軸S(制御不能スレーブ軸Sf)を検出したが、3つのスレーブ軸S1〜S3が設けられた機械が制御不能スレーブ軸Sfを検出してよい。この場合は、3つのスレーブ軸S1〜S3が設けられた機械が検出した制御不能スレーブ軸Sfを示す情報(アラーム情報)を親決定部28に送信し、親決定部28は、アラーム情報に基づいて制御不能スレーブ軸Sfをマスター軸Mの親として決定する。また、マスター軸Mの親とする軸を任意のスレーブ軸Sとする場合は、親決定部28にマスター軸Mの親としたいスレーブ軸Sを通知することで、決定する。
【符号の説明】
【0074】
10、10a…数値制御装置 12m、12s1〜12s3…サーボアンプ
14m、14s1〜14s3…サーボモータ
20…指令位置算出部 22…マスター軸制御部
24…位置テーブル 26…スレーブ軸同期制御部
28…親決定部 30m、30s1〜30s3…検出器
50…仮想軸位置決定部 CP…指令位置
M…マスター軸 S、S1〜S3…スレーブ軸
Sm、Ss1〜Ss3…位置情報 VP…仮想軸の位置
図1
図2
図3
図4
図5