(57)【特許請求の範囲】
【請求項１】
入力ポート、および出力ポートに切り替え可能なポートとしてシリアル通信機能を内蔵した複数個のＣＰＵを備えたモータ制御機器において、１つのシリアル通信インターフェイスを設け、前記シリアル通信インターフェイスから前記複数個のＣＰＵのすべてのシリアル通信入力ポート同士および前記複数個のＣＰＵのすべてのシリアル通信出力ポート同士を各々、信号線で接続し、モータ制御機器の動作開始時は前記複数個のＣＰＵのうち１つのＣＰＵ（以下ＣＰＵ１と呼ぶ）のシリアル通信出力ポートを出力ポートに、前記複数個のＣＰＵのうち前記ＣＰＵ１でない残りのＣＰＵのシリアル通信出力ポートを入力ポートに設定し、前記シリアル通信インターフェイスから前記ＣＰＵ１との通信を行い、ＣＰＵ切り替えコマンドにより、前記ＣＰＵ１のシリアル通信出力ポートを入力ポートに切り替え設定した後、前記複数個のＣＰＵのうち前記ＣＰＵ切り替えコマンドにより指定されたＣＰＵ（以下ＣＰＵ２と呼ぶ）のシリアル通信出力ポートを出力ポートに切り替え設定し、前記シリアル通信インターフェイスから前記ＣＰＵ２との通信を行うとともに、前記複数個のＣＰＵ同士が高速双方向通信手段を介して接続されるようにしたモータ制御機器。
【請求項２】
高速双方向通信手段が共有ＲＡＭである請求項１記載のモータ制御機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数個のＣＰＵにて構成され、シリアル通信制御を行うＦＡ用途などの産業用モータの制御機器に関するものである。
【０００２】
【従来の技術】
２個のＣＰＵにて構成される従来のモータ制御機器のシリアル通信制御は、図４に示すような構成で実現されている。図４において、上位機器１とのシリアル通信は通信コネクタ４３にて接続され、通信バッファ４４にて通信ＣＰＵ４５の入出力レベルとインターフェイスされる。インターフェイスされた信号は通信制御を行う通信ＣＰＵ４５に接続され、定められた通信プロトコルで上位機器１との通信を行う。
【０００３】
ここで、上位機器１とサーボＣＰＵ４７をインターフェイスするためには、通信ＣＰＵ４５で上位機器１からの通信コマンドを解釈し、その内容に基づき、通信ＣＰＵ４５とサーボＣＰＵ４７の間で共有ＲＡＭ４６を介してデータ通信を行ない、その結果を通信ＣＰＵ４５から上位機器１に返信していた。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の構成では、上位機器がサーボＣＰＵの情報を得るためには通信ＣＰＵに対してサーボＣＰＵの情報を要求し、共有メモリを介してデータのやりとりを行った後に通信ＣＰＵから返信するために時間遅れが発生していた。ＦＡ用のモータ制御機器においては、一般的にサーボＣＰＵが高速サーボ処理を行うために、サーボＣＰＵからの情報にはリアルタイム性が必要であった。また、上位機器がサーボＣＰＵからの情報を直接得るためには、専用の通信コネクタ、通信バッファを設ける必要がありモータ制御機器の大型化、コスト増を招いていた。また、通信ＣＰＵとサーボＣＰＵの間の共有ＲＡＭはＣＰＵのバスに接続されるため信号線も多く、生産工程においては不良の出やすい箇所であった。従来の構成では、このような不良が発生した場合に、原因が通信ＣＰＵなのか共有ＲＡＭなのか、サーボＣＰＵなのかを特定することは困難であった。
【０００５】
本発明は、このような従来の課題を解決するものであり、１つの通信コネクタ、通信バッファにて複数のＣＰＵとの直接通信を実現するモータ制御機器を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記の課題を解決するために本発明は、入力ポート、および出力ポートに切り替え可能なポートとしてシリアル通信機能を内蔵した複数個のＣＰＵを備えたモータ制御機器において、１つのシリアル通信インターフェイスを設け、前記シリアル通信インターフェイスから前記複数個のＣＰＵのすべてのシリアル通信入力ポート同士および前記複数個のＣＰＵのすべてのシリアル通信出力ポート同士を各々、信号線で接続し、モータ制御機器の動作開始時は前記複数個のＣＰＵのうち１つのＣＰＵ（ＣＰＵ１）のシリアル通信出力ポートを出力ポートに、前記複数個のＣＰＵのうち前記ＣＰＵ１でない残りのＣＰＵのシリアル通信出力ポートを入力ポートに設定し、前記シリアル通信インターフェイスから前記ＣＰＵ１との通信を行い、ＣＰＵ切り替えコマンドにより、前記ＣＰＵ１のシリアル通信出力ポートを入力ポートに切り替え設定した後、前記複数個のＣＰＵのうち前記ＣＰＵ切り替えコマンドにより指定されたＣＰＵ（ＣＰＵ２）のシリアル通信出力ポートを出力ポートに切り替え設定し、前記シリアル通信インターフェイスから前記ＣＰＵ２との通信を行うとともに前記複数個のＣＰＵ同士が高速双方向通信手段を介して接続されるようにしたものである。
【０００７】
これによって、１つの通信コネクタ、通信バッファにて複数のＣＰＵとの直接通信を実現でき、専用の通信コネクタ、通信バッファを設けることによるモータ制御機器の小型化、コスト低減が可能となる。
【０００８】
【発明の実施の形態】
上記の課題を解決するために本発明は、入力ポート、および出力ポートに切り替え可能なポートにシリアル通信機能を内蔵した複数個のＣＰＵを備えたモータ制御機器において、１つのシリアル通信インターフェイスを設け、前記シリアル通信インターフェイスから前記複数個のＣＰＵのすべてのシリアル通信入力ポート同士および前記複数個のＣＰＵのすべてのシリアル通信出力ポート同士を各々同一の信号線で接続し、通信コマンドにより、通信を行うＣＰＵを切り替える手段を設け、前記複数個のＣＰＵ同士を高速双方向通信手段、たとえば共有ＲＡＭを介して接続したものである。
【０００９】
このように入力ポート、および出力ポートに切り替え可能なポートにシリアル通信機能を内蔵した複数個のＣＰＵを備えたモータ制御機器において、１つのシリアル通信インターフェイスを設け、前記シリアル通信インターフェイスから前記複数個のＣＰＵのすべてのシリアル通信入力ポート同士および前記複数個のＣＰＵのすべてのシリアル通信出力ポート同士を各々、信号線で接続し、通信コマンドにより、通信を行うＣＰＵを切り替える手段を設け、前記複数個のＣＰＵ同士を高速双方向通信手段、たとえば共有ＲＡＭを介して接続したものでは、１つの通信コネクタ、通信バッファにて個々のＣＰＵとの直接通信を実現することができ、リアルタイムにＣＰＵの状態を上位機器に転送し、共有ＲＡＭなどの高速双方向通信手段によるＣＰＵ間のデータ通信を介さずに複数個のＣＰＵ間の直接通信を実現するものである。
【００１０】
また、これによって複数個のＣＰＵの各々に専用の通信コネクタ、通信バッファを設ける必要がなくなり、モータ制御機器の小型化、コスト低減を実現することもできる。
【００１１】
【実施例】
以下本発明の実施例について図面を参照して説明する。
【００１２】
なお、高速双方向通信手段は共有ＲＡＭであるとする。図１において、上位機器１とモータ制御機器２は通信コネクタ３を介して接続されている。ここで上位機器との通信にはＲＳ２３２Ｃ、ＲＳ４８５などの電気信号や光ファイバなどによるＵＡＲＴフォーマットの通信が用いられることが多い。電気信号あるいは光信号で運ばれたデータは通信バッファ４により通信ＣＰＵ５およびサーボＣＰＵ７にインターフェイスできる電気信号に変換される。通信バッファ４により変換された信号のうち、上位機器１からモータ制御機器２への通信データすなわちモータ制御機器２の入力信号は通信ＣＰＵ受信ポート８およびサーボＣＰＵ受信ポート１０に接続される。通信ＣＰＵ受信ポート８およびサーボＣＰＵ受信ポート１０は、その機能の性質上入力ポートに設定されている。また通信バッファ４により変換された信号のうち、モータ制御機器２から上位機器１への通信データすなわちモータ制御機器２の出力信号は通信ＣＰＵ送信ポート９およびサーボＣＰＵ送信ポート１１に接続される。ここで、モータ制御機器２に制御電源が投入された当初すなわち通信ＣＰＵ５およびサーボＣＰＵ７が電源リセットされた直後においては、通信ＣＰＵ送信ポート９を出力ポートに設定し、サーボＣＰＵ送信ポート１１は入力に設定する。通常動作中においては、通信ＣＰＵ５の送信データが通信バッファ４を介して上位機器１に返信される。このとき、上位機器１からモータ制御機器２への通信データは通信バッファ４を介して通信ＣＰＵ５およびサーボＣＰＵ７へ同時に入力されているが、選択されていないＣＰＵであるサーボＣＰＵ７においては、通信ＣＰＵ５への通信データを無視することになる。
【００１３】
次に、ＣＰＵ切り替えコマンドにより上位機器１との通信を行うＣＰＵを切り替えるしくみについて図２のフローチャートと図３のタイミングチャートを用いて説明する。データが受信されると図２のフローチャートに表されるプログラムが通信ＣＰＵ５およびサーボＣＰＵ７にて実行される。手順１２でフラグ１が１かどうかが判定される。１であれば手順１３へ、１でなければ手順１４へ移行する。ここでフラグ１は電源リセット時に０に初期化され、ＣＰＵ切り替えコマンドで自分が選択された場合に１に設定されるフラグである。手順１３はフラグ１が１のときすなわちＣＰＵ切り替えコマンドで自分が選択された後の最初のコマンドを受信したときに実行される手順であり、ここではフラグ１を０に初期化し、送信ポートを出力に設定する。ＣＰＵ切り替えコマンドで選択されたＣＰＵから上位機器１への返信はこの手順１３以降に有効になる。手順１４ではＣＰＵ切り替えコマンドの他のコマンドの解釈およびその処理が実行される。手順１５ではＣＰＵ切り替えコマンドが受信されたかどうかが判定され、ＣＰＵ切り替えコマンドなら手順１６へ、そうでなければ処理を終える。手順１６では次に選択されたＣＰＵが自分であるかが判定され、自分であれば手順１７へ、そうでなければ手順１８へ移行する。手順１７では上記フラグ１を１に設定し、次回のコマンド受信以降の返信を行うように設定する。手順１８では送信ポートを入力に設定し、非選択状態にする。
【００１４】
図３のタイミングチャートでは通信ＣＰＵ送信ポート９およびサーボＣＰＵ送信ポート１１の入出力の切り替りの状態およびフラグ１の変化を時間軸で表現している。電源リセット時に通信ＣＰＵ送信ポート９が出力、サーボＣＰＵ送信ポート１１が入力、通信ＣＰＵフラグ１、およびサーボＣＰＵフラグ１が０に設定される。サーボＣＰＵへの切り替えコマンドを受信すると、上記手順１７によりサーボＣＰＵのフラグ１が１に設定される。このとき、サーボＣＰＵへのＣＰＵ切り替えコマンドでは、通信ＣＰＵは選択されていないため通信ＣＰＵフラグ１は０のままである。通信ＣＰＵからサーボＣＰＵへの切り替えコマンドの処理終了した後、上記の手順１８により通信ＣＰＵ送信ポート９は入力に設定される。このときから次のコマンドが受信されるまでの間、通信ＣＰＵ送信ポート９およびサーボＣＰＵ送信ポート１１は両方とも入力ポートに設定されているため、切り替り過渡時の出力信号の衝突を避けることができる。次のコマンドが受信された時点で手順１３によりサーボＣＰＵフラグ１は０に設定され、サーボＣＰＵ送信ポート１１は出力に設定される。以降はサーボＣＰＵ７からの送信データが上位機器１に送信される。
【００１５】
なお、実施例におけるＣＰＵ間のデータの共有には共有ＲＡＭを設けたが、ＦｉＦｏメモリやバスリクエストという手段を用いることも可能である。
【００１６】
【発明の効果】
上記実施例から明らかなように、請求項１記載の発明によれば、たとえば通常時は、パラメータの設定やモータ制御機器のシーケンス状態などのモニタは１つの通信コネクタおよび通信バッファを介して通信ＣＰＵと通信することで実施し、特に高速でサーボの状態をモニタするときには、サーボＣＰＵと前記１つの通信コネクタおよび通信バッファを介して直接通信することができる。また、１つの通信コネクタおよび通信バッファを設けるだけで良いのでモータ制御機器の小型化およびコスト低減が実現できる。また、通信ＣＰＵとサーボＣＰＵと共有ＲＡＭのいずれかに不具合が発生し、通信ＣＰＵからサーボＣＰＵの情報が読み出せなくても、本発明を用いればサーボＣＰＵとの直接通信が可能であるため、個々のＣＰＵの状態が直接確認でき、不具合の解析が容易となり、信頼性の向上をはかることができる。
【図面の簡単な説明】
【図１】本発明の実施例を示すモータ制御機器の通信制御部のブロック図
【図２】本発明の実施例におけるモータ制御機器の通信制御部のソフトウェアのＣＰＵ切替部のフローチャート
【図３】本発明の実施例におけるモータ制御機器の通信制御部のタイミングチャート
【図４】従来例を示すモータ制御機器の通信制御部のブロック図
【符号の説明】
１  上位機器
２、４２  モータ制御機器
３、４３  通信コネクタ
４、４４  通信バッファ
５、４５  通信ＣＰＵ
６、４６  共有ＲＡＭ
７、４７  サーボＣＰＵ
８  通信ＣＰＵ受信ポート
９  通信ＣＰＵ送信ポート
１０  サーボＣＰＵ受信ポート
１１  サーボＣＰＵ送信ポート
１２、１３、１４、１５、１６、１７、１８  手順
【図１】
0003876574.tif 000002
【図２】
0003876574.tif 000003
【図３】
0003876574.tif 000004
【図４】
0003876574.tif 000005