(57)【要約】【課題】  制御周期のＮ倍の指令周期で位置差分指令が与えられる位置制御装置に、簡単な演算で位置指令を作成できる位置指令作成方法を提供する。【解決手段】  前記位置差分指令を前記Ｎで除した商Ｓおよび余りＡと、余り出力演算用変数に前記余りを加算した新たな余り出力演算用変数Ｈとから、前記余りＡが正の場合で、前記余り出力演算用変数Ｈがゼロ以下のときは前記商Ｓを、また前記Ｈがゼロよりも大きいときは前記Ｈから前記Ｎを減算した値を新たな余り出力演算用変数とすると共に、前記商Ｓに１を加算した値を、そして前記余りＳが負の場合で、前記Ｈがゼロ以上のときは前記商Ｓを、また前記Ｈがゼロよりも小さいときは、前記Ｈに前記Ｎを加算した値を新たな余り出力演算用変数とすると共に、前記商から１を減算した値をそれぞれ位置差分指令とする。【選択図】  図１
2006113960.tif 000002
【特許請求の範囲】
【請求項１】
上位コントローラから制御周期のＮ倍の指令周期で位置差分指令が与えられる位置制御装置の位置指令作成方法において、前記指令周期毎に前記位置差分指令を前記Ｎで除した商および余りと、制御周期毎に余り出力演算用変数に前記余りを加算した新たな余り出力演算用変数とから、次の（１）および（２）によって余り出力演算用変数および位置差分指令を求めることを特徴とする位置指令作成方法。
（１）  前記余りが正の場合で、（ａ）前記余り出力演算用変数がゼロ以下のときは、前記商を前記制御周期毎の位置差分指令とし、（ｂ）前記新たな余り出力演算用変数の値がゼロよりも大きいときは、前記新たな余り出力演算用変数から前記Ｎを減算した値を新たな余り出力演算用変数とすると共に、前記商に１を加算した値を前記制御周期毎の位置差分指令とする。
（２）前記余りが負の場合で、（ａ）前記余り出力演算用変数がゼロ以上のときは、前記商を前記制御周期毎の位置差分指令とし、（ｂ）前記新たな余り出力演算用変数の値がゼロよりも小さいときは、前記新たな余り出力演算用変数に前記Ｎを加算した値を新たな余り出力演算用変数とすると共に、前記商から１を減算した値を前記制御周期毎の位置差分指令とする。
【請求項２】
上位コントローラから制御周期のＮ倍の指令周期で位置差分指令が与えられる位置制御装置において、
前記指令周期毎に前記位置差分指令を前記Ｎで除した商および余りを求める商・余り演算手段と、
前記制御周期毎に余り出力演算用変数に前記余りを加算して新たな余り出力演算用変数とする余り出力演算用変数加算手段と、
前記商・余り演算手段と前記余り出力演算用変数加算手段との各結果から、次の（１）および（２）によって余り出力演算用変数および位置差分指令を求める余り出力演算用変数および位置差分指令作成手段と、
を備えたことを特徴とする位置制御装置。
（１）前記余りが正の場合で、（ａ）前記余り出力演算用変数がゼロ以下のときは、前記商を前記制御周期毎の位置差分指令とし、（ｂ）前記新たな余り出力演算用変数の値がゼロよりも大きいときは、前記新たな余り出力演算用変数から前記Ｎを減算した値を新たな余り出力演算用変数とすると共に、前記商に１を加算した値を前記制御周期毎の位置差分指令とする。
（２）前記余りが負の場合で、（ａ）前記余り出力演算用変数がゼロ以上のときは、前記商を前記制御周期毎の位置差分指令とし、（ｂ）前記新たな余り出力演算用変数の値がゼロよりも小さいときは、前記新たな余り出力演算用変数に前記Ｎを加算した値を新たな余り出力演算用変数とすると共に、前記商から１を減算した値を前記制御周期毎の位置差分指令とする。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置制御装置の位置指令作成方法に関する。
【背景技術】
【０００２】
従来より、上位装置から一定周期で位置指令を取得し追従制御を行うサーボ装置においては、上位装置からの指令周期に対してサーボ装置で位置指令を補間してサーボ周期毎の指令値を作成している。位置指令を補間する方法としては、例えば、特許文献１に開示の「サーボ装置の位置指令補間方法」は、図３に示すように、上位装置からの周期的に取得した位置指令の今回値ｘｋと、前回値ｘｋ−１と、前々回値ｘｋ−２とに基づいて、前々回値ｘｋ−２から前回値ｘｋ−１までの区間を区分補間軌道の逐次計算により補間するものであり、実曲線で示す前々回値ｘｋ−２から前回値ｘｋ−１までの区分補間軌道がＮ階微分まで連続であるとして、［ｘ′ｋ−２〜ｘn ｋ−２］のＮ階微分により連続な区分補間軌道を逐次計算によって決定するものである。また、こうにして生成された軌道を、一定軌道、停止軌道、振動抑制軌道等に軌道選択して制御することにより追従精度の向上を図っている。
【０００３】
図３の場合は、アナログ的な補間軌道曲線に忠実に近似する演算により対応するもので、上位装置の指令周期と補間を行うサーボ装置の制御周期との同期処理等に関しては特にふれていない。一方、図４は特許文献２に開示の「複数軸制御装置および軸間同期方法」の構成図であり、上位装置の位置指令周期と、それを基に補間を行うサーボ装置の位置決め制御周期間の同期処理について開示されている。上位装置の位置指令生成部１００は基準クロック発生源１１１と、同期パルスを発生する同期パルス発生部１１２と、位置指令生成部１１３を含んでいる。指令を受けるサーボドライバーの位置制御装置２００は、基準クロック発生源１２１、位置指令受信部１２２、位置制御処理部１２３、ＰＷＭ電流制御部１２４、エンコーダ１２５、サーボモータＳＭ−１で構成され、従来のロボットやＮＣ装置の位置決めループによる位置制御装置と同一構成である。また、同期パルス周期検出器１２６、同期処理部１２７、ＰＷＭ周期設定部１２８は、内部周期補正処理部を構成し、位置指令周期とサーボ制御周期（ＰＷＭ周期）との同期処理を行う。
今、位置指令周期はサーボ制御周期のＮ倍（Ｎは正の整数）とすると、サーボ制御周期Ｃｐｗｍ＝｛Ｃｓ＋（Ｃｓ−Ｃｘ１）｝／Ｎ、となる。但し、Ｃｓは位置指令の設定周期、Ｃｘ１は実際の位置指令の検出周期である。なお、位置制御装置２００−ｎは複数軸構成の場合に、位置制御装置２００と内部周期補正処理部とは同一構成の他軸のサーボドライバの位置制御装置を表している。
【０００４】
実際の補正処理では、例えば、図５に示すように、Ｎ＝１５として位置指令周期の１周期当たり１５回のサーボ制御処理（ＰＷＭ周期）が行われるとして、サーボ制御処理に１〜ｍ（ここではｍは５）のシーケンス番号を付して処理を行う。図５では位置指令パルスの最初の立ち下がりエッジｅ１に対するサーボ制御パルスのシーケンス番号は３であるが、これを１に補正したい場合は、次の位置指令バルス周期におけるサーボ制御周期の処理回数を１つ減らしてＮ＝１４とする。その結果、次の次の位置指令パルスの立ち下がりエッジｅ３ではサーボ制御周期のシーケンス番号ｍ＝２に繰り上がり、この補正をもう一度ｅ４まで繰越して行えばｍ＝１からスタートさせることができる。このような補正処理を複数軸構成の場合に、各軸間で実施すればサーボドライバ相互間の同期も確立できる。
【０００５】
このように、上位コントローラから通信を介して位置指令が入力される位置制御装置においては、通常、位置制御装置の制御周期のＮ倍の通信周期毎に位置指令が位置制御装置に入力される。図３に示す特許文献１の場合は、アナログ的な補間軌道演算が複雑である。
また、図４及び図５に示す特許文献２の装置の場合は、ハード構成による同期処理装置が大型になりコストが増加するという問題がある。
そこで、上位コントローラが連続的な位置指令を作成する場合、位置指令は通信周期毎の位置移動量、即ち位置差分指令として位置制御装置に入力される場合に、従来のデジタル処理によるソフトウェアを用いた位置制御装置では、位置差分指令を周期Ｎで除した商と余りを使用して制御周期毎の位置差分指令が作成されるが、余りの出力処理は、余り出力パターンデータを使用して、余りを出力する方法が一般的であった。
【特許文献１】特開２００４−１３９５３１号公報（図４）
【特許文献２】特開２００３−８８１８４号公報（図１、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の位置指令作成方法では、余り出力パターンデータテーブルを準備して置き、Ｎと余り数に応じて、余り出力パターンデータを選択する必要があり、ソフトウェアが複雑になるという問題があった。
そこで、本発明は、このような問題点に鑑みてなされたものであり、簡単な演算で汎用的な制御周期毎の補間が可能で余りを次の制御周期まで繰越すことのない位置指令作成方法およびこれを実行する位置制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、請求項１記載の発明は、位置指令作成方法に係り、 上位コントローラから制御周期のＮ倍の指令周期で位置差分指令が与えられる位置制御装置の位置指令作成方法において、前記指令周期毎に前記位置差分指令を前記Ｎで除した商および余りと、制御周期毎に余り出力演算用変数に前記余りを加算した新たな余り出力演算用変数とから、次の（１）および（２）によって余り出力演算用変数および位置差分指令を求めることを特徴としている。
（１）  前記余りが正の場合で、（ａ）前記余り出力演算用変数がゼロ以下のときは、前記商を前記制御周期毎の位置差分指令とし、（ｂ）前記新たな余り出力演算用変数の値がゼロよりも大きいときは、前記新たな余り出力演算用変数から前記Ｎを減算した値を新たな余り出力演算用変数とすると共に、前記商に１を加算した値を前記制御周期毎の位置差分指令とする。
（２）前記余りが負の場合で、（ａ）前記余り出力演算用変数がゼロ以上のときは、前記商を前記制御周期毎の位置差分指令とし、（ｂ）前記新たな余り出力演算用変数の値がゼロよりも小さいときは、前記新たな余り出力演算用変数に前記Ｎを加算した値を新たな余り出力演算用変数とすると共に、前記商から１を減算した値を前記制御周期毎の位置差分指令とする。
また、請求項２記載の発明は、位置制御装置に係り、上位コントローラから制御周期のＮ倍の指令周期で位置差分指令が与えられる位置制御装置において、前記指令周期毎に前記位置差分指令を前記Ｎで除した商および余りを求める商・余り演算手段と、前記制御周期毎に余り出力演算用変数に前記余りを加算して新たな余り出力演算用変数とする余り出力演算用変数加算手段と、前記商・余り演算手段と前記余り出力演算用変数加算手段との各結果から次の（１）および（２）によって余り出力演算用変数および位置差分指令を求める余り出力演算用変数および位置差分指令作成手段と、を備えたことを特徴としている。
（１）前記余りが正の場合で、（ａ）前記余り出力演算用変数がゼロ以下のときは、前記商を前記制御周期毎の位置差分指令とし、（ｂ）前記新たな余り出力演算用変数の値がゼロよりも大きいときは、前記新たな余り出力演算用変数から前記Ｎを減算した値を新たな余り出力演算用変数とすると共に、前記商に１を加算した値を前記制御周期毎の位置差分指令とする。
（２）前記余りが負の場合で、（ａ）前記余り出力演算用変数がゼロ以上のときは、前記商を前記制御周期毎の位置差分指令とし、（ｂ）前記新たな余り出力演算用変数の値がゼロよりも小さいときは、前記新たな余り出力演算用変数に前記Ｎを加算した値を新たな余り出力演算用変数とすると共に、前記商から１を減算した値を前記制御周期毎の位置差分指令とする。
【発明の効果】
【０００８】
本発明によれば、簡単な演算で汎用的な制御周期毎の補間ができ、余りを次の制御周期まで繰越すことのない位置指令作成方法を提供することができる。また、簡単な演算で汎用的な制御周期毎の位置差分指令を作成することが可能となり、効率的な位置制御装置を構成することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００１０】
図１は、本発明の位置指令作成方法のソフトウェア処理フローである。
図１に示す位置指令作成方法のソフトウェアは、例えば、図４に示すような位置制御装置２００上等で動作するものであり、上位コントローラからの位置指令を入力して図１に示すソフトウェア処理により、位置指令周期の１／Ｎのサーボ制御周期毎の位置差分指令を補間出力する。
【００１１】
図１において、先ず、位置指令入力処理（１）では、上位コントローラからの位置差分指令が入力された場合は（ステップ１：以降Ｓ１と略す）、位置差分指令をＮで除算し、その商と余りを保存する（Ｓ２）。Ｓ１の判断において、上位コントローラからの位置差分指令が入力されない場合は何もしない。
次に、位置指令作成処理（２）では、余り出力演算用変数ｘに余りを加算する（Ｓ３）。余りが正の場合で（Ｓ４）、前記余り演算用変数ｘがゼロ以下の場合は、前記商を制御周期毎の位置差分指令Ｙとし（Ｓ６）、前記余り出力演算用変数ｘがゼロより大きくなった場合は、前記余り出力演算用変数ｘからＮを減算すると共に前記商に１を加算した値を制御周期毎の位置差分指令Ｙとし（Ｓ７）、Ｓ４の判断において、前記余りが負の場合で、前記余り演算用変数ｘがゼロ以上の場合は（Ｓ８）、前記商を制御周期毎の位置差分指令Ｙとし（Ｓ９）、前記余り出力演算用変数ｘがゼロより小さくなった場合は、前記余り出力演算用変数ｘにＮを加算するとともに前記商から１を減算した値を制御周期毎の位置差分指令Ｙとすることにより（Ｓ１０）、制御周期毎の位置差分指令Ｙを作成する（Ｓ１１）。
このようにして作成されたサーボ制御周期毎の位置差分指令により、図４に示すような位置制御装置２００の位置制御が行われ、位置制御処理部１２３において、エンコーダ１２５からの位置検出パルスとサーボ制御周期毎の位置差分指令パルスとの偏差を求め、ＰＩ制御等によりＰＷＭ電流制御部１２４に対する操作量（制御量）を決定して出力しサーボモータＳＭ−１が位置決め駆動される。
【００１２】
図２は、位置制御装置の制御周期の既定の４倍（Ｎ倍）の周期で上位コントローラからの位置差分指令が与えられる場合の図１のフローによる処理の具体例を、実際の数値を当てはめて、タイムチャートとして示したものである。
その動作は、図２に示すように、余り演算用変数値（５）（＝ｘ）がゼロの初期状態から開始する。上位コントローラからの最初の位置差分指令値（３）＝１８が与えられると、１８をＮ４で除すことにより、図２の商（６）は４となり、図２の（７）の余りは２となる。
次に、図２の（５）の余り出力演算用変数は０に余り２が加算され２となる。余り出力演算用変数値がゼロより大きくなるので、余り出力演算用変数（５）は４が減算され−２となり、図２の制御周期毎の位置差分指令（４）（＝Ｙ）は商に１が加算され５となる。  次の制御サイクルでは、余り出力演算用変数（５）は−２に余り２が加算され０となる。余り出力演算用変数値（５）がゼロ以下なので、制御周期毎の位置差分指令（４）は商が使用され４となる。次の制御サイクルでは、余り出力演算用変数（５）は０に余り２が加算され２となる。余り出力演算用変数値（５）がゼロより大きくなるので、余り出力演算用変数は４が減算され−２となり、制御周期毎の位置差分指令（４）は商に１が加算され５となる。次の制御サイクルでは、余り出力演算用変数値（５）は−２に余り２が加算され０となる。余り出力演算用変数値（５）がゼロ以下なので、制御周期毎の位置差分指令（４）は商が使用され４となる。以上の４回の制御サイクルでの制御周期毎の位置差分指令（４）の合計は１８となり、上位コントローラからの位置差分指令の払い出しが完了する。
【００１３】
次に、上位コントローラから位置差分指令値１６が与えられると、１６を４で除すことにより、図２の（６）の商は４となり図２の（７）の余りは０となる。図２の（５）の余り出力演算用変数は０に余り０が加算され０となる。余り出力演算用変数値（５）がゼロ以下なので、図２の制御周期毎の位置差分指令（４）は商が使用され４となる。余りが０であるため、以降の制御サイクルでも同じ演算となり、４回の制御サイクルでの制御周期毎の位置差分指令の合計は１６となり、上位コントローラからの位置差分指令の払い出しが完了する。
【００１４】
次に、上位コントローラから位置差分指令値１１が与えられると、１１をＮの４で除すことにより、図２の商（６）は２となり、余りは３となる。図２の余り出力演算用変数値（５）＝−１、制御周期毎の位置差分指令（４）＝３となる。次の制御サイクルでは、余り出力演算用変数（５）＝−２となり、制御周期毎の位置差分指令（４）＝３となる。次の制御サイクルは、余り出力演算用変数（５）＝−３となり、制御周期毎の位置差分指令（４）＝３となる。最後の制御サイクルでは、余り出力演算用変数（５）＝０、なので制御周期毎の位置差分指令（４）＝２、となる。以上で４つの制御周期毎の位置差分指令の合計は１１となり払い出しが完了する。
最後に、０が与えられると、商、余りともに０であり、位置差分指令Ｙも０となる。
以降、上位コントローラからの位置差分指令は、同様の演算により４回の制御サイクルにより、払い出しが全て完了する。
この図２に示した各制御サイクルは、例えば、丁度、加速→定速→減速→停止という台形パターンとみなせる。
ここまで、本説明では、余りが正の場合について述べたが、余りが負の場合も本発明の位置指令作成方法が適用可能である。また、本説明では、上位コントローラからの位置差分指令周期が位置制御装置の制御周期の４倍の場合について述べたが、任意の倍数Ｎの周期について本発明の位置指令作成方法が適用可能である。
このように、本発明によれば、統計処理的に倍数Ｎと指令パルス数を含んで余りを配分する余り出力演算用変数５（＝ｘ）の概念を導入することで、簡単な演算により、汎用的な制御周期毎の位置差分指令の作成が可能となり、特別なハードウェアの増設等も必要とせずに、余りを、たまり量処理等として次の制御周期に繰越さず自制御周期内で配分処理される、ソフトウェア処理によって追従性の高い位置制御装置を構成できる。
【００１５】
以上のように、制御周期のＮ倍の指令周期で位置差分指令が与えられる位置制御装置において、指令周期毎に前記位置差分指令を前記Ｎで除した商と余りを保存し、制御周期毎に余り出力演算用変数に前記余りを加算し、余りが正の場合には、余り出力演算用変数がゼロ以下の場合は、商を制御周期毎の位置差分指令とし、余り出力演算用変数の値がゼロよりも大きくなった場合は、余り出力演算用変数からＮを減算するとともに前記商に１を加算した値を制御周期毎の位置差分指令とすし、余りが負の場合には、余り出力演算用変数がゼロ以上の場合は、商を制御周期毎の位置差分指令とし、余り出力演算用変数の値がゼロよりも小さくなった場合は、余り出力演算用変数にＮを加算するとともに商から１を減算した値を制御周期毎の位置差分指令とすることにより、簡単な演算で制御周期毎の位置差分指令を作成することができるので、ロボット、ＮＣ装置等のサーボ制御装置における位置制御装置全般に適用できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の位置指令作成方法のソフトウェア処理フローである。
【図２】本発明の位置差分指令の変化を示すタイムチャートである。
【図３】従来のサーボ装置の位置指令補間方法の説明図である。
【図４】従来の複数軸制御装置のブロック図である。
【図５】図４に示す複数軸制御装置の同期補正処理を示す図である。
【符号の説明】
【００１７】
１  位置指令入力処理
２  位置指令作成処理
３  上位コントローラからの位置差分指令
４  制御周期毎の位置差分指令
５  余り出力演算用変数
６  商
７  余り
【図１】
2006113960.tif 000003
【図２】
2006113960.tif 000004
【図３】
2006113960.tif 000005
【図４】
2006113960.tif 000006
【図５】
2006113960.tif 000007