(57)【要約】【課題】複数の駆動制御装置毎の位置制御用演算処理を異なる演算処理周期で実行しても、異なる演算処理周期に見合った駆動制御装置との交信処理を実行し、複数の駆動制御装置間の位相同期制御を実現する位置決め制御装置を得ること。【解決手段】駆動制御装置２０ａ〜２０ｃごとに設定された異なる周期の基準クロックを発生する基準クロック発生部４２と、基準クロックの所定のタイミングで、基準クロックに対応する駆動制御装置２０に対する位置指令を演算し、同期型通信部４５中の送信バッファメモリに格納し、基準クロックの所定のタイミングで、送信バッファメモリに格納された各駆動制御装置２０ａ〜２０ｃに対応する位置指令と、位置指令の更新状況を示すコマンドコードと、を含む送信データを作成するマイクロプロセッサ４３とを備える。【選択図】        図１
2008289259.tif 000002
【特許請求の範囲】
【請求項１】
複数の駆動制御装置に接続され、前記駆動制御装置に接続される被制御装置の可動部の位置を、前記駆動制御装置ごとに設定された異なる演算処理周期で起動される複数のタスクによって演算し、前記駆動制御装置に送信する位置決め制御装置において、
前記駆動制御装置ごとに設定された異なる周期の基準クロックを発生する基準クロック発生手段と、
前記基準クロックの所定のタイミングで、前記基準クロックに対応する駆動制御装置に対する位置指令を演算し、送信バッファメモリに格納する位置指令演算手段と、
前記基準クロックの所定のタイミングで、前記送信バッファメモリに格納された前記各駆動制御装置に対応する位置指令と、前記位置指令の更新状況を示すコマンドコードと、を含む送信データを作成する送信データ作成手段と、
を備えることを特徴とする位置決め制御装置。
【請求項２】
最も制御精度が要求される駆動制御装置の位置指令の演算周期と送信データ作成周期を最短周期として、前記駆動制御装置のそれぞれについての演算周期と送信データ作成周期を、前記最短周期の何倍かを示す周期パラメータを格納する周期パラメータ格納手段をさらに備え、
前記基準クロック発生手段は、前記周期パラメータに対応する基準クロックを発生し、
前記送信データ作成手段は、前記最短周期の所定のタイミングごとに前記送信データを作成することを特徴とする請求項１に記載の位置決め制御装置。
【請求項３】
前記コマンドコードは、前記送信バッファメモリに格納された前記各駆動制御装置に対応する位置指令が前回送信された値と同じか否かを示す情報によって構成されることを特徴とする請求項１または２に記載の位置決め制御装置。
【請求項４】
駆動制御装置に接続される被制御装置の可動部の位置を、前記駆動制御装置ごとに設定された異なる演算処理周期で起動される複数のタスクによって演算する位置決め制御装置に接続される駆動制御装置において、
前記位置決め制御装置に接続されるすべての駆動制御装置に対応する位置指令と、前記位置指令の更新状況を示すコマンドコードと、を含む送信データを、前記位置決め制御装置から受信すると、前記コマンドコードから自駆動制御装置に対する位置指令の更新周期を把握し、前記コマンドコードを受信する所定のタイミングで、前記位置指令を受信バッファメモリに格納する同期型通信手段と、
前記コマンドコードから他の駆動制御装置の位置指令の更新周期を把握し、同期すべき前記他の駆動制御装置の位置指令が実行されるタイミングで、前記受信バッファメモリ中の位置指令を用いて前記被制御装置に対する制御を行う制御手段と、
を備えることを特徴とする駆動制御装置。
【請求項５】
同期すべき位置指令の前記各駆動制御装置の前記受信バッファメモリへの格納タイミングがずれている場合に、他の駆動制御装置に格納される位置指令よりも早く格納されている駆動制御装置の前記制御手段は、前記コマンドコードから把握した、格納タイミングが遅れている他の駆動制御装置への前記位置指令の格納タイミングの遅れ分を考慮して前記位置指令を実行することを特徴とする請求項４に記載の駆動制御装置。
【請求項６】
前記同期すべき位置指令の前記各駆動制御装置の前記受信バッファメモリへの格納タイミングがずれている場合に、他の駆動制御装置に格納される位置指令よりも遅く格納される駆動制御装置の前記制御手段は、自装置と自装置よりも格納タイミングが早い前記他の駆動制御装置との間の前記同期すべき位置指令の格納タイミングの遅れ分を前記コマンドコードから把握して、前記遅れ分の位置指令の差分を、前記受信バッファメモリ中の前記位置指令に加算した遅れ補正処理を実施し、この遅れ補正処理を実施した位置指令を用いて前記被制御装置に対する制御を行うことを特徴とする請求項４または５に記載の駆動制御装置。
【請求項７】
複数の駆動制御装置と、前記複数の駆動制御装置に接続され、前記駆動制御装置に接続される被制御装置の可動部の位置を、前記駆動制御装置ごとに設定された異なる演算処理周期で起動される複数のタスクによって演算する位置決め制御装置と、を備える制御システムでの制御システム演算交信処理方法において、
前記位置決め制御装置は、
前記駆動制御装置ごとに設定された異なる周期の基準クロックを発生する基準クロック発生工程と、
前記基準クロックの所定のタイミングで、前記基準クロックに対応する駆動制御装置に対する位置指令を演算し、送信バッファメモリに格納する位置指令演算工程と、
前記基準クロックの所定のタイミングで、前記送信バッファメモリ中の前記各駆動制御装置に対応する位置指令が前回送信された値と同じか否かを示すコマンドコードと、前記送信バッファメモリに格納された前記各駆動制御装置に対応する位置指令と、を含む送信データを作成する送信データ作成工程と、
前記送信データを前記駆動制御装置に送信する送信データ送信工程と、
前記駆動制御装置は、
前記送信データを受信すると、前記コマンドコードから自駆動制御装置に対する位置指令の更新周期を把握し、前記コマンドコードを受信する所定のタイミングで、前記位置指令を受信バッファメモリに格納する送信データ格納工程と、
前記コマンドコードから他の駆動制御装置の位置指令の更新周期を把握し、所定のタイミングで、前記受信バッファメモリに格納された位置指令を用いて前記被制御装置に対する制御を行う制御工程と、
を含むことを特徴とする制御システム演算交信処理方法。
【請求項８】
前記コマンドコードは、前記送信バッファメモリに格納された前記各駆動制御装置に対応する位置指令が前回送信された値と同じか否かを示す情報によって構成されることを特徴とする請求項７に記載の制御システム演算交信処理方法。
【請求項９】
前記制御工程では、同期すべき位置指令の前記各駆動制御装置の前記受信バッファメモリへの格納タイミングがずれている場合に、他の駆動制御装置に格納される位置指令よりも早く格納されている駆動制御装置は、前記コマンドコードから把握した、格納タイミングが遅れている駆動制御装置への前記位置指令の格納タイミングの遅れ分を考慮して、前記位置指令を実行することを特徴とする請求項７または８に記載の制御システム演算交信処理方法。
【請求項１０】
前記制御工程では、前記同期すべき位置指令の前記各駆動制御装置の前記受信バッファメモリへの格納タイミングがずれている場合に、他の駆動制御装置に格納される位置指令よりも遅く格納される駆動制御装置は、自装置と自装置よりも格納タイミングが早い前記他の駆動制御装置との間の前記同期すべき位置指令の格納タイミングの遅れ分を前記コマンドコードから把握して、前記遅れ分の位置指令の差分を、前記受信バッファメモリ中の前記位置指令に加算した遅れ補正処理を実施し、この遅れ補正処理を実施した位置指令を用いて前記被制御装置に対する制御を行うことを特徴とする請求項７〜９のいずれか１つに記載の制御システム演算交信処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の駆動制御装置と、これらの駆動制御装置に接続され、駆動制御装置に接続される被制御装置の可動部の位置を、駆動制御装置ごとに設定された異なる演算処理周期で起動される複数のタスクによって演算する位置決め制御装置と、を備える制御システムにおける位置決め制御装置、駆動制御装置に関するものである。また、この制御装置における制御システム演算交信処理方法にも関するものである。
【背景技術】
【０００２】
従来、サーボモータなどを駆動する複数の駆動制御装置について位置決め制御を行う位置制御装置は、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４規格で規定されるように同期型通信を介して交信し、位置制御装置と複数の駆動制御装置とは分割・分散されて制御されているのが一般的になっている。これは、位置制御装置と駆動制御装置を処理分散させることで、システム構築が容易になり、様々な制御に対する負荷分散を実現するためである。
【０００３】
また、サーボモータなどを駆動する複数の駆動制御を、要求性能に合わせて制御周期を可変にすることは、市販品の汎用のリアルタイムＯＳ（Operating System）を使用して複数のタスクに優先順位を設けて異なる演算処理周期で起動することで実行するか、特許文献１のように、最短制御周期毎に１増加するカウンタを設けて、そのカウンタ値に応じて、最短制御周期×整数倍の制御周期で複数の駆動制御を実行する方法がある。
【０００４】
【特許文献１】特開２００２−１８６２８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来の複数の駆動制御を要求性能に合わせて制御周期を可変にした位置決め制御装置では、演算処理した結果を複数の駆動制御装置に位置指令伝達する場合に、同期型通信を介して行う場合がある。この場合には、異なる制御周期で駆動制御装置への位置指令を作成しても、同期型通信の送信処理は定周期で実行されてしまうとともに、作成された位置指令を定周期換算で分割しなければならないという問題点があった。
【０００６】
また、異なる制御周期で駆動制御装置への位置指令を作成する場合には、複数の駆動制御軸の独立した動作には適しているが、位相同期制御の場合は指令位置が異なってくるために、位相同期制御には適さないという欠点もあった。
【０００７】
この発明は、上記に鑑みてなされたもので、サーボモータなどを駆動する複数の駆動制御装置毎の位置制御用演算処理を異なる演算処理周期で実行しても、異なる演算処理周期に見合った駆動制御装置との交信処理を実行し、複数の駆動制御装置間の位相同期制御を実現する位置決め制御装置、駆動制御装置および制御システム演算交信処理方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、この発明にかかる位置決め制御装置は、複数の駆動制御装置に接続され、前記駆動制御装置に接続される被制御装置の可動部の位置を、前記駆動制御装置ごとに設定された異なる演算処理周期で起動される複数のタスクによって演算し、前記駆動制御装置に送信する位置決め制御装置において、前記駆動制御装置ごとに設定された異なる周期の基準クロックを発生する基準クロック発生手段と、前記基準クロックの所定のタイミングで、前記基準クロックに対応する駆動制御装置に対する位置指令を演算し、送信バッファメモリに格納する位置指令演算手段と、前記基準クロックの所定のタイミングで、前記送信バッファメモリに格納された前記各駆動制御装置に対応する位置指令と、前記位置指令の更新状況を示すコマンドコードと、を含む送信データを作成する送信データ作成手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
この発明によれば、送信データにコマンドコードを含めるようにしたので、各駆動制御装置側において、位置決め制御装置による駆動制御装置に対する位置指令の更新周期の把握と、位置指令データの取得処理が容易になるという効果を有する。
【発明を実施するための最良の形態】
【００１０】
以下に添付図面を参照して、この発明にかかる位置決め制御装置、駆動制御装置および制御システム演算交信処理方法の好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
図１は、この発明が適用される制御システムの構成を模式的に示すブロック図である。この制御システムは、サーボモータ１０などの複数の被制御機器と、それぞれの被制御機器に接続される複数の駆動制御装置２０（２０ａ，２０ｂ，２０ｃ，・・・）と、駆動制御装置２０と交信ケーブル３０を介して接続され、駆動制御装置２０ごとの位置制御用演算処理を行う位置決め制御装置４０と、を備える。
【００１２】
駆動制御装置２０は、マイクロプロセッサ（図中では、ＭＰＵと表記）２１と、ＲＯＭRead Only Memory）２２と、メモリ２３と、同期型通信部２４（２４ａ，２４ｂ，２４ｃ）と、モータインタフェース（図中、モータＩ／Ｆと表記）２５と、を備える。
【００１３】
マイクロプロセッサ２１は、位置決め制御装置４０からのサーボモータ１０などの被制御機器の可動部の位置指令を受け取り、被制御装置の駆動制御の演算処理を所定のプログラムに基づいて行う。ＲＯＭ２２は、リアルタイムＯＳや駆動制御に関する演算処理を行うアプリケーションプログラムが格納される。メモリ２３は、駆動制御に関する設定が格納される。同期型通信部２４は、交信ケーブル３０によって接続される位置決め制御装置４０との間で同期型通信を実現する。モータインタフェース２５は、サーボモータ１０と接続され、マイクロプロセッサ２１で演算処理された値に基づいてサーボモータ１０を駆動する。
【００１４】
位置決め制御装置４０は、メモリ４１と、基準クロック発生部（図中、ＣＬＫと表記）４２と、マイクロプロセッサ（図中では、ＭＰＵと表記）４３と、ＲＯＭ４４と、同期型通信部４５と、を備える。
【００１５】
メモリ４１は、各駆動制御装置２０に対する位置指令の演算周期、および各駆動制御装置２０との交信周期の設定内容である周期パラメータを格納する。メモリ４１に予め格納される周期パラメータは、各駆動制御装置２０の位置指令の演算周期、および同期型通信部４５による各駆動制御装置２０との交信周期を、駆動制御装置２０毎の要求性能に応じて設定したものである。具体的には、最も高速性が要求される駆動制御装置２０の周期（演算周期と交信周期）は最短周期として設定され、それ以外の駆動制御装置２０の周期は最短周期を基準として、最短周期×２n（ｎは１以上の整数）として設定される。なお、このメモリ４１は、特許請求の範囲における周期パラメータ格納手段に対応している。
【００１６】
図２は、周期パラメータの一例を示す図である。この周期パラメータは、処理の実行対象となる駆動制御装置を特定する「駆動制御装置名」と、この駆動制御装置の周期を、基準となる最短周期の何倍とするかを示す「最短周期×ｎ」と、の項目を含む。この図２では、行２１１に示されるように駆動制御装置２０ａの演算周期と交信周期は最短周期（１倍）に設定され、行２１２，２１３に示されるように駆動制御装置２０ｂ，２０ｃの演算周期と交信周期は最短周期×２（２倍）に設定されている。
【００１７】
基準クロック発生部４２は、メモリ４１に格納される周期パラメータに設定される周期の基準クロックを発生し、マイクロプロセッサ４３と同期型通信部４５に対して出力する。図２に示される例では、位置指令の演算周期の基準クロックは、駆動制御装置２０に対する場合には基準となる最短周期の１倍（×１）の基準クロックであり、駆動制御装置２０ｂ，２０ｃに対する場合には基準となる最短周期の２倍（×２）の基準クロックである。図３は、図２の周期を有する位置指令の演算周期の基準クロックの一例を示す図である。また、交信周期の基準クロックは、駆動制御装置２０ａとの交信の場合には基準となる最短周期の１倍（×１）の基準クロックであり、駆動制御装置２０ｂ，２０ｃとの交信の場合には、基準となる最短周期の２倍（×２）の基準クロックである。図４は、図２の周期を有する駆動制御装置との交信周期の基準クロックの一例を示す図である。
【００１８】
マイクロプロセッサ４３は、基準クロック発生部４２からの基準クロックから、各駆動制御装置２０対する位置指令の演算処理のタイミング（割り込みタイミング）を検知すると、検知した駆動制御装置２０に対する位置指令を、所定のプログラムに基づいて演算処理して作成する。図３の場合には、最短周期用基準クロックの立下り位置の割り込みタイミングｉ１で駆動制御装置２０ａの位置指令の演算処理を開始し、最短周期×２用基準クロックの立下り位置の割り込みタイミングｉ２で駆動制御装置２０ｂ，２０ｃの位置指令の演算処理を開始する。このマイクロプロセッサ４３は、特許請求の範囲における位置指令演算手段に対応している。
【００１９】
ＲＯＭ４４は、リアルタイムＯＳや位置指令の演算処理を実行するアプリケーションプログラムが格納される。ここで、リアルタイムＯＳとは、処理をリアルタイムに実行することを重視し、そのための機能を実装したＯＳであり、たとえばＶｘＷｏｒｋｓ（登録商標）やμＩＴＲＯＮに準拠して作成されたＯＳなどの市販の製品を例示することができる。このリアルタイムＯＳを使用すれば、割り込み入力毎にタスク優先度を設定し、優先度に応じた処理を実行することができる。
【００２０】
同期型通信部４５は、交信ケーブル３０を介して接続される駆動制御装置２０との間で同期型通信を実現する機能を有する。図５は、位置決め制御装置と駆動制御装置の同期型通信部の機能構成を模式的に示すブロック図である。この図に示されるように、位置決め制御装置４０の同期型通信部４５は、送信バッファメモリ１０１と、送信データ作成部１０３と、送信処理部１０４と、を有する。
【００２１】
送信バッファメモリ１０１は、マイクロプロセッサ４３によって作成された各駆動制御装置２０用の位置指令を格納する。この送信バッファメモリ１０１内は、各駆動制御装置２０毎に位置指令を格納するエリアが指令バッファメモリ１０２（１０２ａ，１０２ｂ，１０２ｃ，・・・）として設定されている。たとえば、この図５の例では、駆動制御装置２０ａ〜２０ｃのそれぞれの指令位置を格納する指令バッファメモリ１０２ａ〜１０２ｃが設定されている。なお、この位置決め制御装置４０の同期型通信部４５の各指令バッファメモリ１０２ａ〜１０２ｃに対応して、各駆動制御装置２０ａ〜２０ｃの同期型通信部２４ａ〜２４ｃにも受信バッファメモリ１１１が設けられている。
【００２２】
送信データ作成部１０３は、基準クロック発生部４２からの基準クロックから、各駆動制御装置２０との交信処理のタイミングを検知すると、駆動制御装置２０に送信する送信データを作成する。
【００２３】
図６は、送信データ作成部によって作成される送信データの構造を模式的に示す図である。この送信データの構造は、図５に示される位置決め制御装置４０の同期型通信部４５の送信バッファメモリ１０１の内容を、各駆動制御装置２０の同期型通信部２４の受信バッファメモリ１１１に送信する際のデータ構造であり、スタートコード２０１、コマンドコード２０２、アドレスコード２０３、データコード２０４、チェックコード２０５、およびエンドコード２０６を有する。
【００２４】
ここで、スタートコード２０１は、送信データの始まりであることを示すものであり、コマンドコード２０２は、送信データの制御情報を示すものである。また、アドレスコード２０３は同期型通信に接続される位置決め制御装置４０または駆動制御装置２０のアドレスを示すものであり、データコード２０４は、送信するデータそのもので、位置決め制御装置４０の同期型通信部４５の送信バッファメモリ１０１に格納される内容である。さらに、チェックコード２０５は、駆動制御装置側の同期型通信部２４でこの送信データを受信した際に、データが正常か異常かを判定するためのものであり、エンドコード２０６は、送信データの終わりを示すものである。
【００２５】
図７は、図６のデータコードの詳細を示す図である。この図に示されるように、データコード２０４には、送信バッファメモリ１０１内の各駆動制御装置用の指令バッファメモリ１０２の内容（位置指令）が順に格納されたものである。
【００２６】
図８は、図６のコマンドコードの詳細を示す図である。この例では、コマンドコード２０２は１６ｂｉｔで構成され、送信データの制御情報として、メモリ４１に格納される各駆動制御装置２０の交信周期についての周期パラメータに基づいて、各駆動制御装置２０に割り付けられているｂｉｔ位置に「０」か「１」が格納される。たとえば、図４に示される例では、最短周期用基準クロックが立下り状態になるタイミング（以下、コマンドコード格納タイミングという）ｉ１では、コマンドコード２０２の駆動制御装置２０ａに対応するｂｉｔ１には「１」を格納する。また、最短周期×２用基準クロックのコマンドコード格納タイミングｉ２では、コマンドコードの駆動制御装置２０ｂ，２０ｃに対応するｂｉｔ２，３に「１」を格納する。しかし、最短周期基準クロックのコマンドコード格納タイミングｉ１であっても、最短周期×２用基準クロックでコマンドコード格納タイミングとなっていない部分（図中、ｉ１のみの部分）では、駆動制御装置２０ａに対応するｂｉｔ１には「１」が格納されるが、駆動制御装置２０ｂ，２０ｃに対応するｂｉｔ２とｂｉｔ３にはそれぞれ「０」が格納される。
【００２７】
つまり、前回の送信データのデータコード２０４に格納される内容と異なるデータ（指令位置）が格納される場合には、コマンドコード２０２のその駆動制御装置２０に対応するｂｉｔ位置には「１」が格納され、前回の送信データのデータコード２０４に格納される内容と同じデータ（指令位置）が格納される場合には、コマンドコードの該当するｂｉｔ位置には「０」が格納される。これによって、同一の駆動制御装置２０に対応するｂｉｔ位置のコマンドコードには周期的に「１」が出現する。この周期は、図２の各駆動制御装置２０に対して設定された周期と同じである。この例で、駆動制御装置２０ａでは、最短周期用基準クロックでのコマンドコード格納タイミングごとに、すなわち毎回「１」が出現する。一方、駆動制御装置２０ｂ，２０ｃは、最短周期用基準クロックでコマンドコード格納タイミングの発生の１回おきごとに「１」が出現する。そして、受信側の最短周期の２n倍の交信周期を有する駆動制御装置２０では、この周期を把握することで、受信バッファメモリ１１１への指令位置の書込むタイミングを計っている。
【００２８】
送信処理部１０４は、基準クロック発生部４２からの、最短周期の交信周期用の基準クロックが所定のタイミングとなるごとに、送信データ作成部１０３で作成された送信データを、交信ケーブル３０を介して駆動制御装置２０に対して送信する。
【００２９】
ここで、このような構成を有する制御システムにおける動作について説明する。以下では、図２に示されるように、駆動制御装置２０ａの演算周期と交信周期は最短周期（１倍）に設定され、駆動制御装置２０ｂ，２０ｃの演算周期と交信周期は最短周期×２（２倍）に設定されているものとする。その結果、各駆動制御装置２０ａ〜２０ｃに対する位置指令の演算周期は図３に示されるような基準クロックとなり、各駆動制御装置２０ａ〜２０ｃとの交信周期は図４に示されるような基準クロックとなる。
【００３０】
まず、位置決め制御装置４０の基準クロック発生部４２から、最短周期用基準クロックと最短周期×２用基準クロックが出力され、マイクロプロセッサ４３に入力される。マイクロプロセッサ４３では、これらの基準クロックが立下りとなった割り込みタイミングを検出すると、リアルタイムＯＳの位置決め制御のタスク実行処理を行う。
【００３１】
図３において、駆動制御装置２０ａの最短周期用基準クロックでは、立下り位置ｉ１が、最短周期用割り込み出力タイミングを示している。また、駆動制御装置２０ｂ，２０ｃの最短周期×２用基準クロックでは、立下り位置ｉ２が、最短周期×２用割り込み出力タイミングを示している。そして、これらのｉ１，ｉ２のタイミングで、マイクロプロセッサ４３は、それぞれの駆動制御装置２０ａ〜２０ｃに対する位置指令の演算処理を実行する。
【００３２】
割り込み入力を受けたマイクロプロセッサ４３は、割り込み入力毎にタスク優先度を設定し、優先度に応じた処理を実行する。この実施の形態では、駆動制御装置２０ａを最短周期とし、駆動制御装置２０ｂ，２０ｃを最短周期×２としているため、駆動制御装置２０ａ用の演算処理が１番目の優先度、駆動制御装置２０ｂ，２０ｃ用の演算処理が２番目の優先度となる。そのため、位置決め制御装置４０では、駆動制御装置２０ａ用の演算処理を最初に実行し、続いて、駆動制御装置２０ｂ，２０ｃ用の演算処理が実行される。この駆動制御装置２０ｂ，２０ｃの演算処理実行中に最短周期用の割り込みが入力されると、駆動制御装置２０ａ用の演算処理を優先的に実行され、その完了を待って、中断されていた駆動制御装置２０ｂ，２０ｃ用の演算処理が実行され、完了する。
【００３３】
それぞれの駆動制御装置２０ａ〜２０ｃ用の演算処理実行完了で位置指令が作成され、その内容は同期型通信部４５の送信バッファメモリ１０１の各駆動制御装置２０ａ〜２０ｃに対応付けられた指令バッファメモリ１０２ａ〜１０２ｃに格納される。
【００３４】
ついで、位置決め制御装置４０の基準クロック発生部４２から、最短周期用基準クロックと最短周期×２用基準クロックが出力され、同期型通信部４５に入力される。同期型通信部４５では、これらの基準クロックが立下りとなったコマンドコード格納タイミングを検出すると、コマンドコード２０２の格納処理が行われる。
【００３５】
図４において、駆動制御装置２０ａの最短周期用基準クロックでは、立下り位置ｉ１が、最短周期駆動制御装置用コマンドコード格納タイミングを示している。また、駆動制御装置２０ｂ，２０ｃの最短周期×２用基準クロックでは、立下り位置ｉ２が、最短周期×２駆動制御装置用コマンドコード格納タイミングを示している。そして、これらのｉ１，ｉ２のタイミングで、同期型通信部４５は、それぞれの駆動制御装置２０ａ〜２０ｃに対する位置指令の更新の有無を含むコマンドコード格納処理を実行する。
【００３６】
コマンドコード２０２のｂｉｔ位置に「１」が格納されるタイミングは、そのｂｉｔ位置に該当する駆動制御装置２０の交信周期に応じて実行され、同期型通信周期と駆動制御装置２０の交信周期が一致した場合に行われる。この例では、駆動制御装置２０ａとの交信周期は最短周期であり、駆動制御装置２０ｂ，２０ｃとの交信周期は最短周期×２である。そのため、コマンドコード格納タイミングを検出した同期型通信部４５は、コマンドコード格納タイミングｉ１，ｉ２が重なる場合には、駆動制御装置２０ａ〜２０ｃに対応するコマンドコード２０２のｂｉｔ１〜ｂｉｔ３に「１」を入力する。また、コマンドコード格納タイミングｉ１であるがコマンドコード格納タイミングｉ２でない場合には、駆動制御装置２０ａに対応するコマンドコード２０２のｂｉｔ１に「１」を入力し、駆動制御装置２０ｂ，２０ｃに対応するコマンドコードのｂｉｔ２，ｂｉｔ３に「０」を入力する。
【００３７】
なお、コマンドコード格納タイミングは、図３で説明した駆動制御装置２０に対する位置指令の演算処理用の割り込み出力タイミングと同一タイミングとなっており、駆動制御装置２０に対する位置指令の演算周期と、駆動制御装置２０との交信周期が一致していることを示している。
【００３８】
このように、同期型通信部４５の送信データ作成部１０３は、駆動制御装置２０毎のデータ更新の有無を示すｂｉｔ情報をコマンドコード２０２に反映した後、各駆動制御装置２０ａ〜２０ｃに対応する指令バッファメモリ１０２ａ〜１０２ｃの内容をデータコード２０４に格納し、さらに、スタートコード２０１、アドレスコード２０３、チェックコード２０５、エンドコード２０６を付加して、送信データを作成する。
【００３９】
ついで、同期型通信部４５の送信処理部１０４は、作成された送信データを、基準クロック発生部４２からの最短周期用基準クロックの所定のタイミングに合わせて、交信ケーブル３０を介して接続される駆動制御装置２０ａ〜２０ｃに送信する。
【００４０】
その後、駆動制御装置２０ａ〜２０ｃは、同期型通信部２４ａ〜２４ｃで送信データを受信すると、自装置に対応するコマンドコード２０２のｂｉｔ位置の内容を確認し、自装置の交信周期とコマンドコード２０２の内容（数値）に応じてデータコード２０４中の位置指令を受信バッファメモリ１１１ｂ〜１１１ｃに格納する。
【００４１】
つまり、交信周期が最短周期に設定されている駆動制御装置２０では、送信データを受信する毎に、位置指令を受信バッファメモリ１１１に格納する。一方、交信周期が最短周期×ｎに設定されている駆動制御装置２０では、対応するコマンドコード２０２が「１」の送信データを受けた後、つぎに「１」の送信データを受ける直前の「０」の送信データの位置指令を受信バッファメモリ１１１に格納する。なお、同期型通信部２４では、自装置に対する交信周期を把握しているので、その受信した送信データのコマンドコード２０２の「１」と「０」の個数をカウントすることによって、「１」の直前の「０」を認識することができる。そして、駆動制御装置２０ａ〜２０ｃは、受信バッファメモリ１１１ａ〜１１１ｃに格納された位置指令を用いて、演算処理プログラムを実行し、サーボモータ１０などの被制御機器に対して指示を出す。
【００４２】
制御システムによる演算交信処理方法について、データの流れの点からさらに具体例を挙げて説明する。図９は、位置決め制御装置から各駆動制御装置への位置指令データの流れを示す図である。ここでは、上から順に、位置決め制御装置４０の基準クロック発生部４２、同じく同期型通信部４５の送信バッファメモリ、送信データ内容、各駆動制御装置２０ａ〜２０ｃの同期型通信部の受信バッファメモリでの経時変化の様子を模式的に示している。
【００４３】
位置決め制御装置４０の基準クロック発生部４２では、マイクロプロセッサ４３と同期型通信部４５に対して所定の周期を有する基準クロックを出力している。上述したように、演算周期用の基準クロックと交信周期用の基準クロックとはともに同じ周期を有する波形で構成され、その周期は、図２〜図４に示されるものである。つまり、最短周期用基準クロックは、演算周期用と交信周期用ともに駆動制御装置２０ａに対するものであり、最短周期×２用基準クロックは、演算周期用交信周期用ともに駆動制御装置２０ｂ，２０ｃに対するものである。
【００４４】
まず、基準クロック発生部４２からマイクロプロセッサ４３に駆動制御装置２０ａに対する演算周期用の最短周期用基準クロックと、駆動制御装置２０ｂ，２０ｃに対する最短周期×２用基準クロックが入力される。なお、時刻ｔ０において、位置決め制御装置４０の送信バッファメモリ１０１の駆動制御装置２０ａ〜２０ｃに対応する指令バッファメモリには既にそれぞれ位置指令Ａ０，Ｂ０，Ｃ０が格納されているものとする。
【００４５】
時刻ｔ０になると、最短周期用基準クロックと最短周期×２用基準クロックはともに立ち下がり状態となるので、駆動制御装置２０ａに対する位置指令演算用の割り込みタイミングｉ１と、駆動制御装置２０ｂ，２０ｃに対する位置指令演算用の割り込みタイミングｉ２が発生する。
【００４６】
これによって、マイクロプロセッサ４３は、優先度の高い方の（演算周期の短い）駆動制御装置２０ａから順に位置指令の演算処理を行って、同期型通信部４５の送信バッファメモリ１０１内の各駆動制御装置２０ａ〜２０ｃに対応した指令バッファメモリ１０２ａ〜１０２ｃに格納する。具体的には、演算された位置指令Ａ１，Ｂ１，Ｃ１が、同期型通信部４５の送信バッファメモリ１０１内のそれぞれ対応する指令バッファメモリ１０２ａ〜１０２ｃに格納される。
【００４７】
ついで、時刻ｔ１では、同期型通信部４５の送信データ作成部１０３は、基準クロック発生部４２からの基準クロックのうち、最短周期用基準クロックが立下がり状態となり、最短周期×２用基準クロックは立下り状態ではないので、駆動制御装置２０ａの位置指令を送信バッファメモリ１０１に格納された値（Ａ１）に更新して送信データに格納し、駆動制御装置２０ｂ，２０ｃの位置指令は前回の送信データに格納したものと同じ値（Ｂ０，Ｃ０）を送信データに格納する。
【００４８】
つまり、送信データ作成部１０３は、送信データのコマンドコードの駆動制御装置２０ａに対応するｂｉｔ１には「１」を入力し、コマンドコードの駆動制御装置２０ｂ，２０ｃにそれぞれ対応するｂｉｔ２とｂｉｔ３には「０」を入力する。この様子が、図中コマンドコード２０２−１に示されている。また、送信データ作成部１０３は、このコマンドコード２０２−１に対応して、駆動制御装置２０ａに対しては位置指令Ａ１を格納し、駆動制御装置２０ｂ，２０ｃに対しては前回の送信データに格納された位置指令Ｂ０，Ｃ０を格納したデータコード２０４−１を作成して、送信データを作成する。作成された送信データは、交信ケーブル３０を介して各駆動制御装置２０ａ〜２０ｃに送信される。
【００４９】
その後、各駆動制御装置２０ａ〜２０ｃの同期型通信部２４ａ〜２４ｃは、たとえば時刻ｔ２で、コマンドコード２０２−１とデータコード２０４−１を含む送信データを受信する。つまり、交信周期が最短周期である駆動制御装置２０ａ（コマンドコードが常に「１」の駆動制御装置）では、送信データを受信すると、そのデータコード２０４−１の位置指令Ａ１を受信バッファメモリ１１１ａに格納する。
【００５０】
一方、交信周期が最短周期でない駆動制御装置２０ｂ，２０ｃ（コマンドコードに「１」が所定の周期で現れる駆動制御装置）では、コマンドコードに「１」が現れた後につぎに「１」が現れる直前の「０」が出現した場合に、自装置に対応するデータコードの位置指令を受信バッファメモリに格納するが、この場合には、受信バッファメモリ１１１ｂ，１１１ｃに格納せずに保持する。なお、説明はしていないが、前回受け取ったデータコード中の位置指令もＢ０，Ｃ０であるので、この場合にはその値を保持する形となる。
【００５１】
つぎに、時刻ｔ１では、最短周期用基準クロックは立下り状態であるが、最短周期×２用基準クロックは立下り状態ではないので、位置決め制御装置４０のマイクロプロセッサ４３は、駆動制御装置２０ａに対してのみ位置指令の演算処理を行い、その結果である位置指令Ａ２を送信バッファメモリ１０１に格納する。
【００５２】
ついで、時刻ｔ２では、最短周期用基準クロックと最短周期×２用基準クロックはともに立下り状態であるので、位置決め制御装置４０の同期型通信部４５の送信データ作成部１０３は、駆動制御装置２０ａ〜２０ｃのすべてについて更新されたデータを格納して送信する処理を行う。すなわち、コマンドコード２０２−２に示されるようにそれぞれの駆動制御装置２０ａ〜２０ｃに対応するｂｉｔ位置には「１」を格納し、データコード２０４−２に示されるようにそれぞれの駆動制御装置２０ａ〜２０ｃの位置指令Ａ２，Ｂ１，Ｃ１を格納して、送信データを作成する。作成された送信データは、交信ケーブル３０を介して各駆動制御装置２０ａ〜２０ｃに送信される。
【００５３】
その後、時刻ｔ３で、各駆動制御装置２０ａ〜２０ｃの同期型通信部２４ａ〜２４ｃは、コマンドコード２０２−２とデータコード２０４−２を含む送信データを受信する。ここで、交信周期が最短周期である駆動制御装置２０ａ（コマンドコードが常に「１」の駆動制御装置）では、送信データを受信すると、そのデータコード２０４−２の位置指令Ａ２を受信バッファメモリ１１１ａに格納する。
【００５４】
一方、交信周期が最短周期でない駆動制御装置２０ｂ，２０ｃ（コマンドコードに「１」が所定の周期で現れる駆動制御装置）では、コマンドコードに「１」が現れた後につぎに「１」が現れる直前の「０」が出現した場合に、自装置に対応するデータコードの位置指令を受信バッファメモリに格納するが、今回「１」が現れているので、前回受信バッファメモリ１１１ｂ，１１１ｃに格納せずに保持した位置指令Ｂ０，Ｃ０を、それぞれ受信バッファメモリ１１１ｂ，１１１ｃに格納する。なお、今回のデータコード２０４−２の値は受信バッファメモリ１１１ｂ，１１１ｃに格納せずに保持する。
【００５５】
以上のような処理が、作成される繰り返し行われることによって、時刻ｔ４で、位置指令Ｂ１，Ｃ１が、それぞれ駆動制御装置２０ｂ，２０ｃの受信バッファメモリ１１１ｂ，１１１ｃに格納される。
【００５６】
駆動制御装置２０ａ〜２０ｃでは、位置指令が受信バッファメモリ１１１ａ〜１１１ｃに格納された後、それぞれの受信バッファメモリ１１１ａ〜１１１ｃに格納された同期関係にある位置指令に基づいてそれぞれのサーボモータなどの制御対象に対する処理を行う。
【００５７】
つぎに、位置決め制御装置４０に接続された各駆動制御装置２０ａ〜２０ｃがお互いの指令データの更新周期を把握することによる、位相同期制御の処理について説明する。図９において、位相同期すべき各駆動制御装置２０ａ〜２０ｃの位置司令は、位置指令Ａ０，Ｂ０，Ｃ０であり、Ａ２，Ｂ１，Ｃ１でああり、Ａ４，Ｂ２，Ｃ２であり、Ａ６，Ｂ３，Ｃ３である。しかし、位置指令のデータコード２０４への格納タイミングや、駆動制御装置２０ａ〜２０ｃでの位置指令の更新周期が異なるために、各駆動制御装置２０ａ〜２０ｃの受信バッファメモリ１１１ａ〜１１１ｃへの格納タイミングとしては、Ａ２、Ｂ０、Ｃ０であり、Ａ４、Ｂ１、Ｃ１となり、ずれが生じている。
【００５８】
このように受信バッファメモリ１１１ａ〜１１１ｃに格納される位置指令で同期が取れない場合の位相同期制御を実現するためには、二つの方法がある。第１の方法は、タイミングの遅れているものに合わせて、内部処理のタイミングを遅らせるものである。図９の例でいうと、位置指令の更新周期が最短周期である駆動制御装置２０ａの位置指令について内部処理に反映するタイミングを遅らせて、駆動制御装置２０ｂ，２０ｃに合わせる方法である。各駆動制御装置２０ａ〜２０ｃの受信バッファメモリ１１１ａ〜１１１ｃに格納された状態では、位相同期すべき位置指令Ａ０と、位置指令Ｂ０，Ｃ０との間には、最短周期×２の時間分ずれているので、位置指令Ａ０のタイミングを最短周期×２だけ遅らせればよい。
【００５９】
また、第２の方法は、遅れているタイミングのものを、それよりもタイミングの早いものに合わせるようにするものであり、受信バッファメモリに格納された、遅れている駆動制御装置２０の位置指令（座標位置）を、位相同期した場合の位置指令（座標位置）に近づけるように遅れ補正を実施し、この遅れ補正を実施した位置指令をつぎの位置指令とみなすものである。
【００６０】
図９の例で説明すると、何も補正を行わない場合には、時刻ｔ５では、駆動制御装置２０ａは位置指令Ａ４を実行するが、駆動制御装置２０ｂ，２０ｃは位置指令Ｂ１，Ｃ１を実行する。しかし、実際には位置指令Ａ４に同期すべき位置指令は、位置指令Ｂ２，Ｃ２である。そこで、位置指令Ｂ１，Ｃ１に対して遅れ補正を実施する。この図に示されるように、位置指令Ａ４と、これに同期すべき位置指令Ｂ２，Ｃ２とのずれ、すなわちこれらの間の指令更新周期のずれは、最短周期×２である。そのため、たとえば、駆動制御装置２０ｂについての遅れ補正処理は、次式（１）に示されるように、指令更新周期間の位置指令差分（Ｂ1−Ｂ0）を現在の位置指令（Ｂ1）に加算することで実現できる。
【００６１】
Ｂ1’＝Ｂ1＋（Ｂ1−Ｂ0）      ・・・（１）
≒Ｂ2
【００６２】
ここで、Ｂ1’は駆動制御装置２０ｂの遅れ補正後の位置指令を示している。この遅れ補正によって、遅れ補正後の位置指令Ｂ1’は、補正前のＢ1に比して、位置指令Ｂ2に近い値となる。なお、駆動制御装置２０ｃについても（１）式と同様の遅れ補正によって、位置指令を補正することができる。
【００６３】
これら２つの方法は、位置決め制御装置４０と駆動制御装置２０が使用される環境に応じて、使い分ければよい。たとえば、最短周期で演算処理を行う駆動制御装置２０に対する位置指令分解能を向上させるのが目的である場合、駆動制御の起動処理遅れに対する影響が軽微であれば、第１の方法である最短周期で演算処理を行う駆動制御装置の位置指令を、内部処理に反映するタイミングを遅らせて、位相同期制御を実現すればよい。
【００６４】
また、最短周期で演算処理を行う駆動制御装置２０以外の駆動制御装置２０の動作が、一方向へ回転する搬送軸などの場合で、遅れ補正処理を実施しても速度変化がないような場合には、第２の方法によって、最長周期の演算処理を行う駆動制御装置への遅れ補正処理を実施して位相同期制御を実現する方が、第１の方法で位相同期制御を行う場合に比して適している。
【００６５】
以上の同期が取れない場合の位相同期制御の説明では、複数の駆動制御装置２０への異なる演算周期が２つの場合を例に挙げていたが、もちろん、複数の駆動制御装置２０への異なる演算周期が３種類以上となった場合には、最短周期または最長周期に合わせる方法だけではなく、中心または任意の演算周期に合わせて、上記の第１と第２の方法を組み合わせた位相同期制御も可能である。
【００６６】
この実施の形態によれば、同期型通信を介して位置決め制御装置４０と複数の駆動制御装置２０とが分割・分散された制御システムであっても、複数の駆動制御装置２０ごとの位置制御用の演算処理を異なる演算処理周期で実行し、そして複数の駆動制御装置２０と定期的に行う交信処理も演算周期と同一の交信周期で実行しながら、高速性が要求される駆動制御装置用の応答性を早くし、それ以外の駆動制御装置用の応答性を低くすることができる。その結果、この制御システムを使用した産業機械などの高速性が要求される箇所の性能を向上させつつ、複数の駆動制御装置間において位相同期制御を実現できるため、制御システム全体の性能を向上させることができるという効果を有する。
【産業上の利用可能性】
【００６７】
以上のように、この発明にかかる制御システムは、位置決め制御装置と複数の駆動制御装置との間で、異なる周期で演算や交信処理を行う場合に有用である。
【図面の簡単な説明】
【００６８】
【図１】この発明による制御システムの構成を模式的に示すブロック図である。
【図２】周期パラメータの一例を示す図である。
【図３】図２の周期を有する位置指令の演算周期の基準クロックの一例を示す図である。
【図４】図２の周期を有する駆動制御装置との交信周期の基準クロックの一例を示す図である。
【図５】位置決め制御装置と駆動制御装置の同期型通信部の機能構成を模式的に示すブロック図である。
【図６】送信データ作成部によって作成される送信データの構造を模式的に示す図である。
【図７】図６のデータコードの詳細を示す図である。
【図８】図６のコマンドコードの詳細を示す図である。
【図９】位置決め制御装置から各駆動制御装置への位置指令データの流れを示す図である。
【符号の説明】
【００６９】
１０  サーボモータ
２０，２０ａ〜２０ｃ  駆動制御装置
２１，４３  マイクロプロセッサ（ＭＰＵ）
２２，４４  ＲＯＭ
２３，４１  メモリ
２４，２４ａ〜２４ｃ，４５  同期型通信部
２５  モータインタフェース部
３０  交信ケーブル
４０  位置決め制御装置
４２  基準クロック発生部
１０１  送信バッファメモリ
１０２ａ〜１０２ｃ  指令バッファメモリ
１０３  送信データ作成部
１０４  送信処理部
１１１ａ〜１１１ｃ  受信バッファメモリ
【図１】
2008289259.tif 000003
【図２】
2008289259.tif 000004
【図３】
2008289259.tif 000005
【図４】
2008289259.tif 000006
【図５】
2008289259.tif 000007
【図６】
2008289259.tif 000008
【図７】
2008289259.tif 000009
【図８】
2008289259.tif 000010
【図９】
2008289259.tif 000011