(57)【特許請求の範囲】
【請求項１】
数値制御を行うマスタユニットおよびスレーブユニットを通信路で接続し、前記マスタユニットおよび前記スレーブユニットとの間で同期制御を行うために、前記マスタユニットは同期情報を周期的にスレーブユニットに転送し、前記スレーブユニットは前記マスタユニットから転送された前記同期情報に基づいて前記同期制御を行う数値制御システムにおいて、
前記スレーブユニットは、
該スレーブユニット内で所定の周期で生成されるタイミング信号が出力されてから前記同期情報を受信するまでに経過した時間である受信時間を取得する受信時間取得手段と、
前記同期情報の受信時間の履歴である受信時間履歴データを記録する受信時間記録手段と、
前記同期情報の転送の再送を検知する再送検知手段と、
前記再送検知手段が前記同期情報の転送の再送を検知した際に、前記受信時間履歴データに基づいて前記受信時間取得手段が取得した受信時間を再送による遅れの分だけ補正する受信時間補正手段と、
を備え、
前記受信時間補正手段が補正した受信時間に基づいて前記同期制御を行う、
ことを特徴とする数値制御システム。
【請求項２】
前記再送検知手段は、前記同期情報の受信時間を、前記受信時間履歴データに基づいて転送の再送を検知する、
ことを特徴とする請求項１に記載の数値制御システム。
【請求項３】
前記再送検知手段は、前記マスタユニットが前記同期情報の再送時に付加する再送情報に基づいて再送を検知する、
ことを特徴とする請求項１に記載の数値制御システム。
【請求項４】
前記マスタユニットは、マスタユニットにおける送信の遅れ時間である送信タイミング時間情報を前記同期情報に付加して転送し、
前記受信時間取得手段は、前記送信タイミング時間情報に基づいて前記受信時間を補正する、
ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御システムに関し、特に数値制御装置間の同期制御における同期精度を維持することが可能な数値制御システムに関する。
【背景技術】
【０００２】
印刷機など、多くの軸を同期させる必要がある機械において、同期させる軸数が１台の数値制御装置の制御軸数で足りない場合、２台以上の数値制御装置を通信路で接続し、各数値制御装置の制御する軸同士を同期させている。このような同期制御システムにおいて、複数の数値制御装置で同期制御を行う場合、同期関係になる軸をそれぞれマスタ軸とスレーブ軸とし、マスタ軸となる軸を制御する数値制御装置をマスタユニット、スレーブ軸となる軸を制御する数値制御装置をスレーブユニットとして、マスタユニットとスレーブユニットの間をバスやネットワークで接続している。そして、マスタ軸にスレーブ軸を同期させるために、マスタユニットは同期のための情報（同期情報）を制御周期に合わせてスレーブユニットに転送している。スレーブユニットでは、マスタユニットから転送された同期情報に基づき、スレーブ軸を同期制御している（図８）。
【０００３】
ところで、各数値制御装置はそれぞれ個別の時計を持っており、数値制御装置毎に時刻が刻まれている。そのため、上記した同期制御が行われている複数の数値制御装置間で時計合わせが行われていない場合、マスタユニットとスレーブユニットとで時間情報が異なるため、正しく同期制御をすることができなくなる。そこで、各数値制御装置が有する時計の時間情報のずれを補正しながら、同期制御を行う必要がある。
【０００４】
時間情報のずれは、マスタユニットからの転送データの受信に応じてスレーブユニット内でバスサイクルを発生させ、そのバスサイクルの発生タイミングとスレーブユニットの制御周期の開始タイミングとの位相差から求めることができる。この技術を利用して、マスタユニットとスレーブユニットで制御される軸同士を同期させる際に、マスタ軸の制御に関する情報を制御周期内の決まったタイミングでマスタユニットからスレーブユニットに転送し、スレーブユニットは受信した時間からマスタユニットとスレーブユニットとの時計のずれを求めてマスタ軸の制御に関する情報を補正し、その補正したマスタ軸の軸情報を基にスレーブ軸に同期指令を出力することができる（特許文献１など）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４４９８２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユニット間での同期のためのデータ転送において、例えばノイズなどの影響により転送エラーが発生した場合、データの再送が行われるが、データの再送が行われると、転送データが一定の間隔で転送されないことがあり、マスタユニットの転送を行う決まったタイミングからスレーブユニットがデータを受信するまでの時間が増加することになる。そうすると、スレーブユニットはマスタユニットとスレーブユニット間の時間情報のずれを正しく検出することができず、その誤った時間情報により補正を行うため、スレーブユニットは正しくマスタ軸の制御情報を補正することができず、同期誤差を生じさせ、同期精度の低下を招くという問題があった。
【０００７】
そこで本発明の目的は、マスタユニットとなる数値制御装置とスレーブユニットとなる数値制御装置で、各数値制御装置の制御する軸同士の同期制御を行う同期制御システムにおいて、転送の再送が行われたときでも、同期精度が維持されるようにする技術を提供することにある。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、数値制御を行うマスタユニットおよびスレーブユニットを通信路で接続し、前記マスタユニットおよび前記スレーブユニットとの間で同期制御を行うために、前記マスタユニットは同期情報を周期的にスレーブユニットに転送し、前記スレーブユニットは前記マスタユニットから転送された前記同期情報に基づいて前記同期制御を行う数値制御システムにおいて、前記スレーブユニットは、該スレーブユニット内で所定の周期で生成されるタイミング信号が出力されてから前記同期情報を受信するまでに経過した時間である受信時間を取得する受信時間取得手段と、前記同期情報の受信時間の履歴である受信時間履歴データを記録する受信時間記録手段と、前記同期情報の転送の再送を検知する再送検知手段と、前記再送検知手段が前記同期情報の転送の再送を検知した際に、前記受信時間履歴データに基づいて前記受信時間取得手段が取得した受信時間を再送による遅れの分だけ補正する受信時間補正手段と、を備え、前記受信時間補正手段が補正した受信時間に基づいて前記同期制御を行う、ことを特徴とする数値制御システムである。
【０００９】
本願の請求項２に係る発明は、前記再送検知手段は、前記同期情報の受信時間を、前記受信時間履歴データに基づいて転送の再送を検知する、ことを特徴とする請求項１に記載の数値制御システムである。
【００１０】
本願の請求項３に係る発明は、前記再送検知手段は、前記マスタユニットが前記同期情報の再送時に付加する再送情報に基づいて再送を検知する、ことを特徴とする請求項１に記載の数値制御システムである。
【００１１】
本願の請求項４に係る発明は、前記マスタユニットは、マスタユニットにおける送信の遅れ時間である送信タイミング時間情報を前記同期情報に付加して転送し、前記受信時間取得手段は、前記送信タイミング時間情報に基づいて前記受信時間を補正する、ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御システムである。
【発明の効果】
【００１２】
本発明により、転送データの再送による遅れを補正して、同期精度を維持することができる。また、マスタユニットとスレーブユニットとが中継器などを介して接続されている場合に、中継器の動作状況に応じて時々データ転送が遅れた場合でも、その遅れを補正して、同期精度を維持することができる。
【図面の簡単な説明】
【００１３】
【図１】同期制御システムにおける同期誤差について説明する図である。
【図２】同期誤差を解消する基本的な手法について説明する図である。
【図３】本発明における同期制御機能の概要を説明する図である。
【図４】本発明の実施形態における数値制御システムの概略ブロック図である。
【図５】本発明の実施形態における数値制御システムの再送検知方法の例（１）を示す図である。
【図６】本発明の実施形態における数値制御システムの再送検知方法の例（２）を示す図である。
【図７】本発明の他の実施形態における数値制御システムの動作を説明する図である。
【図８】同期制御システムの一般的な動作について説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。
はじめに、本発明の動作原理について説明するために、特許文献１に開示されるように、周期的にタイミング信号が入り、そのタイミング信号に基づいて軸に指令を行う制御装置において、１台のマスタユニットと１台のスレーブユニットとで、マスタユニットのタイミング信号に基づいてスレーブユニットにマスタ軸の位置を転送して、同期制御を行うシステムを考える。
【００１５】
このような同期制御システムにおいて、スレーブユニットではマスタ軸の位置の情報を受信し、その受信時間をスレーブユニットのタイミング信号からの時間から取得する。そして、そのマスタ軸の位置と受信時間とを記録する。マスタユニットとスレーブユニットはそれぞれのユニット内でタイミング信号が生成され、該タイミング信号に基づいて軸の制御を行なうため、マスタユニットとスレーブユニットとでは制御の時間軸（該タイミング信号を時刻単位とする時間軸）がずれることとなり、マスタユニットから転送されたマスタ軸の位置にスレーブ軸をそのまま同期させようとすると、その時間軸のずれ分同期がずれてしまう。
【００１６】
図１は、同期制御システムにおけるマスタユニットとスレーブユニットとの時間軸のずれに基づくマスタ軸とスレーブ軸との同期誤差について説明する図である。図１において、マスタユニットはマスタユニット内部で生成されるタイミング信号１，２に基づいてマスタ軸に指令を行い、それぞれのタイミング信号と共にマスタ軸の位置の情報をスレーブユニットに転送する。スレーブユニットではスレーブユニット内部で生成されるタイミング信号ａ，ｂに基づいてスレーブ軸に対して指令を行う。このため、タイミング信号１で転送されたマスタ軸位置Ａｍに対するスレーブユニットの同期指令は、タイミング信号１の転送後のタイミング信号ｂで出力することになる。ここで、スレーブ軸がマスタ軸位置Ａｍにそのまま同期しようとした場合を考えると、スレーブ軸はタイミング信号ｂの時点でマスタ軸位置Ａｍに対するスレーブ軸の同期位置Ａｓの位置へスレーブ軸を移動させるように出力を行うが、その時点でマスタ軸はマスタ軸位置Ｂｍに移動している。このマスタ軸位置Ｂｍに対するスレーブ軸の同期位置は同期位置Ｂｓとなるため、スレーブ軸は同期位置Ａｓと同期位置Ｂｓの差だけ同期誤差を生じてしまうことになる。これがマスタユニットとスレーブユニットとの時間軸のずれによる同期誤差となる。
【００１７】
図２は、同期誤差を解消する基本的な手法について説明する図である。上記した同期誤差を解消するため、スレーブユニットでは、受信したマスタ軸の位置（マスタ軸位置Ａｍ）をスレーブユニットの時間軸におけるスレーブ軸への指令タイミングの位置（タイミング信号ｂの時点でのマスタ軸の位置Ｂｍ）に補正し、その補正した位置に対してスレーブ軸の同期位置Ｂｓを求め、スレーブ軸に同期指令を行っている。受信したマスタ軸の位置をスレーブユニットの時間軸での位置に補正する手段として、例えば現在のマスタ軸が一定の速度で動いたものとして時間軸のずれ時間Ｔ後の位置を予想することで求められる。
【００１８】
ここで、ネットワークを介した通信においてはデータの転送（送信）エラーが検出されると同じデータの再送が行われるが、上記した同期制御システムにおいても、マスタユニットは周期的に転送していたデータの転送エラーを検出すると、同じデータの再送を行う。マスタ軸の位置情報の再送が行われた場合、スレーブユニットでは再送されたデータの受信時間からマスタ軸の予想位置を算出するため、正しく予想することができず、同期誤差を生じ、同期精度の低下を招く。
本発明では、図３に示すように、スレーブユニットで再送のあったことを検知し、記録しておいた過去の受信時間Ｔ１、Ｔ２から今回の受信時間Ｔ３を補正し、その補正した受信時間Ｔ３’からスレーブユニットの時間軸でのマスタ軸の位置を算出し、その位置に合わせてスレーブ軸への同期指令を行うことで、同期精度を維持するようにする。
【００１９】
図４は、本発明の一実施形態における数値制御システムの概略ブロック図である。なお、図４には本発明の同期制御を行なうための主要な構成のみを記載している。本実施形態の数値制御システム１は、マスタ軸を制御する数値制御装置であるマスタユニット１０と、スレーブ軸を制御する数値制御装置であるスレーブユニット２０と、およびマスタユニット１０とスレーブユニットとの間でデータの送受信を行うための通信路４０と、から構成される。
【００２０】
マスタユニット１０は、サーボ制御部１４を介してモータ１５（マスタ軸など）を制御する数値制御部１１、同期制御に用いられるタイミング信号を生成するタイミング信号生成手段１２、および通信路４０を介してスレーブユニット２０との間で通信する通信インタフェース１３を備える。
数値制御部１１は、図示しないメモリなどから読み出したプログラムに対して解析や補間などの処理を行って移動指令データを作成し、該移動指令データを出力することでマスタ軸を制御する。
【００２１】
タイミング信号生成手段１２は、図示しないＣＰＵに内蔵されたクロックやマスタユニット１０に設けられた他のクロックジェネレータから出力されるクロックを利用して、スレーブユニット２０との同期制御の基準となるタイミング信号を周期的に生成する。タイミング信号の発生周期は設計的に定められるもので、例えば１０ｍｓ周期などに設定される。数値制御部１１は、タイミング信号生成手段１２からタイミング信号が出力されるタイミングで移動指令データをサーボ制御部１４に対して出力すると共に、該移動指令データにより移動するマスタ軸の軸位置などを含む同期情報を通信インタフェース１３を介してスレーブユニット２０へと転送する。
【００２２】
スレーブユニット２０は、サーボ制御部２９を介してモータ３０（スレーブ軸など）を制御する数値制御部２１、同期制御に用いられるタイミング信号を生成するタイミング信号生成手段２２、通信路４０を介してマスタユニット１０との間で通信する通信インタフェース２３を備える。また、通信インタフェース２３を含む通信制御として、受信時間取得手段２４、受信時間記録手段２５、再送検知手段２６、受信時間補正手段２７を備え、数値制御部２１内に同期位置補正手段２８を備える。
数値制御部２１は、図示しないメモリなどから読み出したプログラムに対して解析や補間などの処理を行って移動指令データを作成し、該移動指令データを出力することでスレーブ軸を制御する。
【００２３】
タイミング信号生成手段２２は、マスタユニット１０に設けられたタイミング信号生成手段１２と同様のものであり、図示しないＣＰＵに内蔵されたクロックやスレーブユニット２０に設けられた他のクロックジェネレータから出力されるクロックを利用して、マスタユニット１０との同期制御の基準となるタイミング信号を周期的に生成する。タイミング信号の発生周期は、マスタユニット１０のタイミング信号生成手段１２におけるタイミング信号の発生周期と同一としてもよく、また同一でない周期、例えば整数倍、整数分の１などとすることもできる。以下では説明を簡単にするために、タイミング信号生成手段２２におけるタイミング信号の発生周期をタイミング信号生成手段１２のタイミング信号の発生周期と同一として説明する。
数値制御部２１は、タイミング信号生成手段２２からタイミング信号が出力されるタイミングで、後述する同期位置補正手段２８により位置が補正された移動指令データをサーボ制御部２９に対して出力する。
【００２４】
受信時間取得手段２４は、マスタユニット１０から転送された軸位置データなどの同期情報をスレーブユニット２０が受信した際に、該同期情報を受信した時点における前回タイミング信号生成手段２２がタイミング信号を出力してから経過した時間を受信時間として取得する。受信時間取得手段２４は、例えばタイミング信号生成手段２２から出力されるタイミング信号によりリセットされるタイマカウンタを用意し、同期情報を受信した時点における該タイマカウンタの値を読み取るようにしてもよいし、スレーブユニット２０が内蔵するＲＴＣ等を用い、タイミング信号生成手段２２からタイミング信号が出力された時刻を一時的にメモリ等に記憶しておき、該時刻から同期情報を受信した時刻を減算するようにしてもよい。
【００２５】
受信時間記録手段２５は、受信時間取得手段２４が取得した同期情報の受信時間の履歴である受信時間履歴データを図示しないメモリに記録する。受信時間記録手段２５が記録する受信時間履歴データは、制御動作開始時からの受信時間を全て記録するようにしてもよいが、スレーブユニット２０のメモリ量等を考慮して、所定個数の受信時間を記録するようにしてもよい。
【００２６】
再送検知手段２６は、マスタユニット１０から転送された同期情報が再送されたか否かを検知し、再送が検知された場合、受信時間補正手段２７に該再送された同期情報の受信時間の補正を指令する。
同期情報の再送の検知方法としては、一例として、受信時間記録手段２５により記録された受信時間履歴データを用いて推定する方法が考えられる。図５は、受信時間履歴データを用いた再送検知の方法を示す図である。図に示すように、過去の受信時間のデータであるマスタ軸位置Ａに係る同期情報を受信した際の受信時間Ｔ１、マスタ軸位置Ｂに係る同期情報を受信した際の受信時間Ｔ２が受信時間履歴データとして記録されており、マスタ軸位置Ｃに係る同期情報の転送において転送エラーが発生し、該同期情報をマスタユニット１０が再送したとする。この場合、マスタ軸位置Ｃに係る同期情報を受信した際の受信時間Ｔ３は、再送された分だけＴ１，Ｔ２と比較して大きな値となる。そこで、受信時間履歴データに記録されている過去の受信時間Ｔ１、Ｔ２の平均値と今回の受信時間Ｔ３とを比較し、その差分が許容値Ｔｈを超えた場合に再送されたものと推定することで再送の検知を行うことができる。この時、許容値Ｔｈとしては、あらかじめ定義された定数を用いてもよいし、マスタユニット１０とスレーブユニット２０との間の通信に用いられる通信プロトコルで定められた再送時間に一定の割合を乗じた値を用いてもよい。また、過去の受信時間の分散などで指定することも可能である。更に、過去の受信時間から求められる統計値を用いた検定などにより再送されたかを推定するようにしてもよい。
【００２７】
同期情報の再送の検知の別の方法としては、図６に示すように、転送エラーにより再送を行うこととなった際に、再送される同期情報が再送によるものであるという再送情報をマスタユニット１０側で付加するようにしてもよい。このようにすれば、再送検知手段２６は、単に同期情報に再送情報が付加されているか否かを判定することで再送を検知することができる。
【００２８】
受信時間補正手段２７は、再送検知手段２６からの受信時間の補正指令を受けると、今回受信した同期情報の受信時間を、受信時間記録手段２５により記録された受信時間履歴データを用いて補正する。補正においては、例えば受信時間履歴データとして記録されている過去の所定個数の受信時間の平均値に補正する方法や、通信プロトコルなどによって定まる再送時間を減算することで補正するようにしてもよい。
【００２９】
同期位置補正手段２８は、受信時間補正手段２７が補正した受信時間に基づいて、上記図２で説明した手法によりタイミング信号生成手段２２からタイミング信号が出力されるタイミングにおけるスレーブ軸の同期位置を補正し、そして、数値制御部２１は、タイミング信号生成手段２２からタイミング信号が出力されるタイミングで、同期位置補正手段２８により補正された同期位置となるように移動指令データを機械に対して出力する。
【００３０】
以上の構成により、転送データの再送による遅れを補正して、同期精度を維持することができる。
なお、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００３１】
例えば、図７に示すように、マスタユニット１０においてタイミング信号生成手段１２がタイミング信号を生成した際にすぐにデータを転送できない場合、タイミング信号からデータの送信タイミングまでの時間（送信タイミング時間Ｔａ，Ｔｂ，Ｔｃ）を計測しておき、該送信タイミング時間を同期情報に付加してスレーブユニット２０に転送するようにしてもよい。この時、マスタユニット１０で再送が行われた場合でも、転送エラーとなった最初の転送までの時間Ｔｃが再送時に付加される。
このように構成した場合、スレーブユニット２０では、受信時間取得手段２４が受信時間Ｔ１，Ｔ２，Ｔ３から送信タイミング時間Ｔａ，Ｔｂ，Ｔｃを引くことで、ユニット間の時間軸のずれ時間Ｔ１’，Ｔ２’，Ｔ３’を求める。この算出した時間Ｔ１’，Ｔ２’，Ｔ３’が図３におけるＴ１，Ｔ２，Ｔ３に相当し、マスタユニット１０での転送処理遅れに影響されず、同期精度を維持することができる。
【００３２】
また、同期制御システムを構成するマスタユニットとスレーブユニットは、それぞれが１台以上であればよく、各ユニットの台数に制限はない。たとえば、マスタユニットが１台に対してスレーブユニットが複数台でも、マスタユニットが複数台に対してスレーブユニットが１台でも問題ない。
【００３３】
更に、マスタユニットとスレーブユニットとが中継器などを介して接続するようにしてもよい。この場合、中継器の動作状況に応じて時々データ転送が遅れた場合でも、スレーブユニット２０はその遅れを補正して、同期精度を維持することができる。
【符号の説明】
【００３４】
１  数値制御システム
１０  マスタユニット
１１  数値制御部
１２  タイミング信号生成手段
１３  通信インタフェース
１４  サーボ制御部
１５  モータ
２０  スレーブユニット
２１  数値制御部
２２  タイミング信号生成手段
２３  通信インタフェース
２４  受信時間取得手段
２５  受信時間記録手段
２６  再送検知手段
２７  受信時間補正手段
２８  同期位置補正手段
２９  サーボ制御部
３０  モータ
４０  通信路
【図１】
0006400553.tif 000002
【図２】
0006400553.tif 000003
【図３】
0006400553.tif 000004
【図４】
0006400553.tif 000005
【図５】
0006400553.tif 000006
【図６】
0006400553.tif 000007
【図７】
0006400553.tif 000008
【図８】
0006400553.tif 000009