(57)【特許請求の範囲】
【請求項１】
ユーザプログラムに基づく複数台のモータコントローラへのコントローラ指令と共通指令を含む電文を送出する上位の制御装置，ならびに
前記上位の制御装置から送信された電文から共通指令を除き，かつ該電文中の一定順序で並べられたコントローラ指令を各モータコントローラごとの指令に分け，さらに各モータコントローラ向けの電文を作成して接続された各モータコントローラに送出するとともに，各モータコントローラからのレスポンスを含む電文を受信し，接続されたすべてのモータコントローラからのレスポンスを順番に並べて，かつモータコントローラが接続されているかどうかを示すビットを含む共通ステータスを付加して１つの電文として前記上位の制御装置に送出する制御手段を備えるハブ装置，
を備えるモータコントローラの制御システム。
【請求項２】
前記上位の制御装置が，
ユーザプログラムに基づく複数台のモータコントローラへの動作指令を出力するプログラム制御装置，および
前記プログラム制御装置から出力される動作指令を，前記ハブ装置に適したコントローラ指令に変換し，かつ前記ハブ装置に接続されたモータコントローラの台数分のコントローラ指令を一定順序に並べて一括して該当するハブ装置に出力するゲートウェイ装置を備える，
請求項１に記載のモータコントローラの制御システム。
【請求項３】
前記ゲートウェイ装置に複数台のハブ装置が接続され，前記ゲートウェイ装置は，前記プログラム制御装置から送出されるコントロール指令を，複数台のハブ装置のそれぞれに応じて分配するものである，請求項２に記載のモータコントローラの制御システム。
【請求項４】
前記ゲートウェイ装置から前記ハブ装置に送信される電文中のコントローラ指令は固定長のものであり，前記ハブ装置は固定長ごとに切断して各モータコントローラへの指令電文を作成する，請求項３に記載のモータコントローラの制御システム。
【請求項５】
前記ゲートウェイ装置からモータコントローラまでハブ装置を経て電源ラインが通っている，請求項２または３に記載のモータコントローラの制御システム。
【請求項６】
前記ゲートウェイ装置からモータコントローラまでハブ装置を経て停止信号ラインが通っている，請求項３に記載のモータコントローラの制御システム。
【請求項７】
コントローラ指令およびレスポンスを伝送する信号ラインならびに電源ラインが１本の複合ケーブルに含まれている，請求項１から４のいずれか一項に記載のモータコントローラの制御システム。
【請求項８】
コントローラ指令およびレスポンスを伝送する信号ライン，電源ライン，および停止信号ラインが１本の複合ケーブルに含まれている，請求項１から４のいずれか一項に記載のモータコントローラの制御システム。
【請求項９】
モータコントローラに設定可能な複数の動作モードがあり，上位の制御装置はモータコントローラの動作モードに応じたコントローラ指令を作成する，請求項１に記載のモータコントローラの制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はモータコントローラの制御システム，特に複数台のモータコントローラの制御に好適な制御システムに関する。ここでモータコントローラとは，モータによって動作するアクチュエータの該モータを直接的に制御する装置を指す。また，モータによって動作するアクチュエータとは，モータの回転軸に連結されたネジ軸（ボールネジを含む）等の伝達構成によって可動体を移動させるもの，モータの回転によって操作部を回転または旋回させるもの，リニアモータによって可動体を移動させるもの，その他のアクチュエータを含む。
【背景技術】
【０００２】
複数台のモータコントローラを制御する従来のシステムでは，複数台のモータコントローラを上位の制御装置に１本の通信線により接続している（バス型接続）。このシステム構成では，モドバス（Modbus）プロトコルを使用した場合，上位の制御装置とモータコントローラは１対１で通信を行うことになるため，上位の制御装置は複数台のモータコントローラと順番に通信しなければならない。モータコントローラの台数が増加すると，すべてのモータコントローラと通信を完了するまでに必要な時間が増大する。上位の制御装置からそれぞれのモータコントローラに別個に通信線を引くとすると（スター型接続），通信ライン数が増大する。他方，１本の通信線に複数台のモータコントローラを接続した場合には（バス型接続），複数台のモータコントローラを識別するために，各モータコントローラに個別にアドレス設定器が必要となる。
【０００３】
特許文献１には，ロボット装置内にシリアル伝送送受信手段を設け，ロボット装置内にある複数個のロータリーエンコーダの検出データを上位制御装置にシリアル伝送するシステムが記載されているが，これは複数のロータリーエンコーダからの検出データを単にまとめてシリアルに並べて伝送しているにすぎない。
【０００４】
複数台のモータコントローラによるモータの駆動と制御であれ，ロボット装置内の複数台のモータの駆動と制御であれ，駆動と制御の技術は，単なる検出データの収集とは異なる技術である。複数台のモータコントローラのそれぞれに別個の指令を迅速にかつ繰返し与えなければならず，また駆動電源の供給も必要である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−４４７５８号公報
【発明の概要】
【０００６】
この発明は，多数台のモータコントローラの制御に適した制御システムを提供することを目的とする。
【０００７】
この発明は，複数台または多数台のモータコントローラの制御と駆動のためのライン数を少なくすることができる制御システムを提供することを目的とする。
【０００８】
この発明はまた，上位の制御装置と複数台または多数台のモータコントローラとの間の通信時間（上位の制御装置から各モータコントローラへの指令の送受信と各モータコントローラから上位の制御装置へのレスポンス（応答）の送受信）を短縮化できる制御システムを提供することを目的とする。 
【０００９】
この発明はさらに，各モータコントローラにアドレス設定器を設ける必要のない制御システムを提供することを目的とする。 
【００１０】
この発明によるモータコントローラの制御システムは，ユーザプログラムに基づく複数台のモータコントローラへのコントローラ指令を一括して含む電文を送出する上位の制御装置，ならびに前記上位の制御装置から送信された電文中の一定順序で並べられたコントローラ指令を各モータコントローラごとの指令に分け，かつ各モータコントローラ向けの電文を作成して接続された各モータコントローラに送出するとともに，各モータコントローラからのレスポンスを含む電文を受信し，接続されたすべてのモータコントローラからのレスポンスを一括して１つの電文として前記上位の制御装置に送出する制御手段を備えるハブ装置を備えるものである。
【００１１】
この発明によると，複数台のモータコントローラをハブ装置に接続することが可能である。モータコントローラの台数よりもハブ装置の台数はかなり少ない。したがって，上位の制御装置からハブ装置まで配設する，モータコントローラの駆動と制御のためのライン（ケーブル）の数を大幅に減らすことができる。ハブ装置をモータコントローラ（アクチュエータ）に近接した場所に配置することにより上位の制御装置からハブ装置まで長い距離にわたってラインを配設してもライン数が少ないから配設作業が容易であり，かつラインを節約することができる。
【００１２】
また，複数台または多数台のモータコントローラがあっても，ハブ装置とこれに接続されたモータコントローラのそれぞれとの間の通信は常に１対１であるから，各コントローラとの間の通信に要する時間はほぼ１台相当分（モータコントローラの数に応じて電文が長くなることによって少し通信時間が長くなったり，編集処理等に要する時間が多少余分にかかることはあるが）にとどまり，通信時間の短縮化を図ることができる。
【００１３】
さらに，複数台のモータコントローラが接続されるハブのコネクタは決っているから，コネクタの番号等で複数台のモータコントローラを識別することが可能であり，モータコントローラにアドレス設定器を設ける必要はない。
【００１４】
上位の制御装置にはさまざまな実施態様があり得る。たとえば上位の制御装置をプログラマブル・ロジック・コントローラ（ＰＬＣ）で構成することもできるし，通常のコンピュータシステム（ＰＣなど）により実現することもできる。
【００１５】
好ましい実施態様では，前記上位の制御装置は，ユーザプログラムに基づく複数台のモータコントローラへの動作指令を出力するプログラム制御装置（ＰＬＣやＰＣ），および前記プログラム制御装置から出力される動作指令を，前記ハブ装置に適したコントローラ指令に変換し，かつ前記ハブ装置に接続されたモータコントローラの台数分のコントローラ指令を一定順序に並べて一括して該当するハブ装置に出力するゲートウェイ装置を備える。ゲートウェイ装置はプログラム制御装置からの電文のプロトコル変換を行う。また，ゲートウェイ装置に複数台のハブ装置が接続された場合には，ゲートウェイ装置は，前記プログラム制御装置から送出されるコントロール指令を，複数台のハブ装置のそれぞれに応じて分配する。
【００１６】
前記ゲートウェイ装置から前記ハブ装置に送信される電文中のコントローラ指令が固定長のものである場合には，前記ハブ装置は固定長ごとに切断して各モータコントローラへの指令電文を作成する。これにより，ハブ装置の処理が簡単となる。
【００１７】
好ましい一実施態様では，前記ゲートウェイ装置から一台または複数台のモータコントローラまでハブ装置を経て電源ラインが通っている。
【００１８】
他の実施態様では，前記ゲートウェイ装置から一台または複数台のモータコントローラまでハブ装置を経て停止信号ライン（非常停止信号ラインを含む）が通っている。
【００１９】
さらに好ましい他の実施態様ではコントローラ指令およびレスポンスを伝送する信号ラインならびに電源ラインが１本の複合ケーブルに含まれている。
【００２０】
さらに望ましくは，コントローラ指令およびレスポンスを伝送する信号ライン，電源ライン，および停止信号ラインが１本の複合ケーブルに含まれている。
【００２１】
このようにして，ゲートウェイ装置からハブまでの各種ラインまたはケーブルの敷設が容易となる。
【００２２】
好ましい実施態様では，モータコントローラに設定可能な複数の動作モードがある場合には，上位の制御装置はモータコントローラの動作モードに応じたコントローラ指令を作成する。モータコントローラのバラエティに富んだ制御が可能となる。
【図面の簡単な説明】
【００２３】
【図１】モータコントローラの制御システムの全体構成を示すブロック図である。
【図２】モータコントローラ（アクチュエータ）の構成を示すブロック図である。
【図３】ハブの構成を示すブロック図である。
【図４】ゲートウェイの構成を示すブロック図である。
【図５】接続情報を示す。
【図６】台形加減速パターンを示す。
【図７】各軸の動作モードを示す。
【図８】ＰＬＣから発行される指令を示し，(A) は直接数値指定モード，(B) は簡易直値モード，(C) はポジション番号モードの場合を示している。
【図９】ポジションNO.テーブルの例を示す。
【図１０】ゲートウェイから発行されるコントロール指令のフォーマットを示す。
【図１１】モータコントローラから発行されるレスポンスのフォーマットを示す。
【図１２】ゲートウェイの動作（処理手順）を示すフローチャートである。
【図１３】ハブの動作（処理手順）を示すフローチャートである。
【図１４】ハブの動作を電文の形態で示す。
【図１５】ハブの動作を電文の形態で示す。
【図１６】モータコントローラにおける制御ルーチンを示す。
【実施例】
【００２４】
図１はモータコントローラの制御システムの全体的構成例を示している。
【００２５】
この実施例では16台のコントローラ一体型アクチュエータ１が配置（接続）可能である。コントローラ一体型アクチュエータとは，アクチュエータのケース（ハウジング）内にモータコントローラが内蔵されているタイプのものである。アクチュエータとは別体になっているモータコントローラも接続可能である。アクチュエータはモータによって駆動され，直線運動，回転運動，旋回運動等を行う可動体を有する。アクチュエータ１に内蔵されているモータコントローラを符号10（図２参照）で示す。
【００２６】
モータコントローラ10には軸番号０〜15がユーザによって割り当てられている。軸番号１のモータコントローラ10（アクチュエータ１）は図示されていない。各モータコントローラ10は複合ケーブルのためのコネクタ11を有している。
【００２７】
４台のハブ装置（ハブユニット）30が設けられている。ハブ装置は一般的には複数のネットワーク機器をプロトコル変換することなく接続する集線装置と理解されているが，この実施例のハブ装置30は以下に述べるようにモータコントローラの制御システム特有のそれ以上の機能を持っている。ハブ装置を，以下，単にハブといい，場合によっては，または図面上はＨＵＢと表現する。４台のハブ30を相互に区別するために，便宜的に，０〜３の番号を付し，ＨＵＢ０，ＨＵＢ１，ＨＵＢ２，ＨＵＢ３と記載する。各ハブ30は４台のモータコントローラ10を接続するための４つの複合ケーブル用コネクタ31を有している。これらの（下流側）コネクタ31にも相互に区別するために便宜的に０〜３の番号を付しておく。
【００２８】
ハブＨＵＢ０の３つのコネクタ31（番号０，２，３）と３台のモータコントローラ10（軸番号０，２，３）のコネクタ11とは複合ケーブル90によりそれぞれ電気的に接続されている。ハブ30の番号１のコネクタ31にももちろんモータコントローラが接続可能であるが，この実施例では接続されていない。ハブＨＵＢ１の４つのコネクタ31（番号０，１，２，３）と４台のモータコントローラ10（軸番号４，５，６，７）のコネクタ11とは複合ケーブル90によりそれぞれ電気的に接続されている。ハブＨＵＢ２の４つのコネクタ（番号０，１，２，３）と４台のモータコントローラ10（軸番号８，９，10，11）のコネクタ11とは複合ケーブル90によりそれぞれ電気的に接続されている。ハブＨＵＢ３の４つのコネクタ（番号０，１，２，３）と４台のモータコントローラ10（軸番号12，13，14，15）のコネクタ11とは複合ケーブル90によりそれぞれ電気的に接続されている。
【００２９】
配電盤70内には，ＰＬＣ（プログラマブル・ロジック・コントローラ）71と，電源ユニット72と，ゲートウェイ装置（ゲートウェイユニット）50とが設けられている。ＰＬＣ71はロボット言語で書かれたユーザプログラムを保持し，内蔵のシステムプログラムにしたがってユーザプログラムを解釈し，各モータコントローラ（すべての，または必要なモータコントローラ）に対応する指令（コントローラ指令）を作成して出力する。コントローラ指令については後述する。
【００３０】
電源ユニット72は各アクチュエータ１に設けられたモータ（図２に符号８で示す）の駆動電源と，ゲートウェイ装置50，ハブ30，モータコントローラ10の電気，電子回路を動作させるための動作電源を発生し，それぞれ電源ライン73，74に出力する。
【００３１】
ゲートウェイ装置（ゲートウェイユニット）50を以下，単にゲートウェイまたはＧＷと略記する。一般にゲートウェイはプロトコルの異なるコンピュータネットワークをプロトコル変換を行って接続するためのネットワークノードと理解されているが，このモータコントローラの制御システムでは，後述するように，さらに特有の機能をもっている。
【００３２】
ゲートウェイ50はインターフェイス56を有し，フィールドバス（Fieldbus）プロトコルの通信ライン75によりＰＬＣ71と接続されている。電源ニット72からの電源ライン73，74はゲートウェイ50のコネクタ53，54に接続されている。ゲートウェイ50はさらに４つの（下流側）コネクタ51を有している。これらのコネクタ51に便宜的に０，１，２，３の番号を付しておく。
【００３３】
このモータコントローラの制御システムにおいて，配電盤70内のＰＬＣ71とゲートウェイ50を上位の制御装置と位置付けることができる。この場合はハブ30が中継装置と位置付けられる。またはＰＬＣ71のみを上位の制御装置と位置付けてもよい。この場合にはゲートウェイ50も一種の中継装置となる。ＰＬＣ71に代えて他のコンピュータシステム（パーソナルコンピュータなど）を用い，これを上位の制御装置としてもよい。ＰＬＣ71とゲートウェイ50を他のコンピュータシステムで置き換えることもできる。
【００３４】
４つのハブ30は上流側コネクタ32を有している。そしてゲートウェイ50の４つのコネクタ51（番号０，１，２，３）と４つのハブ（ＨＵＢ０〜ＨＵＢ３）のコネクタ32とが複合ケーブル80により接続されている。複合ケーブル80内には，通信ライン81，非常停止信号ライン82，モータ駆動電源ライン83および動作電源ライン84が含まれ，その両端には，コネクタ51，32にそれぞれ接続されるコネクタが設けられている。通信ライン81はこの実施例ではモドバス（Modbus）プロトコルのものが使用されている。複合ケーブルとは，最も典型的には，これらの４種類のラインが束になり，保護被覆で覆われ，両端にそれぞれコネクタが設けられているものをいう。もっとも，保護被覆で必ずしも覆われてなくてもよい。１つのコネクタに４種類のラインが接続されずに，２つ以上の物理的に分離したコネクタが用いられていてもよい。要するに，配線上１本のケーブルとして取扱い可能であればよい。
【００３５】
最も典型的には，配電盤70が１箇所に設けられ，各アクチュエータ１が作業現場に配置される。ハブ30はそれに接続されたアクチュエータ１の近くに置かれる。そして配電盤70とハブ30との間を複合ケーブル80で接続する。したがって，長い複合ケーブル80が用いられることがある。しかしながら，最大４台分のアクチュエータを駆動，制御するためのケーブル80（少なくとも通信ライン81）は１本ですむので，配線の作業が容易となる。ハブ30の存在により多数台のアクチュエータへの長い通信等のラインの数が少なくてすむ。複合ケーブル80のように，通信ラインと電源ラインとをまとめれば，配線作業は一層容易になる。
【００３６】
ハブ30とモータコントローラ10とを接続する複合ケーブル90も複合ケーブル80と同じ構成で，モドバスプロトコルの通信ライン91，非常停止信号ライン92，モータ駆動電源ライン93および動作電源ライン94を含み（図２，図３参照），その両端に，コネクタ31，11にそれぞれ接続されるコネクタが設けられている。
【００３７】
図１に示す配線構成において，特徴的なことは，電源ユニット72から出たモータ駆動電源ライン73がコネクタ53からゲートウェイ50内に入り，モータ駆動電源内部ライン63につながって４つに分岐し（図４参照），コネクタ51を経て複合ケーブル80内の電源ライン83に接続され，さらにコネクタ32からハブ30内に入り，モータ駆動電源内部ライン43に接続されて４つに分岐し（図３参照），コネクタ31から複合ケーブル90の電源ライン93につながり，コネクタ11を経て，モータコントローラ10内のモータ電源回路15（図２参照）まで伸びていることである。すなわち，モータ駆動電源ラインは，電源ユニット72からゲートウェイ50，ハブ30を経てモータコントローラ10まで連続的につながっているのである。
【００３８】
同様に，電源ユニット72から出た動作電源ライン74がコネクタ53からゲートウェイ50内に入り，内部ライン64につながって４つに分岐し（図４参照），コネクタ51を経て複合ケーブル80内の動作電源ライン84に接続され，さらにコネクタ32からハブ30内に入り，動作電源内部ライン44に接続されて４つに分岐し（図３参照），コネクタ31から複合ケーブル90の電源ライン94につながり，コネクタ11を経て，モータコントローラ10内の動作電源回路16（図２参照）まで伸びていることである。すなわち，電気，電子回路の動作電源ラインは，電源ユニット72からゲートウェイ50，ハブ30を経てモータコントローラ10まで連続的につながっているのである。
【００３９】
さらに同じように，ゲートウェイ50の非常停止接点（停止接点）（ボタン，スイッチ）68にコネクタ55により接続されたゲートウェイ50内の非常停止信号ライン（停止信号ライン）62はコネクタ51を経て複合ケーブル80内の非常停止信号ライン（停止信号ライン）82に接続され，さらにコネクタ32からハブ30内に入り，内部ライン42に接続されて４つに分岐し（図３参照），コネクタ31から複合ケーブル90の非常停止信号ライン（停止信号ライン）92につながり，コネクタ11を経て，モータコントローラ10内の送受信部25（図２参照）までつながっていることである。すなわち，非常停止信号ライン（停止信号ライン）は，ゲートウェイ50からハブ30を経てモータコントローラ10まで連続的につながっているのである。
【００４０】
次に図２を参照してモータコントローラ10の概略構成について説明する。
【００４１】
モータコントローラ10は制御部20とメモリ21を備えている。制御部20はたとえばＣＰＵにより構成され，ＣＰＵの動作プログラムはメモリ21にストアされている。メモリ21には，後述するポジションNO. （番号）テーブル等のモータ制御に必要なデータも格納されている。
【００４２】
後述するようにコントローラ指令はＰＬＣ71から出され，ゲートウェイ50，ハブ30を経て通信ライン91，コネクタ11から送受信部25に受信される。制御部20はコントローラ指令に基づいて，後述する動作モードに応じて，位置指令を生成しモータドライバ18に与える。モータドライバ18は位置制御部，速度制御部，弱め界磁補償部（ステッピングモータの場合），電流制御部等を含み，制御部20から与えられる位置指令に応じてモータ８を駆動し，可動体を所定位置（角度）まで移動させる。モータ８の回転量はエンコーダ９により検出され，位置，速度検出部19に入力する。位置，速度検出部19の検出位置，速度はモータドライバ18に与えられてモータ８のフィードバック制御に用いられるとともに，制御部20に与えられる。制御部20は位置，速度検出信号に基づいてモータ８（可動体）の現在位置，モータの正常，異常等を判断し，後述するステータス情報を生成する。制御部20は，コントローラ指令に対する応答として，ステータス情報を含むレスポンスを生成して，送受信部25から通信ライン91を経てハブ30に送出する。
【００４３】
モータコントローラ10には，制御部20が生成するステータス情報（ビット）に基づいて点灯制御されるモータコントローラ状態表示器26が備えられている。この表示器26は，たとえば２個の緑と赤のＬＥＤ（発光ダイオード）を含み，たとえば緑点灯でサーボON状態を，赤点灯で非常停止，エラー発生を，非点灯で電源未投入，サーボOFF を表示する。
【００４４】
モータ駆動電源ライン93を経て伝送されるモータ駆動電源はモータ電源回路15で所定電圧の安定化電源に変換され，モータドライバ18に供給される。動作電源ライン94を経て伝送される動作電源は動作電源回路16で所定電圧に安定化されて，送受信部25，制御部20，メモリ21，位置，速度検出部19，モータドライバ18に動作電源として供給される。動作電源が供給されていればＬＥＤ17が点灯する。
【００４５】
図３を参照してハブ30の構成について説明する。ハブ30はハブ制御部40を備えている。ハブ制御部40はＣＰＵ，メモリ等を含むコンピュータにより実現される。上位のゲートウェイ50からのシリアル通信の電文（メッセージ）は通信ライン81，コネクタ32を経て送受信部35で受信され制御部40に与えられる。制御部40はこのシリアル電文中に含まれる複数（最大４つのモータコントローラ分）のコントローラ指令を，ハブ30に接続された各モータコントローラ向けのものに分離し，送受信部45をそれぞれ経てコネクタ31から通信ライン91に送出する。また，ハブ30に接続された各モータコントローラ10から送信されてくるステータスビットを含むレスポンスは通信ライン91，コネクタ31を経て送受信部45で受信され，制御部40に与えられる。制御部40は接続されているすべてのモータコントローラ10からのこれらのレスポンスを一括して送受信部35からゲートウェイ50に送信する。これらの受信したコントローラ指令の分割と送信，受信したレスポンスの一括送信は一定周期（たとえば10ms〜20ms程度）で繰返し行なわれる。
【００４６】
ハブ30には，それに接続可能な複数の（４つの）モータコントローラ10にそれぞれ対応して４つのモータコントローラ状態表示器46が設けられている。これらの表示器46は先に述べたモータコントローラ10に備えられている表示器26と全く同じ構成であり，全く同じように点灯（非点灯）する。すなわち，制御部40はモータコントローラ10から受信したステータスビットに基づいて表示器46を制御する。このように，モータコントローラ10（アクチュエータ１）と全く同じ構成で全く同じに点灯（非点灯）する表示器46が，各モータコントローラ10に備えられているので，ユーザはモータコントローラ10の表示器26を個別に監視しなくても，ハブ30の表示器46を監視しておけば足りる。
【００４７】
ハブ30にはさらに，ハブ30とゲートウェイ50との間の通信状態の良否，エラー発生等を表示する表示器47（ＬＥＤなど）が設けられている。
【００４８】
ゲートウェイ50からの非常停止信号ライン（または，停止信号ライン）82，モータ駆動電源ライン83，動作電源ライン84はコネクタ32の非常停止信号端子（停止信号端子），モータ駆動電源端子，動作電源端子をそれぞれ経て非常停止信号内部ライン（停止信号内部ライン）42，モータ駆動電源内部ライン43，動作電源内部ライン44につながり，ハブ30内をスルーしてハブ30に接続可能なモータコントローラの数に分岐し，各コネクタ31の各対応する非常停止信号端子（停止信号端子），モータ駆動電源端子，動作電源端子をそれぞれ経て対応するモータコントローラ10につながっている。動作電源ライン44を経て伝送される動作電源は動作電源回路36で所定電圧に安定化されて，送受信部35，45，制御部40に動作電源として供給される。動作電源が供給されていればＬＥＤ37が点灯する。
【００４９】
図４を参照してゲートウェイ50の構成について説明する。ゲートウェイ50はゲートウェイ制御部60を備えている。ゲートウェイ制御部60はＣＰＵ，メモリ等を含むコンピュータにより実現される。上位のＰＬＣ71からのシリアル通信の電文（メッセージ）はインターフェイス56を経て制御部60に与えられる。制御部60はこのシリアル電文中に含まれる複数（最大16のモータコントローラ分）のコントローラ指令を，後述するようにハブ30に適したコントロール指令に変換し，かつゲートウェイ50に接続されたハブ向けのものに分離し，通信ラインのプロトコル変換を行い，送受信部65をそれぞれ経てコネクタ51から通信ライン81に送出する。また，ゲートウェイ50に接続された各ハブ30から送信されてくるステータスビットを含むレスポンスは通信ライン81，コネクタ51を経て送受信部51で受信され，制御部60に与えられる。制御部60は接続されているすべてのハブ30からのこれらのレスポンスをＰＬＣ71の受入可能なフォーマットに変換し，かつこれらを一括してインターフェイス56からＰＬＣ71に送信する。これらの受信したコントローラ指令の分割と送信，受信したレスポンスの一括送信は一定周期（たとえば20ms〜40ms程度）で繰返し行なわれる。
【００５０】
ゲートウェイ50にはコネクタ55を介して非常停止入力接点（ボタン，スイッチ）68が設けられている。この接点68からの非常停止入力信号は内部ライン62で分岐し，コネクタ51を経て各ハブ30に送られる。非常停止入力接点は非常停止に限らず，使い方によっては単なる停止入力接点であってもよい。
【００５１】
またゲートウェイ50にはモータ駆動電源遮断用の接点（ボタン，スイッチ）69がコネクタ52を介して設けられている。モータ駆動電源ライン73からコネクタ53により接続されるモータ駆動電源内部ライン63は４つ（接続されるハブの数）に分岐され，これらの接点69を経てコネクタ51からライン83に接続される。したがって，ゲートウェイ50において，モータ駆動電源をハブ30ごとに遮断することが可能である。動作電源ラインにはこのような遮断手段は設けられていない。
【００５２】
動作電源ライン74を経て入力する動作電源は内部ライン64により複数に分岐して各コネクタ51から動作電源ライン84に送出される。この動作電源は動作電源回路56で所定電圧に安定化されて，インターフェイス56，送受信部65，制御部60に動作電源として供給される。動作電源が供給されていればＬＥＤ57が点灯する。
【００５３】
図１を参照して説明したように，ゲートウェイ50の４つのコネクタ51（コネクタ番号０，１，２，３）には複合ケーブル80により４台のハブ（ＨＵＢ０，１，２，３）が接続されている。ハブＨＵＢ０のコネクタ31（コネクタ番号０，２，３）には軸番号０，２，３のモータコントローラ10が，ハブＨＵＢ１のコネクタ31（コネクタ番号０，１，２，３）には軸番号４，５，６，７のモータコントローラ10が，ハブＨＵＢ２のコネクタ31（コネクタ番号０，１，２，３）には軸番号８，９，10，11のモータコントローラ10が，ハブＨＵＢ３のコネクタ31（コネクタ番号０，１，２，３）には軸番号12，13，14，15のモータコントローラ10がそれぞれ接続されている。このようなゲートウェイ50の各コネクタ51と各ハブ30（ハブ番号）との接続関係，ハブ30の各コネクタ31とモータコントローラ10（軸番号）との接続関係がゲートウェイ50および各ハブ30のメモリにあらかじめ記憶されている。このような接続関係を初期通信時に互いに通知してもよい。また，初期通信時にモータコントローラが実際に接続されていることが確認される。すなわち，各ハブ30はそのコネクタ31にモータコントローラ10が実際に接続されているかどうか（およびその軸番号）をモータコントローラ10に問合せて確認する。この問合せ結果は各ハブ30からゲートウェイ50に通知される。ゲートウェイ50の制御部60のメモリには，図５に示すようなモータコントローラ10の軸番号に対応してその接続情報が記憶される。接続情報中１は実際に接続されていることを，０は接続されていないことを示す。図５では，軸番号１のモータコントローラのみが接続されていないことが明確になる。
【００５４】
図６はモータコントローラ10における種々の制御パターンのうちの最も典型的な台形加減速パターンを示している。アクチュエータ１の可動体がスタート位置から目標位置まで移動するときに，まず加速し，次に一定速度の定常状態になり，最後に減速して停止する。
【００５５】
モータコントローラ10にはさまざまな動作モードがある。この実施例では代表的な３つの動作モードを取り上げる。それは直接数値指定モード，簡易直値（簡易的な直接数値指定）モードおよびポジション番号（NO. ）モードである。図７は各モータコントローラに設定されている（モータコントローラ10のメモリ21に記憶されている）動作モードを軸番号に対応して示すものである。このような軸番号と動作モードの対応関係はＰＬＣ71およびゲートウェイ50のメモリにあらかじめ設定されている。
【００５６】
上述したようにＰＬＣ71はユーザプログラムを解釈して各モータコントローラ10に対する動作指令を発行する。図８は，モータコントローラの動作モードに応じてＰＬＣ71から発行される動作指令のフォーマットを示している。このフォーマットは動作モードにより異なり，そのワード数（バイト数）も動作モードに応じて異なる。
【００５７】
図８(A) は直接数値指定モードのモータコントローラに対する動作指令を示している。この指令には，目標位置，位置決め幅（位置決めの許容値），図６に示すような加減速パターンの速度，加減速度（加速度，減速度），その他の情報，ならびに軸制御ビットが含まれる。軸制御ビットの代表的なものには，スタートビット（ＳＴ），動作モードビット（ＭＯ）（複数ビットでもよい），サーボ電源オンビット（ＳＯＮ）がある。図示されていないが，その他の代表的なものにはブレーキ解除ビット，リセットビット，一時停止ビット，原点復帰指令ビット等がある。
【００５８】
図８(B) は簡易直値モードにおける動作指令のフォーマットを示し，これには目標位置，ポジション番号（NO.），軸制御ビット等が含まれる。図(C) はポジション番号(NO.)モードにおける動作指令のフォーマットを示し，これにはポジションNO. と軸制御ビット等が含まれる。これらの動作モードでは必要なデータはポジションNO. テーブル（図９）から取得される。軸制御ビットの内容は動作モードごとに異なっていてもよい。
【００５９】
図９はモータコントローラ10のメモリ21にあらかじめ記憶されているポジションNO. テーブルの一例を示している。このテーブルには，ポジションNO. ごとに，目標位置，速度，加速度，減速度，位置決め幅，その他のモータ制御に必要なデータが格納されている。モータコントローラの制御部20は簡易直値モード，ポジションNO. モードのときに，動作指令に含まれるポジションNO.にしたがってこのポジションNO.テーブルから必要なデータを取得する。
【００６０】
上述したようにＰＬＣ71からはモータコントローラの動作モードに応じた異なる長さの動作指令（図８(A)，(B)，(C) 参照）が，接続されているモータコントローラの台数分（最大16台分），その軸番号の順番にしたがった配列でシリアルにゲートウェイ50に送信される。ゲートウェイ50はこれらの動作指令を，すべてのモータコントローラについて一定長（固定長）のコントローラ指令に組立て（編集し），かつプロトコル変換した上で，最大４台のモータコントローラ分ずつに分け，対応するハブ30にシリアル通信により送出する。図10にゲートウェイが編集するコントローラ指令（１コントローラ分）のフォーマットが示されている。このフォーマットには，すべての動作モードについての必要なデータ，制御ビットが含まれるようになっている。すなわち，直接数値指定モードについては，目標位置，位置決め幅，速度，加減速度，軸制御ビット，その他のデータが含まれうる。簡易直値モードでは目標位置，ポジションNO. ，軸制御ビット，その他のデータが含まれ，ポジションNO.モードではポジションNO.軸制御ビット，その他のデータが含まれうる。
【００６１】
図11は，モータコントローラ10において生成され，ハブ30に送信されるレスポンスデータのフォーマットを示している。このレスポンスにはハブ，ゲートウェイ，ＰＬＣに通知すべきモータコントーラの状態を表わすデータが含まれる。一例を挙げれば，現在位置，速度（これらは位置，速度検出部19から得られる），電流値（モータドライバ18から得られる），発生したアラームの内容を示すコード，およびステータスビットがある。ステータスビットの代表的なものを挙げれば，位置決め完了ビット（ＰＥＮＤ），アラーム１（ＡＬＭ１）（重大な故障），アラーム２（ＡＬＭ２）（軽故障），サーボオン（ＳＶ），非常停止（ＥＭ）等がある。図示を省略したが，その他にも移動完了，原点復帰完了，一時停止中等を示すビットが含まれる。これらのステータスビットの内容も上述した動作モードに応じて異なっていてもよい。モータコントローラ10におけるモータコントローラ状態表示器26やハブ30におけるモータコントローラ状態表示器46の点灯（非点灯）制御は，上述したＡＬＭ１，ＡＬＭ２，ＳＶ，ＥＭ等のステータスビットの内容にしたがって行なわれる。
【００６２】
図12はゲートウェイ50の制御部60の動作（処理手順）を示している。まず，接続されているアクチュエータ１（モータコントローラ10）の数の，その軸番号順に並べられた動作指令（図８のフォーマット）をＰＬＣ75から受取り（Ｓ11），各モータコントローラ10の動作モード（図７参照）にしたがって，固定長のコントローラ指令（図10）を作成する（Ｓ12）。作成したコントローラ指令をハブＨＵＢ０に接続されたモータコントローラ10に対しては軸番号０，２，３の順に並べ，ハブの受信可能なプロトコルに変換して，一括してシリアル通信電文として，送受信部65から番号０のコネクタ51を通して送出する。同じように，ハブＨＵＢ１に接続されたモータコントローラ10に対するコントローラ指令を軸番号４，５，６，７の順に並べ，プロトコル変換し，一括してシリアル通信電文として番号１のコネクタ51から送出する。他のモータコントローラ10（軸番号８，９，10，11），（軸番号12，13，14，15）に対するコントローラ指令についても，それぞれ一括して番号３，４のコネクタ51にそれぞれ送出する（Ｓ13）。
【００６３】
また，各モータコントローラ10からのレスポンス（図11）を４台のハブ30から送受信部65で受信すると（Ｓ14），モータコントローラの動作モードに応じてＰＬＣ75に報告すべきデータ，ステータスビットをレスポンスから取出し，これをモータコントローラの軸番号の順に並べて一括してＰＬＣ71にシリアル通信により送信する（Ｓ15）。以上の動作は一定周期で繰返し行なわれる。
【００６４】
図13はハブ30の制御部40の処理手順（動作）を示している。図14，図15はこの動作を電文の形態で示すものである。
【００６５】
各ハブ30にはゲートウェイ50から最大４軸分のコントローラ指令（コントローラ指令ｉ，ｉ＋１，ｉ＋２，ｉ＋３）（ｉはＨＵＢ０の場合は０，ＨＵＢ１の場合は１，等である）が送信されてくるので，送受信部35はこれを受信して制御部40に渡す（Ｓ11）。ゲートウェイ50から送信される各モータコントローラに対するコントローラ指令は固定長である。ハブはゲートウェイ50からの電文からヘッダ，共通指令，フッタを除き，最大４つのコントローラ指令を各コントローラごとに分ける（図14参照）。そして各コントローラごとのコントローラ指令にヘッダとフッタを付加して，そのコントローラが接続された番号のコネクタ31に送受信部45から送出する（Ｓ22）。なお，ゲートウェイ50から送信される共通指令は時刻データである。これは各モータコントローラでエラーが発生した場合などにおいて，その発生時刻を管理することなどに用いられる。
【００６６】
コントローラ指令に応答して対応するモータコントローラ10からレスポンス（ヘッダ，フッタを有する）が送られてくると（Ｓ23），ハブ30の制御部40はこれらをモータコントローラの軸番号の順に並べて，ヘッダ，共通ステータス，フッタを付加してシリアル電文を作成し（図15参照），最大４軸分を一括して送受信部35からゲートウェイ50に送信する（Ｓ25）。各レスポンス中のステータスビットの内容により，対応するモータコントローラの状態表示器46を制御する（Ｓ24）。共通ステータスはモータコントローラがコネクタ31に現実に接続されているかどうかを示すビットを含む。モータコントローラの接続状態は常時監視されている。軸番号１に相当するモータコントローラのようにハブ30に現実に接続されていないものがある場合には，それに対するコントローラ指令はゲートウェイ50からの電文には含まれていないから，ハブ30が対応するコネクタ31にコントローラ指令を含む電文を出力することはない。図13に示す動作は一定時間周期で繰返し実行される。
【００６７】
図１に示すように，最大16台のモータコントローラが存在する場合に，従来のように，ゲートウェイがこれらのモータコントローラと順次通信したとすると，１台のモータコントローラとの通信時間が仮に10ｍ秒であったとしても，最大 160ｍ秒の時間がかかる。すべてのモータコントローラと通信を完了するために要する時間はモータコントローラの台数に比例する。この実施例では，ゲートウェイ50の４つのコネクタ51にそれぞれハブ30が接続され，各ハブ30の４つのコネクタ31に最大４台のモータコントーラ10が接続されている。ゲートウェイ50と各ハブ30との通信は常に１対１であり，ハブ30と各モータコントローラ10との通信も１対１である。４台分のコントローラ指令を送信するので電文が長くなること，そのための編集処理等の処理時間が必要であることを考慮しても，そして上記に例示の具体的時間（モータコントローラ１台当り10ｍ秒）を基礎としても，ゲートウェイ50と各ハブ30との間の通信時間とハブ30と各モータコントローラ10との間の通信時間との和はせいぜい40ｍ秒程度である。コントローラ指令を送るときにはゲートウェイ50はハブ30の送受信部35の受信バッファに電文を書込み，ハブ30の制御部40はそれを読出せばよく，同じようにハブ30はモータコントローラ10の送受信部25の受信バッファに電文を書込み，制御部20はそれを読出すだけである。レスポンスの送受信も同じように各送受信部の受信バッファに電文を置き，それを制御部が読出す。
【００６８】
このようにハブを設けることにより，ハブの台数やモータコントローラの台数が増加しても通信時間は増大しない。通信時間の短縮化を図ることができる。ハブ30は上述のようにゲートウェイ71からの電文をモータコントローラごとに（一定長で）切り離して順番に送出するだけであるから，モータコントローラに従来のようにアドレス設定器を設ける必要はない。
【００６９】
最後にモータコントローラ10の制御部20の処理手順について図16を参照して説明する。通信ライン51を通してハブ30から送信されてくるコントローラ指令（図10）を送受信部25が受信してこれを制御部20に渡すと（Ｓ31），制御部20は制御ビット中の動作モードビットをみてスタートビットＳＴが１であれば動作を開始するとともに，動作モードビットＭＯにより動作モードを判定し（Ｓ32），動作モードに応じたデータをコントローラ指令から取出す。直接数値指定の場合にはコントローラ指令中の目標位置，位置決め幅，速度，加減速度等を用いて位置指令を作成してモータドライバ18に与える（Ｓ34）。簡易直値の場合には，ポジションNO. テーブル（図９）を参照してポジションNO. に対応する位置決め幅，速度，加減速度を読出し（Ｓ33），かつモータコントローラ指令中の目標位置を用いて位置指令を作成する（Ｓ34）。ポジションNO.モードの場合にはポジションNO.テーブルからモータコントローラ指令中のポジションNO. に対応する目標位置，位置決め幅，速度，加速度等を読出して位置指令を作成し（Ｓ33，Ｓ34），モータドライバ18に与える。
【００７０】
さらに制御部20は各駆動部や各種検出部等から動作状態の値やステータス情報を集めてレスポンスを生成し（図11）（Ｓ35），ハブ30に送信する（Ｓ36）。レスポンスの生成と送信はモータコントロール指令の応答として行なわれる。そしてステータスビットに応じて表示器26を制御する（Ｓ37）。
【符号の説明】
【００７１】
１  アクチュエータ
８  モータ
９  エンコーダ
10  モータコントローラ
11，31，32，51，53  コネクタ
18  モータドライバ
20，40，60  制御部
26，46  モータコントローラ動作状態表示灯
30  ハブ装置
42，62  非常停止信号内部ライン（停止信号内部ライン）
43，63  モータ駆動電源内部ライン
44，64  動作電源内部ライン
50  ゲートウェイ装置
71  ＰＬＣ
73，83，93  モータ駆動電源ライン
74，84，94  動作電源ライン
80，90  複合ケーブル
81，91  通信ライン
82，92  非常停止信号ライン（停止信号ライン）
【図１】
0006624908.tif 000002
【図２】
0006624908.tif 000003
【図３】
0006624908.tif 000004
【図４】
0006624908.tif 000005
【図５】
0006624908.tif 000006
【図６】
0006624908.tif 000007
【図７】
0006624908.tif 000008
【図８】
0006624908.tif 000009
【図９】
0006624908.tif 000010
【図１０】
0006624908.tif 000011
【図１１】
0006624908.tif 000012
【図１２】
0006624908.tif 000013
【図１３】
0006624908.tif 000014
【図１４】
0006624908.tif 000015
【図１５】
0006624908.tif 000016
【図１６】
0006624908.tif 000017