(57)【要約】【課題】  制御の負荷を軽減する。【解決手段】  データの入出力を制御するマンマシンコントローラ及び制御対象物の動作を制御するサーボコントローラとデータの送受信を行うモーションコントローラにおいて、前記マンマシンコントローラからの制御データを入力するＩ／Ｆ制御部と、前記Ｉ／Ｆ制御部からの制御データに基づいて、前記サーボコントローラを制御するための信号処理を行う信号処理部と、前記Ｉ／Ｆ制御部及び前記信号処理部からデータの読み書きを行うためのデュアルポートメモリとを有することにより上記課題を解決する。【選択図】  図７
2006350929.tif 000002
【特許請求の範囲】
【請求項１】
データの入出力を制御するマンマシンコントローラ及び制御対象物の動作を制御するサーボコントローラとデータの送受信を行うモーションコントローラにおいて、
前記マンマシンコントローラからの制御データを入力するＩ／Ｆ制御部と、
前記Ｉ／Ｆ制御部からの制御データに基づいて、前記サーボコントローラを制御するための信号処理を行う信号処理部と、
前記Ｉ／Ｆ制御部及び前記信号処理部からデータの読み書きを行うためのデュアルポートメモリとを有することを特徴とするモーションコントローラ。
【請求項２】
前記Ｉ／Ｆ制御部は、
前記マンマシンコントローラからの制御データを所定のデータ形式に変換するための通信データ変換部と、
前記通信データ変換部からのデータを保存するためのバッファと、
前記バッファに保存されているデータを前記デュアルポートメモリに出力するための通信制御部とを有することを特徴とする請求項１に記載のモーションコントローラ。
【請求項３】
前記通信制御部は、
前記通信データ変換部に入力された前記マンマシンコントローラからのデータが緊急データである場合には、前記割込み線を介して前記信号処理部に割込みデータを出力することを特徴とする請求項２に記載のモーションコントローラ。
【請求項４】
データの入出力を制御するマンマシンコントローラ及び制御対象物の動作を制御するサーボコントローラとデータの送受信を行うモーションコントローラ用の通信制御モジュールにおいて、
前記マンマシンコントローラからの制御データを入力する第１コネクタ部と、
前記第１コネクタ部からの制御データに基づいてインターフェースの制御を行うＩ／Ｆ制御部と、
前記Ｉ／Ｆ制御部からの制御データに基づいて、前記サーボコントローラを制御するための信号処理を行う信号処理部と接続するための第２コネクタ部と、
前記Ｉ／Ｆ制御部及び前記第２コネクタ部から前記制御データの読み書きを行うためのデュアルポートメモリとを有することを特徴とする通信制御モジュール。
【請求項５】
前記Ｉ／Ｆ制御部から前記デュアルポートメモリを介さずに、前記第２コネクタ部に直接所定の制御データを出力するための割込み線を有することを特徴とする請求項４に記載の通信制御モジュール。
【請求項６】
前記Ｉ／Ｆ制御部は、
前記マンマシンコントローラからの制御データを所定のデータ形式に変換するための通信データ変換部と、
前記通信データ変換部からのデータを保存するためのバッファと、
前記バッファに保存されているデータを前記デュアルポートメモリに出力するための通信制御部とを有することを特徴とする請求項４又は５に記載の通信制御モジュール。
【請求項７】
前記通信制御部は、
前記通信データ変換部に入力された前記マンマシンコントローラからのデータが緊急データである場合、前記割込み線を介して前記第２コネクタ部に割込みデータを出力することを特徴とする請求項６に記載の通信制御モジュール。
【請求項８】
請求項１乃至請求項７の何れか１項に記載のモーションコントローラもしくは通信制御モジュールを有する制御装置。
【請求項９】
前記マンマシンコントローラと、前記モーションコントローラもしくは前記通信制御モジュールとは、高速シリアル通信によりデータの送受信を行うことを特徴とする請求項８に記載の制御装置。
【請求項１０】
データの入出力を制御するマンマシンコントローラ及び制御対象物の動作を制御するサーボコントローラとデータの送受信を行うモーションコントローラの制御方法において、
前記マンマシンコントローラからの制御データを入力するＩ／Ｆ制御ステップと、
前記Ｉ／Ｆ制御ステップにより得られる制御データに基づいて、前記サーボコントローラを制御するための信号処理を行う信号処理ステップと、
前記Ｉ／Ｆ制御ステップ及び前記信号処理ステップにより得られるデータをデュアルポートメモリに読み書きするための読み書きステップとを有することを特徴とする制御方法。
【請求項１１】
前記Ｉ／Ｆ制御ステップは、
前記マンマシンコントローラからの制御データを所定のデータ形式に変換する通信データ変換ステップと、
前記通信データ変換ステップにより得られるデータを保存する保存ステップと、
前記保存ステップにより保存されているデータを前記デュアルポートメモリに出力する通信制御ステップとを有することを特徴とする請求項１１に記載の制御方法。
【請求項１２】
前記通信制御ステップは、
前記通信データ変換ステップで入力した前記マンマシンコントローラからのデータが緊急データである場合、前記割込み線を介して割込みデータを出力することを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記マンマシンコントローラと、前記モーションコントローラとは、高速シリアル通信によりデータの送受信を行うことを特徴とする請求項１１又は１２に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モーションコントローラ、通信制御モジュール、制御装置、及び制御方法に関し、特に制御の負荷を軽減するためのモーションコントローラ、通信制御モジュール、制御装置、及び制御方法に関する。
【背景技術】
【０００２】
従来から、産業用多軸コントローラや加工機コントローラ等において、複数のモータの制御、監視を容易に行うために、ユーザが指令値を入力したり、状態値をモニタリングするためのマンマシンコントローラと、実際のモータ等の動きを制御するためのモーションコントローラとを備えた制御装置を用いる技術がある（例えば、特許文献１参照。）。
【０００３】
なお、これらのコントローラに要求される機能、性能の違いから、通常、上述したコントローラは、加工機本体とは別体で構成されているものが多い。そのため、コントローラ間には指令値や現在値、状態情報等を通信するための手段が必要となる。従来では、一般的なＲＳ２３２Ｃ等のシリアル通信や、データ幅を限定したパラレル通信が用いられている。
【０００４】
ここで、上述したコントローラを有する制御装置の構成と動作について図を用いて説明する。図１は、コントローラを有する制御装置全体の概略構成の一例を示す図である。
図１に示す制御装置１０は、マンマシンコントローラ１１と、モーションコントローラ１２と、サーボコントローラ１３−１〜１３−ｎと、モータ１４−１〜１４−ｎを有するよう構成されている。
【０００５】
図１に示すマンマシンコントローラ１１は、ユーザからの指令値等の入力や各構成部の状態のモニタリング等のユーザとのインターフェースの制御を行う。また、モーションコントローラ１２は、マンマシンコントローラ１１から送られる指令値等の入力情報に基づいてモータ１４−１〜１４−ｎの軌道生成や、各軸のモータ全体の制御演算を行う。また、モーションコントローラ１２は、各サーボコントローラ１３−１〜１３−ｎから状態（正常、異常等）を示す信号を受信し、マンマシンコントローラ１１に出力する。
【０００６】
また、サーボコントローラ１３は、モーションコントローラからの制御データに基づいて、実際に制御される機器（制御対象物）を動作させるための電流制御やトルク制御等の制御演算を行う。なお、図１では、各サーボコントローラ１３−１〜１３−ｎのそれぞれに対応した各軸のモータ１４−１〜１４−ｎの制御演算を行う。また、サーボコントローラ１３は、演算された制御データをモータ１４に出力する。モータ１４は、対応するサーボコントローラ１３−１〜１３−ｎからの制御データに基づいて各軸の駆動等を行う。また、モータ１４は、状態情報を所定の時間周期毎又は所定の動作をトリガーとしてサーボコントローラ１３に出力する。
【０００７】
次に、マンマシンコントローラ１１及びモーションコントローラ１２における通信インターフェースについて図を用いて説明する。図２は、従来のマンマシンコントローラ及びモーションコントローラにおける通信インターフェースを説明するための一例を示す図である。図２において、マンマシンコントローラ１１は、アプリケーション２１と、Ｉ／Ｆ（インターフェース）コントローラ２２とを有するよう構成されている。また、モーションコントローラ１２は、Ｉ／Ｆコントローラ２３と、ＣＰＵ２４、記憶手段としてのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２５とを有するよう構成されている。
【０００８】
図２において、アプリケーション２１は、ユーザが機器を制御するための制御等を行うためのインターフェース機能を持ち、ユーザから入力された指令値等を制御信号（制御データ）としてＩ／Ｆコントローラ２２に送信する。また、Ｉ／Ｆコントローラ２２は、モーションコントローラ１２にあるＩ／Ｆコントローラ２３との通信制御を行う。また、Ｉ／Ｆコントローラ２２は、アプリケーション２１からデータや通信命令等を受けると、ＲＳ−２３２Ｃ等のシリアル通信２６を介してデータをモーションコントローラ１２に出力する。また、Ｉ／Ｆコントローラ２２は、シリアル通信２６を介してモーションコントローラ１２から受信したデータをアプリケーション２１に出力する。
【０００９】
また、モーションコントローラ１２にあるＩ／Ｆコントローラ２３は、マンマシンコントローラ１１からの制御信号を受信する。ＣＰＵ２４は、マンマシンコントローラ１１からの制御信号に基づいて、各サーボコントローラ１３−１〜１３−ｎに対する電流制御やトルク制御等の制御データを生成する。また、ＲＡＭ２５は、Ｉ／Ｆコントローラ２３により送受信され、またＣＰＵ２４において信号処理される制御データを保存する。なお、ＲＡＭ２５は、モーションコントローラの状態や処理結果、それらの履歴等を保存することもできる。
【００１０】
ここで、図３は、マンマシンコントローラの詳細な機能構成の一例を示す図である。図３に示すマンマシンコントローラ１１は、アプリケーション２１として、メイン処理部３１と、通信制御部３２とを有するよう構成されている。また、Ｉ／Ｆコントローラ２２は、汎用Ｉ／Ｆ３３と、入出力装置ドライバ３４と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ドライバ３５と、シリアル通信ドライバ３６と、入出力装置３７と、ＬＡＮコントローラ３８と、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コントローラ３９と、シリアル通信コントローラ４０とを有するよう構成されている。
【００１１】
ここで、汎用Ｉ／Ｆ３３、入出力装置ドライバ３４、ＬＡＮドライバ３５、及びシリアル通信ドライバ３６は、ソフトウェアとして、例えばＷｉｎｄｏｗｓ（登録商標）等のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）により提供されるものである。また、入出力装置３７、ＬＡＮコントローラ３８、ＵＳＢコントローラ３９、及びシリアル通信コントローラ４０は、ハードウェアとして構成される。
【００１２】
メイン処理部３１は、ユーザ等により入力されるデータに対して各種データ演算やコマンドの生成、ユーザに対する状態の表示等の処理を行う。また、通信制御部３２は、各通信ドライバ等とのデータの授受、コマンド送信、通信状態管理等を行う。また、通信制御部３２は、データやコマンド等を汎用Ｉ／Ｆ３３に出力し、また汎用Ｉ／Ｆ３３から送られるデータの受信を行う。
【００１３】
汎用Ｉ／Ｆ３３は、アプリケーション２１からの信号をＬＡＮドライバ３５、ＵＳＢコントローラ３９、シリアル通信ドライバ３６に出力する。なお、汎用Ｉ／Ｆ３３は、予め設定されている標準的な通信を用いているため、通信手段を変更してもマンマシンコントローラ内のアプリケーション２１側は変更することなく対応することができる。
【００１４】
また、ＬＡＮドライバ３５は、ＬＡＮコントローラ３８を介してモーションコントローラ１２に制御信号を出力する。また、シリアル通信ドライバ３６は、シリアル通信コントローラ４０を介してシリアル通信によりモーションコントローラに制御信号を出力する。また、ＵＳＢコントローラ３９は、汎用Ｉ／Ｆ３３からの制御信号をモーションコントローラ１２に出力する。
【００１５】
また、入出力ドライバ３４は、ハードウェアとしてマンマシンコントローラ１１に設けられているディスプレイやキーボード、マウス等からなる入出力装置３７からの入力されたデータ等を入出力装置ドライバ３４を介してアプリケーション２１に出力する。
【００１６】
次に、図４は、従来におけるモーションコントローラの詳細な機能構成の一例を示す図である。図４に示すモーションコントローラ１３において、Ｉ／Ｆコントローラ２３は、通信データ変換部５１と、記録手段としてのバッファ５２とを有するよう構成されている。また、Ｉ／Ｆコントローラ２３と、ＣＰＵ２４と、ＲＡＭ２５とは、データバス５３を介してデータの送受信が可能な状態で接続されている。
【００１７】
通信データ変換部５１は、マンマシンコントローラ１１からシリアル通信２６を介して送信されてきたデータを受信し、バッファ（メモリ）５２等に格納するためのデータ形式に変換する。また、通信データ変換部５１は、変換されたデータをバッファ５２に出力する。
【００１８】
バッファ５２は、通信データ変換部５１からのデータを一時的に保存しておく。また、バッファ５２は、データバス５３を介してＣＰＵ２４からの制御信号を受けて保存されたデータをＣＰＵ２４に出力する。ＣＰＵ２４は、処理速度や負荷等の処理状態に応じてバッファ５２にデータの要求を行う。ここで、バッファ５２は、通常のＲＡＭ等よりも高速なものが要求されるが、物理的にその容量は制限されるため、あまり多量のデータを蓄えることはできない。
【００１９】
ＣＰＵ２４は、バッファ５３から制御データを取得し、下位のサーボコントローラ１３とのＩ／Ｆ処理、通信処理、及び割込み処理等を行う。このとき、ＣＰＵ２４は、取得した制御データや各処理の状態等をＲＡＭ２５に保存する。
【００２０】
また、ＣＰＵ２４は、通信割込みや、内部タイマによる割込み、その他、通信データ変換部５１からサーボコントローラ１３を強制終了させる等の外部割込み等よる緊急データを受信した場合には、それぞれの割込み処理に対応した通信処理を実行する。ここで、通信処理としては、例えばＩ／Ｆコントローラ２３からバッファ５２に保存されたデータを読み込み、更に読み込まれたデータをＲＡＭ２５に保存する等の処理を行う。
【００２１】
なお、Ｉ／Ｆコントローラ２３と、ＣＰＵ２４と、ＲＡＭ２５とにおけるデータバス５３における制御は、バス制御線５５を介してＣＰＵ２４からの制御信号により制御される。
【００２２】
ここで、従来のモーションコントローラにおけるデータ受信時、及び送信時の制御処理についてフローチャートを用いて説明する。図５は、従来におけるデータ受信時の制御処理手順の一例を示すフローチャートである。また、図６は、従来におけるデータ送信時の制御処理手順の一例を示すフローチャートである。
【００２３】
図５における受信時の制御処理は、まずマンマシンコントローラ１１からの制御信号（データ）を受信し（Ｓ０１）、次に、バッファ５２がデータフルであるか否かを判断する（Ｓ０２）。なお、データフルである状態とは、バッファに保存されているデータ量が、バッファに予め設定されている総記録データ量と同一である場合に限定されず、Ｓ０１において受信したデータ量をバッファに保存することができない程度の空き容量しかない場合も含んでいる。
【００２４】
ここで、バッファ５２がデータフルである場合（Ｓ０２において、ＹＥＳ）、受信失敗として（Ｓ０３）、処理を終了する。また、バッファ５２がデータフルでない場合（Ｓ０２において、ＮＯ）、通信データ変換部５１がＣＰＵ２４に割込み信号を出力し（Ｓ０４）、通信データ変換部５１でデータ変換を行い（Ｓ０５）、バッファ５２にデータを書込み、保存を行う（Ｓ０６）。更に、ＣＰＵ２４がバッファ５２に保存されているデータをＲＡＭ２５に移動（保存）させて（Ｓ０７）、受信処理を終了する。なお、Ｓ０７の処理によりバッファ５２のデータがＲＡＭ２５に正常に保存された場合、バッファ５２の対応するデータは消去されることになる。
【００２５】
一方、図６に示すように送信時の制御処理は、ＣＰＵ２４がバッファ５２をチェックし（Ｓ１１）、バッファ５２がデータフルであるか否かを判断する（Ｓ１２）。ここで、バッファ５２がデータフルである場合（Ｓ１２において、ＹＥＳ）、Ｓ１１に戻り、バッファ５２がフルでなくなるまで確認を続ける。なお、この場合にはＣＰＵ２４が割込み信号等によりバッファ５２からデータの読み込み処理をすることで、バッファ５２に空き容量ができる。
【００２６】
また、バッファ５２がデータフルでない（データフルでなくなった）場合（Ｓ１２において、ＮＯ）、ＣＰＵ２４は、ＲＡＭ２５からデータを読み込み、バッファ５２にデータを書き込む（Ｓ１３）。また、バッファ５２にデータが書き込まれると即座に通信データ変換部５１がデータを通信用のデータ形式に変換し（Ｓ１４）、変換したデータを送信し（Ｓ１５）、送信処理を終了する。
【特許文献１】特開２００４−７２８７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
ところで、上述したように従来のモーションコントローラの構成においては、データの読み書きや通信の管理、サーボコントローラ等への制御をＣＰＵが直接行っている。そのため、通信上の頻度が高い場合、それに伴い頻繁に割込みが発生してしまう。これにより、モーションコントローラのＣＰＵの負荷は高くなり、制御サイクル内でモーション制御のパフォーマンスを圧迫して、高速で安定したモーション制御が行えなくなるという問題があった。
【００２８】
同様に、大量データの通信が発生した際にも、そのデータの通信がモーションコントローラのＣＰＵを独占することになり、モーション制御に影響がでてしまうという問題があった。なお、従来では高速化を図ることを目的として多ビットのパラレル通信が用いられていたが、その場合、特別なハードウェアやそのためのドライバ（ソフトウェア）が必要となり、通信エラー等の解析にも時間がかかってしまっていた。
【００２９】
また、従来ではモーションコントローラのＣＰＵが直接通信を管理しているため、通信を管理するソフトウェアがモーションコントローラ内のソフトウェアに埋め込まれる場合があり、この場合には、通信媒体を変更する際にモーションコントローラ内のソフトウェアに大きな変更が必要になるという問題があった。
【００３０】
本発明は、上記の問題点に鑑みてなされたものであって、制御の負荷を軽減し、高速に大容量データを授受するためのモーションコントローラ、通信制御モジュール、制御装置、及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【００３１】
上述の目的を達成するために、本発明は、データの入出力を制御するマンマシンコントローラ及び制御対象物の動作を制御するサーボコントローラとデータの送受信を行うモーションコントローラにおいて、前記マンマシンコントローラからの制御データを入力するＩ／Ｆ制御部と、前記Ｉ／Ｆ制御部からの制御データに基づいて、前記サーボコントローラを制御するための信号処理を行う信号処理部と、前記Ｉ／Ｆ制御部及び前記信号処理部からデータの読み書きを行うためのデュアルポートメモリとを有することを特徴とする。これにより、デュアルポートメモリを有することでモーションコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。
【００３２】
更に、前記Ｉ／Ｆ制御部は、前記マンマシンコントローラからの制御データを所定のデータ形式に変換するための通信データ変換部と、前記通信データ変換部からのデータを保存するためのバッファと、前記バッファに保存されているデータを前記デュアルポートメモリに出力するための通信制御部とを有することが好ましい。これにより、通信制御部がデータ移動に対する処理を行うため、時間的に高速となり、バッファフルである時間は殆どなくなるため、受信失敗の可能性は飛躍的に低いものとなる。したがって、モーションコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。
【００３３】
更に、前記通信制御部は、前記通信データ変換部に入力された前記マンマシンコントローラからのデータが緊急データである場合には、前記割込み線を介して前記信号処理部に割込みデータを出力することが好ましい。これにより、信号処理部に割込みデータを迅速に送信することができる。
【００３４】
また、本発明は、データの入出力を制御するマンマシンコントローラ及び制御対象物の動作を制御するサーボコントローラとデータの送受信を行うモーションコントローラ用の通信制御モジュールにおいて、前記マンマシンコントローラからの制御データを入力する第１コネクタ部と、前記第１コネクタ部からの制御データに基づいてインターフェースの制御を行うＩ／Ｆ制御部と、前記Ｉ／Ｆ制御部からの制御データに基づいて、前記サーボコントローラを制御するための信号処理を行う信号処理部と接続するための第２コネクタ部と、前記Ｉ／Ｆ制御部及び前記第２コネクタ部から前記制御データの読み書きを行うためのデュアルポートメモリとを有することを特徴とする。これにより、コネクタを用いて従来の機器に容易に取り付けることができる。したがって、マンマシンコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。
【００３５】
更に、前記Ｉ／Ｆ制御部から前記デュアルポートメモリを介さずに、前記第２コネクタ部に直接所定の制御データを出力するための割込み線を有することが好ましい。これにより、信号処理部に緊急データを迅速に送信することができる。
【００３６】
更に、前記Ｉ／Ｆ制御部は、前記マンマシンコントローラからの制御データを所定のデータ形式に変換するための通信データ変換部と、前記通信データ変換部からのデータを保存するためのバッファと、前記バッファに保存されているデータを前記デュアルポートメモリに出力するための通信制御部とを有することが好ましい。これにより、通信制御部がデータ移動に対する処理を行うため、時間的に高速となり、バッファフルである時間は殆どなくなるため、受信失敗の可能性は飛躍的に低いものとなる。したがって、モーションコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。
【００３７】
更に、前記通信制御部は、前記通信データ変換部に入力された前記マンマシンコントローラからのデータが緊急データである場合、前記割込み線を介して前記第２コネクタ部に割込みデータを出力することが好ましい。これにより、信号処理部に割込みデータを迅速に送信することができる。
【００３８】
また、本発明は、請求項１乃至請求項７の何れか１項に記載のモーションコントローラもしくは通信制御モジュールと同様の作用効果を奏する制御装置を提供することができる。
【００３９】
更に、前記マンマシンコントローラと、前記モーションコントローラもしくは通信制御モジュールとは、高速シリアル通信によりデータの送受信を行うことが好ましい。これにより、高速で大容量なデータの送受信を行うことができる。また、一般的な高速シリアル通信を用いることで、通常用意されているドライバを使用することができる。
【００４０】
また、本発明は、データの入出力を制御するマンマシンコントローラ及び制御対象物の動作を制御するサーボコントローラとデータの送受信を行うモーションコントローラの制御方法において、前記マンマシンコントローラからの制御データを入力するＩ／Ｆ制御ステップと、前記Ｉ／Ｆ制御ステップにより得られる制御データに基づいて、前記サーボコントローラを制御するための信号処理を行う信号処理ステップと、前記Ｉ／Ｆ制御ステップ及び前記信号処理ステップにより得られるデータをデュアルポートメモリに読み書きするための読み書きステップとを有することを特徴とする。これにより、モーションコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。
【００４１】
更に、前記Ｉ／Ｆ制御ステップは、前記マンマシンコントローラからの制御データを所定のデータ形式に変換する通信データ変換ステップと、前記通信データ変換ステップにより得られるデータを保存する保存ステップと、前記保存ステップにより保存されているデータを前記デュアルポートメモリに出力する通信制御ステップとを有することが好ましい。これにより、通信制御ステップがデータ移動に対する処理を行うため、時間的に高速となり、バッファフルである時間は殆どなくなるため、受信失敗の可能性は飛躍的に低いものとなる。したがって、モーションコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。
【００４２】
更に、前記通信制御ステップは、前記通信データ変換ステップで入力した前記マンマシンコントローラからのデータが緊急データである場合、前記割込み線を介して割込みデータを出力することが好ましい。これにより、信号処理ステップに割込みデータを迅速に送信することができる。
【００４３】
更に、前記マンマシンコントローラと、前記モーションコントローラとは、高速シリアル通信によりデータの送受信を行うことが好ましい。これにより、高速で大容量なデータの送受信を行うことができる。また、一般的な高速シリアル通信を用いることで、通常用意されているドライバを使用することができる。
【発明の効果】
【００４４】
本発明によれば、制御の負荷を軽減することができる。
【発明を実施するための最良の形態】
【００４５】
次に、本発明におけるモーションコントローラ、通信制御モジュール、制御装置、及び制御方法を好適に実施した形態について、図面を用いて説明する。なお、本発明における制御装置全体の概略構成は、上述した図１と同様なものを用いることができるため、ここでの説明は省略する。
【００４６】
図７は、本発明のマンマシンコントローラ及びモーションコントローラにおける通信インターフェースを説明するための一例を示す図である。なお、図７に示す、マンマシンコントローラ６１及び、モーションコントローラ６２は、上述した図２に対応するものであり、図７において、マンマシンコントローラ６１及びモーションコントローラ６２は、図１におけるマンマシンコントローラ１１及びモーションコントローラ１２に対応するものである。
【００４７】
図７に示すモーションコントローラ６１は、アプリケーション７１と、Ｉ／Ｆコントローラ７２とを有するよう構成されている。また、モーションコントローラ６２は、Ｉ／Ｆコントローラ（Ｉ／Ｆ制御部）７３と、デュアルポートメモリ７４と、ＣＰＵ（信号処理部）７５とを有するよう構成されている。なお、本発明では、モーションコントローラ６２内に、上述したＲＡＭ２５の変わりに通信Ｉ／Ｆ専用のデュアルポートメモリ７４を設けてもよい。
【００４８】
ここで、デュアルポートメモリ７４は、Ｉ／Ｆコントローラ７３及びＣＰＵ７５のどちらからの信号によってもデータの制御を行うことができる。そのため、モーションコントローラ６２のＣＰＵ７５の負担を軽減し、通信媒体変更の容易性を可能にするものである。
【００４９】
なお、図７においては、マンマシンコントローラ６１と、モーションコントローラ６２とは、高速シリアル通信７６を介してデータの送受信が可能な状態で接続されている。ここで、高速シリアル通信７６とは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２．０やＩＥＥＥ１３９４等で規格化されている高速向けのデータ転送を指す。ＵＳＢ２．０であれば、最大４８０Ｍｂｐｓの転送速度が可能であり、ＩＥＥＥ１３９４であれば、４００Ｍｂｉｔ／ｓｅｃのデータ転送モードを選択することで、高速データ通信を実現することができる。更に、高速シリアル通信７６として光通信やギガビットイーサネット（登録商標）等を用いてデータ伝送を行ってもよい。また、高速シリアル通信７６による通信形態は、有線でも無線でもよい。
【００５０】
マンマシンコントローラ６１において、アプリケーション７１は、上述したように、ユーザが機器を制御するための制御等を行うためのインターフェース機能を持ち、ユーザから入力された指令値等を制御信号（制御データ）としてＩ／Ｆコントローラ７２に送信する。また、Ｉ／Ｆコントローラ７２は、モーションコントローラ６２にあるＩ／Ｆコントローラ７３との通信制御を行う。また、Ｉ／Ｆコントローラ７２は、アプリケーション７１からデータや通信命令等を受けると、ＵＳＢ２．０等の高速シリアル通信７６を介してデータをモーションコントローラ６２に出力する。また、Ｉ／Ｆコントローラ７２は、高速シリアル通信７６を介してモーションコントローラ６２から受信したデータをアプリケーション７１に出力する。
【００５１】
また、モーションコントローラ６２にあるＩ／Ｆコントローラ７３は、高速シリアル通信７６の通信制御を行い、高速シリアル通信７６経由で受信したデータ、コマンド等の指令をデュアルポートメモリ７４に高速に保存する。また、Ｉ／Ｆコントローラ７３は、デュアルポートメモリ７４内のデータを高速シリアル通信７６を介して送信することができる。ここで、Ｉ／Ｆコントローラ７３は、緊急データ等のリアルタイム性が要求される信号を受信した場合には、割込み信号を生成し、生成した割込み信号を割込み線７７を介して直接ＣＰＵ７５に出力する。これにより、ＣＰＵ７５に割込み信号を迅速に送信することができる。また、ＣＰＵ７５は、迅速に対応する処理を行うことができる。
【００５２】
また、ＣＰＵ７５は、搭載されたアプリケーションにしたがって、各モータの軌道生成を行い、位置や速度、加速度指令等に変換し，バス等を経由して，上述した下位のそれぞれのサーボコントローラ１３−１〜１３−ｎにデータ列の形で出力する。なお、モーションコントローラ６２は、構成、用途によっては、エンコーダやレーザ干渉計等の位置、速度、加速度センサの信号を受信することにより、位置や、速度、加速度フィードバックループを構成することもできる。
【００５３】
ここで、上述したマンマシンコントローラ６１の詳細な機能構成は、上述した図３に示すマンマシンコントローラ１１と同様なものを用いることができるため、ここでの説明は省略する。なお、図３におけるアプリケーション２１及びＩ／Ｆコントローラ２２が、それぞれ図７におけるアプリケーション７１及びＩ／Ｆコントローラ７２となる。
【００５４】
次に、本発明におけるモーションコントローラ６２の詳細な機能構成例について図を用いて説明する。図８は、本発明におけるモーションコントローラの詳細な機能構成の一例を示す図である。図８におけるモーションコントローラは、Ｉ／Ｆコントローラ７３として通信データ変換部８１と、バッファ８２と、通信制御部８３とを有するよう構成されている。
【００５５】
また、Ｉ／Ｆコントローラ７３及びデュアルポートメモリ７４は、Ｉ／Ｆコントローラデータバス８４を介してデータの送受信が可能な状態で接続されている。また、デュアルポートメモリ７４及びＣＰＵ７５は、ＣＰＵデータバス８５を介してデータの送受信が可能な状態で接続されている。更に、Ｉ／Ｆコントローラデータバス８４及びＣＰＵデータバス８５は、バス制御線８６−１，８６−２によりバス間の通信が制御されている。
【００５６】
図８に示すＩ／Ｆコントローラ７３において、通信データ変換部８１は、高速シリアル通信７６を介して送信されたデータを受信し、バッファ８２に保存するためのデータ形式に変換する。また、通信制御部８３は、例えば通信データ変換部８１がバッファ８２に保存したデータの内容が緊急データであった場合、割込み信号を生成し、生成した割込み信号を割込み線７７を介して直接ＣＰＵ７５に送信する。また、バッファ８２に蓄積されたデータは、通信制御部８３によってデュアルポートメモリ７４に書き込まれる。
【００５７】
デュアルポートメモリ７４は、図８に示すように２方向にデータバス、アドレスバスを有するメモリであり、例えば、一方がデータを書き込んでいる際にも、他方から別の領域のデータを読み出したり別の領域に書き込んだりすることができる。これにより、高速な双方向のデータ授受を実現することができる。
【００５８】
次に、本発明におけるモーションコントローラ６２における受信処理手順及び送信処理手順について、図を用いて説明する。図９は、本発明におけるデータ受信時の制御処理手順の一例を示すフローチャートである。また、図１０は、本発明におけるデータ送信時の制御処理手順の一例を示すフローチャートである。
【００５９】
図９における受信時の制御処理は、まずマンマシンコントローラ６１からの制御信号（データ）を受信し（Ｓ２１）、バッファ８２がデータフルであるか否かを判断する（Ｓ２２）。ここで、バッファ８２がデータフルである場合（Ｓ２２において、ＹＥＳ）、受信失敗として（Ｓ２３）、処理を終了する。また、バッファ８２がデータフルでない場合（Ｓ２２において、ＮＯ）、通信データ変換部８１によりデータ変換を行い（Ｓ２４）、データをバッファ８２に格納する（Ｓ２５）。
【００６０】
また、データの内容が緊急データであるか否かを判断する（Ｓ２６）。緊急データである場合（Ｓ２６において、ＹＥＳ）、通信制御部８３がＣＰＵ７５に割込み信号を出力する（Ｓ２７）。Ｓ２７の処理が終了後、又は緊急データでない場合（Ｓ２６において、ＮＯ）、通信制御部８３がデータをデュアルポートメモリ７４に書込み保存を行い（Ｓ２８）、受信処理を終了する。なお、Ｓ２８の処理によりバッファ８２のデータがデュアルポートメモリ７４に正常に保存された場合、バッファ８２の対応するデータは消去されることになる。
【００６１】
一方、図１０に示すように送信時の制御処理は、まず、ＣＰＵ７５が送信するデータをデュアルポートメモリ７４に書込み、保存を行う（Ｓ３１）。次に、通信制御部８３がバッファ８２の容量チェックを行い（Ｓ３２）、バッファ８２がデータフルになっているか否かを判断する（Ｓ３３）。
【００６２】
ここで、バッファ８２がデータフルである場合（Ｓ３３において、ＹＥＳ）、Ｓ３２に戻り、データがフルでなくなるまで確認を続けて行う。なお、この場合には通信制御部８３がバッファ８２に保存されているデータをデュアルポートメモリ７４に書込み、保存するか、ＣＰＵ７５が割込みデータ等によりバッファ８２からデータの読み込み処理を行うことで、バッファ８２に空き容量ができる。
【００６３】
また、バッファ８２がデータフルでない（データフルでなくなった）場合（Ｓ３３において、ＮＯ）、通信制御部８３がデュアルポートメモリ７４のデータをバッファ８２に書き込み（Ｓ３４）、通信データ変換部８１でデータを変換し（Ｓ３５）、データを送信して（Ｓ３６）、送信処理を終了する。
【００６４】
このように、上述した実施形態によれば、デュアルポートメモリ７４を有することでモーションコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。具体的には、上述したように、デュアルポートメモリ７４をＩ／Ｆコントローラ７３と、ＣＰＵ７５との間に介在させることにより、不定期な通信による割込みを減らすことができ、アプリケーションでデータを授受するタイミングを制御することができる。これにより、ＣＰＵ７５の負荷が低減し、パフォーマンスを向上させることができる。
【００６５】
また、通信制御部８３がデータ移動に対する処理を行うため、時間的に高速となり、バッファ８２に保存されるデータがフルとなる時間は殆どなくなる。つまり、従来ではモーションコントローラのＣＰＵが割込みによりデータを移動させていたのに対し、本発明では通信制御部８３がデータ移動に対する処理を行う。したがって、従来の構成では通信回数、データ量が増加すると割込み発生頻度が増え、ＣＰＵの負荷が増大していたが、上述した実施形態の構成により、緊急時を除いて通信での割込みは発生しないため、通信回数、データ量が増加してもＣＰＵの負荷は変わらない。そのため、時間的に高速となり、バッファフルである時間は殆どなくなるため、受信失敗の可能性は飛躍的に低いものとなる。これにより、モーションコントローラ６２は、マンマシンコントローラ６１に対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。
【００６６】
また、一般的な高速シリアルインターフェースを用いることにより、マンマシンコントローラ６１に通常のＰＣ等を使用することができ、これにより特別なハードウェアは不要となる。また、通常用意されているドライバが使用可能となり、本発明における新たなドライバ開発は不要となる。
【００６７】
また、本実施形態におけるＣＰＵ７５は、データ送信時にもデュアルポートメモリ７４にデータを書込みさえすればよく、バッファ８２内のデータが空になるまで待つ必要もなくなる。このように、本発明の構成及び手法を用いることにより、ＣＰＵの負荷を減少させることができ，また通信の高速化が実現できる。
【００６８】
＜モーションコントローラの他の実施形態＞
なお、上述した本発明における実施形態は、モーションコントローラとして、Ｉ／Ｆコントローラと、デュアルメモリと、ＣＰＵとを有するよう構成されていたが、本発明においてはこの限りではなく、例えばＩ／Ｆコントローラ及びデュアルポートメモリのみを備えたモーションコントローラ用の通信制御モジュールとしてもよい。
【００６９】
ここで、上述のモーションコントローラ用の通信制御モジュールの構成例について図を用いて説明する。図１１は、本発明における通信制御モジュールの一例を示す図である。図１１における通信制御モジュール９０は、コネクタ（第１コネクタ部，第２コネクタ部）９１−１，９１−２と、Ｉ／Ｆコントローラ（Ｉ／Ｆ制御部）９２と、デュアルポートメモリ９３とを有するよう構成されている。コネクタ（第１コネクタ部）９１−１は、マンマシンコントローラからのデータを高速シリアル通信を介して受信するためのコネクタである。また、コネクタ９１−１は、受信したデータをＩ／Ｆコントローラ９２に出力する。
【００７０】
Ｉ／Ｆコントローラ９２は、上述した図８に示すように、通信データ変換部と、バッファと、通信制御部とを有するよう構成されている。ここで、通信制御部は、受信したデータが緊急データである場合には、割込み信号を生成し、生成した割込み信号を割込み線９４を介してＣＰＵ（信号処理部）と接続されるコネクタ（第２コネクタ部）９１−２に出力する。これにより、デュアルポートメモリ９３を介すことなく、コネクタ９１−２と接続されるＣＰＵにデータを送信することができる。
【００７１】
また、デュアルポートメモリ９３は、Ｉ／Ｆコントローラ９２とコネクタ９１−２の２方向にデータバス９５−１，９５−２、及びアドレスバス９６−１，９６−２を有するメモリであり、例えば一方が書き込んでいる際にも、他方が別の領域のデータを読み出したり別の領域に書き込んだりすることができる。これにより、高速な双方向のデータ授受を実現することができる。
【００７２】
このように、図１１に示す構成を有する通信制御モジュール９０を、データバス側コネクタ配列に対応したコネクタと接続することにより、簡単に高速な通信が可能となる。
【００７３】
＜制御装置の他の実施形態＞
ここで、本発明におけるモーションコントローラもしくは通信制御モジュールは、図１に示す制御装置に適用することもできるが、その他の制御装置の構成として、例えば、マンマシンコントローラと、モーションコントローラもしくは通信制御モジュールとの間にハブやルータ等の通信分岐装置を設けることによって、特別なソフトウェアを追加することなく、マンマシンコントローラと、モーションコントローラもしくは通信制御モジュールとの関係を「Ｎ対Ｍ（Ｎ，Ｍ≧１）」とすることができる。
【００７４】
ここで、上述の構成例について図を用いて説明する。図１２は、制御装置の他の実施形態の一例を示す図である。なお、図１２に示す例では、マンマシンコントローラとモーションコントローラとの関係を「１対多」とする。図１２において、制御装置１００は、マンマシンインターフェースとしての中央制御装置１０１と、ハブ１０２と、モーションコントローラ１０３−１〜１０３−ｍと、それぞれのモーションコントローラに対応したサーボコントローラ１０４―１１〜１０４ｍｎと、サーボコントローラ１０４−ｍｎに対応するモータ１０５−１１〜１０５−ｍｎとを有するよう構成されている。
【００７５】
図１２に示すような構成において、モーションコントローラ１０３−１〜１０３−ｍに上述した本発明におけるモーションコントローラを適用することにより、上述したように、中央制御装置１０１に対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。これにより、１台の中央制御装置から複数の射出成形機や加工機を同時に迅速に制御することができる。
【００７６】
上述したように本発明によれば、マンマシンコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。具体的には、デュアルポートメモリを有することで不定期な通信による割込みを減らすことができ、アプリケーションでデータを授受するタイミングを制御することができる。これにより、モーションコントローラのＣＰＵの負荷が低減し、パフォーマンスを向上させることができる。
【００７７】
また、通信制御部が割込みに対する処理を行うため、時間的に高速となり、バッファに保存されるデータがフルとなる時間は殆どなくなる。つまり、従来ではモーションコントローラのＣＰＵが割込みによりデータを移動させていたのに対し、本発明では通信制御部が割込みに対する処理を行う。したがって、従来の構成では通信回数、データ量が増加すると割込み発生頻度が増え、ＣＰＵの負荷が増大していたが、上述した実施形態の構成により、緊急時を除いて通信での割込みは発生しないため、通信回数、データ量が増加してもＣＰＵの負荷は変わらない。そのため、時間的に高速となり、バッファフルである時間は殆どなくなるため、受信失敗の可能性は飛躍的に低いものとなる。これにより、モーションコントローラは、マンマシンコントローラに対する制御に余計な負荷をかけることなく、高速に大容量データを授受することができる。
【００７８】
また、一般的な高速シリアルインターフェースを用いることにより、マンマシンコントローラに通常のＰＣ等を使用することができ、これにより特別なハードウェアは不要となる。また、通常用意されているドライバが使用可能となり、本発明における新たなドライバ開発は不要となる。
【００７９】
なお、上述したモーションコントローラは、多軸モータコントローラや位置決めステージコントローラ、射出成形機用コントローラ、レーザ加工機用コントローラ、その他の産業機械コントローラ全般に適用することができる。
【００８０】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【００８１】
【図１】コントローラを有する制御装置全体の概略構成の一例を示す図である。
【図２】コントローラを有する制御装置全体の概略構成の一例を示す図である。
【図３】マンマシンコントローラの詳細な機能構成の一例を示す図である。
【図４】従来におけるモーションコントローラの詳細な機能構成の一例を示す図である。
【図５】従来におけるデータ受信時の制御処理手順の一例を示すフローチャートである。
【図６】従来におけるデータ送信時の制御処理手順の一例を示すフローチャートである。
【図７】本発明のマンマシンコントローラ及びモーションコントローラにおける通信インターフェースを説明するための一例を示す図である。
【図８】本発明におけるモーションコントローラの詳細な機能構成の一例を示す図である。
【図９】本発明におけるデータ受信時の制御処理手順の一例を示すフローチャートである。
【図１０】本発明におけるデータ送信時の制御処理手順の一例を示すフローチャートである。
【図１１】本発明における通信制御モジュールの一例を示す図である。
【図１２】制御装置の他の実施形態の一例を示す図である。
【符号の説明】
【００８２】
１０，１００  制御装置
１１，６１  マンマシンコントローラ
１２，６２，１０３  モーションコントローラ
１３，１０４  サーボコントローラ
１４，１０５  モータ
２１，７１  アプリケーション
２２，２３，７２，９２  Ｉ／Ｆコントローラ
２４，７５  ＣＰＵ
２５  ＲＡＭ
２６  シリアル通信
３１  メイン処理部
３２，８３  通信制御部
３３  汎用Ｉ／Ｆ
３４  入出力装置ドライバ
３５  ＬＡＮドライバ
３６  シリアル通信ドライバ
３７  入出力装置
３８  ＬＡＮコントローラ
３９  ＵＳＢコントローラ
４０  シリアル通信コントローラ
５１，８１  通信データ変換部
５２，８２  バッファ
５３，９５  データバス
５４，７７，９４  割込み線
５５，８６  バス制御線
７４，９３  デュアルポートメモリ
７６  高速シリアル通信
８４  Ｉ／Ｆコントローラデータバス
８５  ＣＰＵデータバス
９０  通信制御モジュール
９１  コネクタ
９６  アドレスバス
１０１  中央制御装置
１０２  ハブ
【図１】
2006350929.tif 000003
【図２】
2006350929.tif 000004
【図３】
2006350929.tif 000005
【図４】
2006350929.tif 000006
【図５】
2006350929.tif 000007
【図６】
2006350929.tif 000008
【図７】
2006350929.tif 000009
【図８】
2006350929.tif 000010
【図９】
2006350929.tif 000011
【図１０】
2006350929.tif 000012
【図１１】
2006350929.tif 000013
【図１２】
2006350929.tif 000014