(57)【特許請求の範囲】
【請求項１】
一定の制御周期ごとに同期信号を出力するコントローラ装置と、前記制御周期よりも短い駆動周期に従って負荷を駆動するドライブ装置と、を有し、
前記ドライブ装置が、
前記コントローラ装置から受信した同期信号に前記駆動周期の起動タイミングを同期させるように起動タイミングを調整する周期タイミング補正手段と、
前記周期タイミング補正手段による調整後の起動タイミングを基準とした駆動周期により前記負荷を周期的に駆動させる手段と、を有する同期制御システムにおいて、
前記制御周期が前記駆動周期の整数倍でない場合に、
前記制御周期に含まれる前記駆動周期の回数と端数時間とを求め、前記駆動周期の回数を変えずに１回以上の駆動周期を増加させたときの増加分の合計時間が前記端数時間に一致するように当該駆動周期を演算し、または、前記駆動周期の回数を増加させて１回以上の駆動周期を減少させたときの減少分の合計時間が元の駆動周期と前記端数時間との差に一致するように当該駆動周期を演算する周期演算手段を備え、
前記周期演算手段により演算された駆動周期を前記周期タイミング補正手段に与えることを特徴とする同期制御システム。
【請求項２】
請求項1に記載した同期制御システムにおいて、
前記ドライブ装置を複数台有し、前記コントローラ装置から出力される同期信号に全てのドライブ装置の起動タイミングを同期させることを特徴とする同期制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボやインバータ等のドライブ装置を、コントローラ装置の制御周期に同期させて制御するための同期制御システムに関するものである。
【背景技術】
【０００２】
この種の同期制御システムは、一定の制御周期に従って動作するコントローラ装置と、トルク指令や電流指令、位置指令等により周期的にモータ等の負荷を駆動する複数台のドライブ装置とを備え、各ドライブ装置が、コントローラ装置から出力される同期信号に同期して負荷を制御するものとして知られている。
この同期制御システムでは、例えば特許文献１に記載されているように、コントローラ装置から出力される同期信号とドライブ装置の駆動周期の起動カウンタ値のずれ量とを算出し、前記起動カウンタ値をわずかに増減させてずれ量を減少させ、最終的にコントローラ装置からの同期信号に起動カウンタ値の開始タイミングを合わせて同期させる方法が採られている。
【０００３】
ここで、図４は特許文献１に記載された従来技術とほぼ同様の同期制御システムを示す構成図である。
同図において、１はコントローラ装置、３Ａ〜３Ｃはコントローラ装置１により同期制御されるサーボ、インバータ等のドライブ装置、４Ａ〜４Ｃはドライブ装置３Ａ〜３Ｃによりそれぞれ駆動される負荷としてのモータ、２はコントローラ装置１とドライブ装置３Ａ〜３Ｃとの間で同期信号や駆動データを伝送する信号伝送路である。
なお、ドライブ装置３Ａ〜３Ｃの構成は同一であり、その台数は３台に限定されず任意の台数であればよい。
【０００４】
次に、この従来技術の動作を、コントローラ装置１及びドライブ装置３Ａの構成と共に説明する。
コントローラ装置１は、一定の制御周期を決定する周期処理１１を行う。同期信号発生手段１２は、周期処理１１の終了／開始に従って、ドライブ装置３Ａ，３Ｂ，３Ｃ側が定周期処理を起動する起動タイミングの基準となる同期信号を出力する。この同期信号は、例えば、コントローラ装置１のアプリケーションプログラムによる制御周期ごとに出力され、ドライブ装置３Ａ，３Ｂ，３Ｃは、同期信号に同期してモータ４Ａ〜４Ｃを駆動するようになっている。
【０００５】
ドライブ装置３Ａは、信号伝送路２を介して入力される同期信号を取得する同期信号取得手段３１と、周期処理の起動タイミングを補正する周期タイミング補正手段３３と、周期タイミング補正手段３３からの出力に基づいて周期起動タイミングを生成する周期起動タイミング発生手段３４と、前記起動タイミングに従って起動される周期処理３５と、を有する。
【０００６】
次いで、ドライブ装置３Ａの同期処理を、図５（ａ）〜（ｃ）のタイミング図に基づいて説明する。
まず、同期処理を開始する前は、コントローラ装置１の同期信号発生手段１２から出力される同期信号に対して、ドライブ装置３Ａによる駆動周期を示す周期処理タイマ値と周期起動タイミングとの関係は図５（ａ）［周期処理タイマ補正なし］に示す通りである。同図から明らかなように、周期起動タイミングは周期処理タイマ値が０の時に発生する。また、同期信号と周期起動タイミングとは一般にずれており、しかも同期信号の周期と周期起動タイミング（周期処理タイマがタイムアップするタイミング）の周期とは変わらないので、同期信号と周期起動タイミングとはずれたままの状態で推移している。
【０００７】
次に、同期処理の例を、図５（ｂ）［周期処理タイマ補正動作１］，図５（ｃ）［周期処理タイマ補正動作２］を参照しつつ説明する。
図４の周期タイミング補正手段３３は、同期信号取得手段３１を介して同期信号を検知すると周期処理タイマ値をラッチし、ラッチしたタイマ値Ｔ１とドライブ装置３Ａの駆動周期を決める周期処理タイマのタイムアップ値Ｔｕｐとの差を求める。このとき、図５（ｂ）のように周期起動タイミングの方が同期信号より進んでいる場合は、タイムアップ値Ｔｕｐを一時的に増加させることによって周期が長くなり、図５（ｂ）の時刻ｔｂに示すごとく、同期信号に周期処理タイマ値、周期起動タイミングが近づいて同期がとれるようになる。
【０００８】
逆に、図５（ｃ）のように周期起動タイミングの方が同期信号より遅れている場合は、タイムアップ値Ｔｕｐを一時的に減少させることによって周期が短くなり、図５（ｃ）の時刻ｔｃに示すごとく、同期信号に周期処理タイマ値、周期起動タイミングが近づいて同期がとれるようになる。
ここで、図４の周期起動タイミング発生手段３４は、周期処理タイマ値のタイムアップと同時に周期起動タイミングを発生し、周期処理３５を起動させてモータ４Ａを駆動する。
【０００９】
この場合、例えば１回目の同期信号に対して図５（ｂ）または（ｃ）の同期処理を行い、次の同期信号のところでは、ずらしたタイムアップ値Ｔｕｐを元に戻すことで周期起動タイミングは元に戻る。このようにして、同期信号の２回に１回の割合で同期補正を行うことが可能である。
【００１０】
なお、特許文献２には、上位制御装置と複数台のモータ駆動装置との間で、位置指令や速度指令、トルク指令等をシリアル通信により送受信するシステムが開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００５−０９４９３３号公報（段落[００１３]〜[００２３]、図１等）
【特許文献２】特開２００３−１８９６５４号公報（段落[０００２]〜[０００５]、図９等）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
図４及び図５に示した従来技術では、コントローラ装置１の制御周期Ｔｃと各ドライブ装置の駆動周期Ｔｄとが等しい（つまりＴｃ＝Ｔｄ）ことを前提として、制御周期Ｔｃごとにコントローラ装置１から出力される同期信号を基準としてドライブ装置の周期起動タイミングを調整している。
しかし、一般にサーボやインバータ等のドライブ装置は、コントローラ装置１の制御周期Ｔｃに比べて短い駆動周期Ｔｄで動作を繰り返す場合が多い。
【００１３】
いま、コントローラ装置１の制御周期Ｔｃを１６００ [μｓ]とし、各ドライブ装置３Ａ〜３Ｃの駆動周期Ｔｄを８０[μｓ]とした場合、同期前及び同期後（同期取得後）の処理と時間軸との関係を示すと、図６のようになる。
同期前の図６（ａ）では、コントローラ装置１とドライブ装置３Ａ〜３Ｃとの間で同期が取れていないので、同期信号に対してドライブ装置３Ａ〜３Ｃの周期起動タイミングが合っておらず、ドライブ装置３Ａ〜３Ｃの間でも、周期起動タイミングがずれている。
【００１４】
この状態から同期をとることにより、図６（ｂ）のように、同期信号とドライブ装置３Ａ〜３Ｃの周期起動タイミングが一致し、コントローラ装置１の制御周期Ｔｃに同期して全てのドライブ装置３Ａ〜３Ｃの駆動処理が開始される。
ここで、図６（ｂ）は、前述したようにＴｃ＝１６００ [μｓ]、Ｔｄ＝８０[μｓ]であって、ＴｃがＴｄの整数倍（Ｔｃ＝ｎ×Ｔｄ，ｎは正の整数）である場合のものであり、最初の同期信号発生時にドライブ装置３Ａ〜３Ｃとの間で同期がとれれば、次の同期信号発生時にも同期が確保されることになる。
【００１５】
しかし、ＴｃがＴｄの整数倍でない場合（Ｔｃ≠ｎ×Ｔｄの場合）、例えばコントローラ装置１の処理周期が１５００[μｓ]（ドライブ装置３Ａ〜３Ｃの駆動周期についてはＴｄ＝８０[μｓ]のまま）のときは図６（ｃ）のようになり、同期信号とドライブ装置３Ａ〜３Ｃとの間で一旦、同期がとれたとしても、次の同期信号発生時には同期信号とドライブ装置３Ａ〜３Ｃの周期起動タイミングとの間にずれが生じ、同期が外れてしまうことになる。
【００１６】
従って、図４及び図５に示した従来技術において、コントローラ装置１とドライブ装置３Ａ〜３Ｃとの間で常に同期を維持するためには、必ずＴｃ＝ｎ×Ｔｄである必要があり、システム構築上の自由度がないという問題があった。
そこで、本発明の解決課題は、コントローラ装置の制御周期Ｔｃがドライブ装置の駆動周期Ｔｄの整数倍ではない場合にも同期を確保することができ、自由度の高いシステム構築を可能にした同期制御システムを提供することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決するため、請求項1に係る発明は、一定の制御周期ごとに同期信号を出力するコントローラ装置と、前記制御周期よりも短い駆動周期に従って負荷を駆動するドライブ装置と、を有し、
前記ドライブ装置が、
前記コントローラ装置から受信した同期信号に前記駆動周期の起動タイミングを同期させるように起動タイミングを調整する周期タイミング補正手段と、
前記周期タイミング補正手段による調整後の起動タイミングを基準とした駆動周期により前記負荷を周期的に駆動させる手段と、を有する同期制御システムにおいて、
前記制御周期が前記駆動周期の整数倍でない場合に、
前記制御周期に含まれる前記駆動周期の回数と端数時間とを求め、前記駆動周期の回数を変えずに１回以上の駆動周期を増加させたときの増加分の合計時間が前記端数時間に一致するように当該駆動周期を演算し、または、前記駆動周期の回数を増加させて１回以上の駆動周期を減少させたときの減少分の合計時間が元の駆動周期と前記端数時間との差に一致するように当該駆動周期を演算する周期演算手段を備え、
前記周期演算手段により演算された駆動周期を前記周期タイミング補正手段に与えるものである。
【００１８】
請求項２に係る発明は、前記ドライブ装置を複数台有し、前記コントローラ装置から出力される同期信号に全てのドライブ装置の起動タイミングを同期させるものである。
【発明の効果】
【００１９】
本発明によれば、コントローラ装置の制御周期がドライブ装置の駆動周期の整数倍でない場合にもコントローラ装置とドライブ装置との同期を確保することができ、システム構築の自由度を高めることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態を示す構成図である。
【図２】本発明の実施形態における周期演算手段の処理を示すフローチャートである。
【図３】本発明の実施形態の作用効果を説明するためのタイミング図である。
【図４】従来技術を示す構成図である。
【図５】図４におけるドライブ装置の同期処理を説明するためのタイミング図である。
【図６】従来技術における同期前及び同期後の処理と時間軸との関係を示す図である。
【発明を実施するための形態】
【００２１】
以下、図に沿って本発明の実施形態を説明する。
図１はこの実施形態の構成図であり、図４と同一の構成要素には同一の参照符号を付してある。以下では、図４と異なる部分を中心に説明する。
【００２２】
すなわち、本実施形態の同期制御システムにおけるドライブ装置３０Ａ（他のドライブ装置３０Ｂ，３０Ｃの構成も同一）は、同期信号取得手段３１と周期タイミング補正手段３３との間に周期演算手段３２を備えている。
この周期演算手段３２は、同期信号取得手段３１から出力される同期信号と周期演算手段３２が有する周期処理タイマ値とに基づき、コントローラ装置１とドライブ装置３０Ａとの間で同期合わせを行うためにドライブ装置３０Ａの駆動周期を調整する機能を備えており、周期演算手段３２の出力が周期タイミング補正手段３３に送られている。
なお、周期演算手段３２以外の構成は図４と同一である。
【００２３】
次に、この実施形態の動作を説明する。
図２のフローチャートは、コントローラ装置１の制御周期Ｔｃとドライブ装置３０Ａの駆動周期Ｔｄ（他のドライブ装置３０Ｂ，３０Ｃの駆動周期も同一）との関係に応じた周期演算手段３２の処理を示している。
ここで、図２のフローチャートは、制御周期Ｔｃが駆動周期Ｔｄの整数倍ではない場合を想定しているが、制御周期Ｔｃが駆動周期Ｔｄの整数倍である場合には、後述するステップＳ２〜Ｓ５における端数時間ΔＴや回数Ｍがゼロになるため、実質的に処理は行われず、図1における周期演算手段３２を除去したのと同様の動作になる。
【００２４】
さて、図２において、１回の制御周期内で発生するドライブ装置の駆動周期回数Ｎ及び端数時間ΔＴを、数式１，２により求める。（図２のステップＳ１，Ｓ２）
［数式１］
Ｎ＝ｉｎｔ（Ｔｃ／Ｔｄ）
［数式２］
ΔＴ＝ｍｏｄ（Ｔｃ／Ｔｄ）
数式１における駆動周期回数Ｎ＝ｉｎｔ（  ）は、括弧内の割り算の余りを切り捨てた整数であって、制御周期Ｔｃに含まれる駆動周期Ｔｄの回数を示す。また、数式２における端数時間ΔＴ＝ｍｏｄ（  ）は、括弧内の割り算の余りである。
従って、Ｎ×Ｔｄ＋ΔＴ＝Ｔｃの関係が成り立つ。
【００２５】
次に、端数時間ΔＴが駆動周期Ｔｄの１／２より小さいかどうかを判断し（ステップＳ３）、１／２より小さい場合は（ステップＳ３ Ｙｅｓ）、Ｔｃに含まれるＴｄの回数を変えずにＮのままとしてＴｄを合計でΔＴだけ増やす。増加分は、例えば、駆動周期Ｔｄが処理基準タイマ値ｔを基準（刻み幅）として設定されている場合、数式３を算出し（ステップＳ４）、このＭ回をＮ回のＴｄの中の任意回数で配分する（ステップＳ５）。例えば、Ｍ＝２であり、Ｎ＝１８である場合には、１８回のＴｄのうちの２回のＴｄを増加させ、その増加分の合計時間がΔＴになるようにする。
［数式３］
Ｍ＝ΔＴ／ｔ
【００２６】
また、端数時間ΔＴが駆動周期Ｔｄの１／２以上である場合には（ステップＳ３ Ｎｏ）、ＮをインクリメントしてＴｃに含まれるＴｄの回数を一つ増やし（ステップＳ６）、Ｔｄを合計で（Ｔｄ−ΔＴ）分減らす。
減少分は、前記同様に駆動周期Ｔｄが処理基準タイマ値ｔを基準（刻み幅）として設定されている場合、数式４を演算し（ステップＳ７）、このＭ回をＮ＋１回のＴｄの中で配分する（ステップＳ５）。例えば、Ｍ＝２であり、Ｎ＝１８である場合には、Ｎ＋１＝１９であるから、１９回のＴｄのうちの２回のＴｄを減少させ、その減少分の合計時間が（Ｔｄ−ΔＴ）になるようにする。
［数式４］
Ｍ＝（Ｔｄ−ΔＴ）／ｔ
【００２７】
具体例として、Ｔｃ＝１５００[μｓ]、Ｔｄ＝８０[μｓ]である場合、数式1，２を演算すると以下のようになる（ステップＳ１，Ｓ２）。
Ｎ＝ｉｎｔ（１５００／８０）＝１８回
ΔＴ＝ｍｏｄ（１５００／８０）＝６０[μｓ]
【００２８】
ΔＴ＝６０[μｓ]はＴｄの１／２以上であるから、Ｎをインクリメントして１９回とする（ステップＳ３ Ｎｏ，ステップＳ６）。更に、処理基準タイマ値ｔ＝１０[μｓ]である場合、数式４を演算すると以下のようになる（ステップＳ７）。
Ｍ＝（Ｔｄ−ΔＴ）／ｔ＝（８０−６０）／１０＝２
従って、１９回のＴｄのうちの２回のＴｄを減少させ、その減少分の合計時間を（Ｔｄ−ΔＴ）＝２０[μｓ]にすればよく、例えば、１９回のＴｄのうち、２回のＴｄを１０[μｓ]ずつ減少させてそれぞれ７０[μｓ]とし、残りの１７回のＴｄを８０[μｓ]のままにすればよい。
【００２９】
図３（ａ）は、本実施形態による周期合わせ（周期タイミング補正）を行わない場合のタイミング図、図３（ｂ）は本実施形態による周期合わせを行った場合のタイミング図である。これらの図において、ドライブ装置の駆動周期ａ：８０[μｓ]は駆動周期Ｔｄ＝８０[μｓ]であることを示し、同じく駆動周期ｂ：７０[μｓ]は駆動周期Ｔｄ＝７０[μｓ]であることを示している。
【００３０】
この図３は、前述した具体例の、Ｔｃ＝１５００[μｓ]、Ｔｄ＝８０[μｓ]、ｔ＝１０[μｓ]の場合に相当しており、図３（ｂ）に示す本実施形態によれば、コントローラ装置１の制御周期Ｔｃ内に、駆動周期Ｔｄ＝８０[μｓ]を１７回、駆動周期Ｔｄ＝７０[μｓ]を２回設けることにより、同期信号と駆動装置の周期起動タイミングとを一致させて同期合わせを行うことができる。
従って、コントローラ装置１の制御周期がドライブ装置の元の駆動周期の整数倍ではない場合であっても、ドライブ装置の同期制御を行うことが可能である。
【００３１】
なお、上記実施形態において、ドライブ装置は必ずしも複数台である必要はなく、本発明は、各1台のコントローラ装置とドライブ装置とからなるシステムにも適用可能である。
【符号の説明】
【００３２】
１：コントローラ装置
１１：周期処理
１２：周期信号発生手段
２：信号伝送路
３０Ａ，３０Ｂ，３０Ｃ：ドライブ装置
３１：同期信号取得手段
３２：周期演算手段
３３：周期タイミング補正手段
３４：周期起動タイミング発生手段
３５：周期処理
４Ａ，４Ｂ，４Ｃ：モータ
【図１】
0005748126.tif 000002
【図２】
0005748126.tif 000003
【図３】
0005748126.tif 000004
【図４】
0005748126.tif 000005
【図５】
0005748126.tif 000006
【図６】
0005748126.tif 000007