(57)【特許請求の範囲】
【請求項１】
他のモータ駆動制御手段に接続されたシリアル通信入力ラインと、マスタ制御手段へモータ制御情報を通知するためのシリアル通信出力ラインと、を介して前記モータ制御情報の同期通信を行うモータ駆動制御手段が備えるシリアル通信装置であって、
前記シリアル通信入力ラインからの受信データを受信する受信手段と、
前記受信手段が受信した前記受信データを一時的に記憶する退避バッファと、
前記モータ駆動制御手段が制御するモータからの送信データを記憶する送信バッファと、
前記シリアル通信出力ラインにデータを送信する送信手段と、
通信周期内の所定の送信タイミングであるか否かを判定する送信タイミング判定手段と、
前記送信タイミング判定手段の判定結果および前記送信手段がデータ送信中であるか否かに基づいて、前記送信手段から前記受信データまたは前記送信データのいずれを送信するか制御する送信制御手段と
を備えたことを特徴とするシリアル通信装置。
【請求項２】
前記送信制御手段は、
前記送信タイミング判定手段が前記送信タイミングではないと判定し、前記送信手段がデータ送信中でない場合は、前記受信手段が受信した前記受信データを前記送信手段から送信し、
前記送信タイミング判定手段が前記送信タイミングであると判定し、前記送信手段がデータ送信中でない場合は、前記送信バッファに記憶されている前記送信データを前記送信手段から送信する
ことを特徴とした請求項１に記載のシリアル通信装置。
【請求項３】
前記送信制御手段は、
前記送信タイミング判定手段が前記送信タイミングであると判定し、前記送信手段がデータ送信中である場合は、前記送信手段のデータ送信終了後に、前記送信バッファに記憶されている前記送信データを前記送信手段から送信する
ことを特徴とした請求項２に記載のシリアル通信装置。
【請求項４】
前記送信制御手段は、
前記送信タイミング判定手段が前記送信タイミングではないと判定し、前記送信手段がデータ送信中である場合は、前記受信手段が受信した前記受信データを前記退避バッファに記憶しておき、前記送信手段のデータ送信終了後に、前記退避バッファに記憶された前記受信データを前記送信手段から送信する
ことを特徴とした請求項２または３に記載のシリアル通信装置。
【請求項５】
前記送信制御手段は、
前記送信タイミング判定手段が前記送信タイミングであると判定し、前記送信手段がデータ送信中であり、前記通信周期を基にして、予め定められた前記送信データの送信タイミングが経過した時点からさらに所定時間が経過しても前記データの送信が終了しない場合は、前記送信データの前記送信タイミングから前記所定時間継続したときに当該データ送信を中止して、前記送信バッファに記憶されている前記送信データを前記送信手段から送信する
ことを特徴とした請求項２〜４のいずれか１項に記載のシリアル通信装置。
【請求項６】
前記マスタ制御手段から受信したデータに基づいて前記通信周期を決定する
ことを特徴とした請求項１〜５のいずれか１項に記載のシリアル通信装置。
【請求項７】
前記モータ制御情報は、前記モータの位置フィードバック、速度フィードバック、トルクフィードバックなどの状態量、制御機能の状態、あるいはアラーム情報のいずれかを含む
ことを特徴とした請求項１〜６のいずれか１項に記載のシリアル通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業機械における駆動システムに係り、特にコントローラと駆動制御装置間のシリアル通信に関する。
【背景技術】
【０００２】
産業機械における駆動制御システムでは、モーションコントローラ等のマスタ制御装置がサーボモータ等を駆動する駆動制御装置を制御するように構成される。そして、各駆動制御装置は、マスタ制御装置に設けられる通信ポートにシリアル通信ラインでディジーチェーン方式で接続されている。すなわち、マスタ制御装置は、ディジーチェーン接続の通信ラインを介して各駆動制御装置に対し位置、速度、トルクなどの指令を与え、各駆動制御装置は、ディジーチェーン接続の通信ラインを介して、位置フィードバック、速度フィードバック、トルクフィードバックなどの状態量や、制御機能の状態、アラーム情報などをマスタ制御装置に送るようになっている。 
【０００３】
マスタ制御装置と駆動制御装置を接続する通信ラインは、マスタ制御装置から各駆動制御装置への下り送信線と、各駆動制御装置から数値制御装置への上り送信線とで構成されている。このようにディジーチェーン接続で各制御装置を接続した場合、上り送信線には複数の駆動制御装置からデータが送信されるので、システムとしての通信周期を時分割して各駆動制御装置の送信タイミングを決定し、送信データの衝突が発生しないようにしている。そして、各駆動制御装置は、通信周期カウンタによってその送信タイミングを生成し、通信システム全体の同期を取っている。
【０００４】
このように構成された駆動制御システムにおいて、システム全体の性能を向上させるためには、通信速度を高速化し通信周期を短縮することが不可欠となる。しかしながら、通信速度が高速になってくると、伝送路の遅延や通信ポートでの同期パターン抽出の遅延、ディジーチェーン接続のため必要となるデータのバッファリングによる遅延などが無視できなくなってくる。そして、これらの遅延によって通信タイミングにズレが生じ、データの衝突が発生する可能性が高くなるという問題が生じる。 
【０００５】
このような遅延によるデータの衝突を回避するため、通信の初期段階において各制御装置間の通信遅延時間を測定し、各駆動制御装置の送信タイミングを該通信遅延時間に基づいて補正する技術が開発されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２２７２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の技術によれば高速のシリアル通信を行うシステムでは、通信遅延時間によって送信タイミングを補正しても、各制御装置の基準クロックのズレによる同期ジッタなどにより、特に通信データの間隔を狭くした場合には、データの衝突が発生してしまう場合がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、ネットワークの同期ジッタなどによるデータの衝突を回避し、データの通信周期を最小にすることが可能なシリアル通信装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、この発明に係るシリアル通信装置は、他のモータ駆動制御手段に接続されたシリアル通信入力ラインと、マスタ制御手段へモータ制御情報を通知するためのシリアル通信出力ラインと、を介して前記モータ制御情報の同期通信を行うモータ駆動制御手段が備えるシリアル通信装置であって、前記シリアル通信入力ラインからの受信データを受信する受信手段と、前記受信手段が受信した前記受信データを一時的に記憶する退避バッファと、前記モータ駆動制御手段が制御するモータからの送信データを記憶する送信バッファと、前記シリアル通信出力ラインにデータを送信する送信手段と、通信周期内の所定の送信タイミングであるか否かを判定する送信タイミング判定手段と、前記送信タイミング判定手段の判定結果および前記送信手段がデータ送信中であるか否かに基づいて、前記送信手段から前記受信データまたは前記送信データのいずれを送信するか制御する送信制御手段とを備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、モータ駆動制御装置間をシリアル通信接続した通信ネットワークを有する駆動制御システムにおいて、ネットワークの同期ジッタなどによる通信データの衝突を回避できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施の形態に係る駆動制御システムの構成図である。
【図２】図２は、本発明の実施の形態に係る送受信データのタイミングチャートである。
【図３】図３は、本発明の実施の形態に係る駆動制御装置の構成を示すブロック図である。
【図４】図４は、本発明の実施の形態に係るシリアル通信装置の詳細を示すブロック図である。
【図５】図５は、本発明の実施の形態に係る通信手段における受送信のタイミングチャートである。
【図６】図６は、本発明の実施の形態に係る通信手段における受送信のタイミングチャートである。
【図７】図７は、本発明の実施の形態に係る通信手段における受送信のタイミングチャートである。
【図８】図８は、本発明の実施の形態に係る通信手段における受送信のタイミングチャートである。
【図９】図９は、本発明の実施の形態に係る送信制御手段の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかるシリアル通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態
図１は、この発明の実施例１に係るシリアル通信装置を用いた駆動制御システム１０のシステム構成を示す。図１において、駆動制御システム１０は、マスタ制御装置１、駆動制御装置１１および１２、モータ２１および２２を備える。駆動制御装置１１および１２はそれぞれモータ２１および２２を駆動制御するモータ駆動制御手段である。マスタ制御装置１は、駆動制御装置１１および１２に駆動指令を与えるマスタ制御手段である。
【００１４】
シリアル通信ライン３１および３２はマスタ制御装置１から駆動制御装置１１および１２へデータを伝送する通信ラインで、位置、速度、トルクなどの指令を駆動制御装置１１および１２に与える。シリアル通信ライン３３（シリアル通信入力ライン）、シリアル通信ライン３４（シリアル通信出力ライン）は駆動制御装置１１および１２から数値制御装置であるマスタ制御装置１へデータを伝送する通信ラインで、駆動制御装置１１および１２の位置フィードバック、速度フィードバック、トルクフィードバックなどの状態量や、制御機能の状態、アラーム情報などをマスタ制御装置１に送る。
【００１５】
図２は、マスタ制御装置１と駆動制御装置１１および１２の間で送受信されるデータのタイミングを示すタイミングチャートである。図２の（Ａ）はマスタ制御装置１から駆動制御装置１１および１２へ送信されるデータを示し、図２の（Ｂ）は駆動制御装置１１および１２からマスタ制御装置１へ送信されるデータを示す。
【００１６】
図２においてＴ０は通信周期を示す。マスタ制御装置１は図２の（Ａ）のように通信周期Ｔ０の間隔で全ての駆動制御装置である駆動制御装置１１および１２にデータ１５１を送信する。一方、駆動制御装置１１および１２各々からのマスタ制御装置１へのデータの送信は、図２の（Ｂ）に示すように時分割で行われる。すなわち、駆動制御装置１１、１２は通信周期の始まりからそれぞれＴ１、Ｔ２経過後にそれぞれデータ１５２、１５３の送信を開始するように構成されている。このため、各駆動制御装置１１、１２が送信を開始するタイミングＴ１、Ｔ２は各駆動制御装置１１、１２からの送信期間が重ならないようにあらかじめ設定されている。
【００１７】
図３は駆動制御装置１１あるいは１２の構成を示すブロック図であり、例として駆動制御装置１２の構成を示している。図３において、通信周期カウンタ４１は通信のための基準となるクロックを生成し通信周期Ｔ０を管理する。シリアル通信装置４２はマスタ制御装置１への通信を処理する。シリアル通信装置４３はマスタ制御装置１からの通信を処理する。モータ制御手段４４はモータ２２を駆動制御する。
【００１８】
マスタ制御装置１からのデータは、シリアル通信ライン３２を介して駆動制御装置１２に送られてくる。駆動制御装置１２内のシリアル通信装置４３はマスタ制御装置１からのデータを受信すると、そのデータをシリアル通信ライン３１を介して駆動制御装置１１に送信する。それと同時に、データを受信したタイミングで通信周期カウンタ４１をリセットし、通信周期カウンタ４１をマスタ制御装置１の通信周期と同期させる。さらに、シリアル通信装置４３は受信したマスタ制御装置１からのデータを駆動指令としてモータ制御手段４４へ出力する。
【００１９】
モータ制御手段４４は、受け取った駆動指令に基づいてモータ２２を駆動制御し、そのステータス情報をシリアル通信装置４２に出力する。シリアル通信装置４２は、ステータス情報をシリアル通信ライン３４に出力することによりマスタ制御装置１に送信する。シリアル通信装置４２はモータ制御手段４４のステータス情報をマスタ制御装置１に送信するのに加えて、シリアル通信ライン３３を介して受信したデータをシリアル通信ライン３４に送信することにより駆動制御装置１１から送られてくるデータをマスタ制御装置１に中継する。
【００２０】
図４はシリアル通信装置４２の詳細な構成を示すブロック図である。図４において、受信手段５１は、駆動制御装置１１が送信するデータをシリアル通信ライン３３から受信する受信手段である。退避バッファ５２は、受信手段５１にて受信したデータを一時的に記憶するバッファ記憶手段である。送信手段５３は、シリアル通信ライン３４にデータを送信するための送信手段である。送信制御手段５５は、送信手段５３からのデータ送信を制御する。また、送信タイミング判定手段５４は、通信周期カウンタ４１のカウント値に基づいてあらかじめ割り当てられた送信タイミングとなったか否かを判定する。先に述べたように、駆動制御装置１１、１２は通信周期の始まりからそれぞれＴ１、Ｔ２経過後にデータの送信を開始するように設定されている。さらに、送信バッファ５７は、送信データを記憶するバッファ記憶手段であり、モータ制御手段４４からのステータス情報を送信データとして格納している。
【００２１】
次に、図５〜図８に示したタイミングチャートを用いて送信制御手段５５の動作を説明する。
【００２２】
まず、図５はシリアル通信装置４２における受信と送信のタイミングを示すタイミングチャートであり、同期ジッタが無いときのタイミングチャートを示す。図５においてＴ０は通信周期である。通信周期の始まりからＴ１経過したタイミングで駆動制御装置１１はデータ送信を開始するので、受信手段５１はこのタイミングで受信データ１０１の受信を開始する。送信制御手段５５は、受信手段５１において受信データ１０１の受信が開始された時に送信手段５３においてデータ送信中でなければ受信手段５１から受信した受信データ１０１をそのまま送信データ１０２として送信手段５３から送信する。次に、送信タイミング判定手段５４は通信周期の始まりからＴ２経過した時点で送信タイミングと判定する。このとき、送信手段５３においてデータ送信中でなければ、送信バッファ５７に記憶されたデータを送信データ１０３として送信手段５３から送信する。
【００２３】
図６は、同期ジッタの影響で通信タイミングが遅れた場合の送信制御手段５５の動作を示すタイミングチャートである。本来、駆動制御装置１１は通信周期の始まりからＴ１経過したタイミングでデータ送信を開始するように設定されているが、何らかの要因でそのタイミングが遅れ、通信周期の始まりからＴ１’（Ｔ１’＞Ｔ１）経過したタイミングでデータ送信を開始したとする。受信手段５１は通信周期の始まりからＴ１’経過したタイミングから受信データ１１１の受信を開始し、送信手段５３はこれをそのまま送信データ１１２として送信する。しかし、タイミングが遅れているため、通信周期の始まりからＴ２経過した時点までにデータの受信および送信が終了しない。送信タイミング判定手段５４は通信周期の始まりからＴ２経過した時点で送信タイミングと判定するが、送信手段５３は送信データ１１２を送信中なので、送信制御手段５５は送信データ１１２の送信が終了するまで待ち、送信中の送信データ１１２の送信終了後に送信バッファ５７に記憶されたデータを送信データ１１３として送信手段５３から送信する。
【００２４】
図７は、同期ジッタの影響で通信タイミングが大きく遅れた場合の送信制御手段５５の動作を説明するタイミングチャートである。駆動制御装置１１からのデータ送信のタイミングが何らかの要因で大きく遅れ、通信周期の始まりからＴ１'’（Ｔ１'’＞Ｔ１）経過したタイミングでデータ送信を開始したとする。受信手段５１は通信周期の始まりからＴ１'’経過したタイミングから受信データ１２１の受信を開始し、送信手段５３はこれをそのまま送信データ１２２として送信する。しかし、タイミングが遅れているため、通信周期の始まりからＴ２経過した時点までにデータの受信および送信が終了しない。送信タイミング判定手段５４は通信周期の始まりからＴ２経過した時点で送信タイミングと判定するが、送信手段５３は送信データ１２２を送信中なので、送信制御手段５５は送信データ１２２の送信の終了を待つ。そして、送信制御手段５５は、通信周期の始まりからＴ２経過した時点からさらに経過した時間を計測し、あらかじめ決められた所定の時間ΔＴを経過しても送信データ１２２の送信が終了しない場合は、送信データ１２２の送信を中止し、送信バッファ５７に記憶されたデータを送信データ１２３として送信手段５３から送信を開始する。
【００２５】
図８は、同期ジッタの影響で通信タイミングが進んだ場合の送信制御手段５５の動作を示すタイミングチャートである。駆動制御装置１１からのデータ送信のタイミングが何らかの要因で早くなり、通信周期の始まりからＴ１'''（Ｔ１'''＜Ｔ１）経過したタイミングからデータ送信を開始したとする。受信手段５１は通信周期の始まりからＴ１'''経過したタイミングから受信データ１３１の受信を開始するが、タイミングが早いために送信手段５３では送信データ１３２の送信が終了していない。この場合、退避バッファ５２は受信手段５１にて受信した受信データ１３１を記憶し、送信制御手段５５は送信中の送信データ１３２の送信が終了するまで待ち、送信データ１３２の送信終了後に退避バッファ５２に記憶された受信データ１３１を送信データ１３３として送信手段５３から送信する。
【００２６】
図９は、図５〜図８のタイミングチャートを用いて上に説明した送信制御手段５５の動作をフローチャートで示したものである。
【００２７】
まず、ステップＳ１０１で送信タイミング判定手段５４により送信タイミングであるか否かが判定される。具体的には、通信周期の始まりからＴ２経過した時点であるか否かが判定される。送信タイミング（以下、通信周期の始まりからＴ２経過した時点を示す）でない場合（ステップＳ１０１：Ｎｏ）はステップＳ１０２へ、送信タイミングである場合（ステップＳ１０１：Ｙｅｓ）はステップＳ１０３へそれぞれ進む。
【００２８】
ステップＳ１０２では受信手段５１においてデータの受信が開始されたかどうかを判断し、開始された場合（ステップＳ１０２：Ｙｅｓ）はステップＳ１０７へ進み、開始されていない場合（ステップＳ１０２：Ｎｏ）はステップＳ１０１に戻る。
【００２９】
ステップＳ１０３では送信手段５３においてデータ送信中かどうかを判定し、送信中でなければ（ステップＳ１０３：Ｎｏ）ステップＳ１０６へ進んで送信バッファ５７に記憶されたデータの送信を開始する。これは、図５で送信データ１０３をオンタイム（通信周期の始まりからＴ２経過した時点）に送信するケースである。ステップＳ１０３で送信中であった場合（ステップＳ１０３：Ｙｅｓ）は、ステップＳ１０４で送信手段５３の送信が終了したかどうかを判断する。
【００３０】
送信が終了していない場合（ステップＳ１０４：Ｎｏ）はステップＳ１０５で送信タイミングから所定時間ΔＴが経過したかどうかを判断し、所定時間ΔＴが経過していない場合（ステップＳ１０５：Ｎｏ）はステップＳ１０４に戻る。
【００３１】
ステップＳ１０４で送信が終了している場合（ステップＳ１０４：Ｙｅｓ）は、ステップＳ１０６へ進んで送信バッファ５７に記憶されたデータの送信を開始する。これは、図６で送信データ１１３を送信するケースである。また、ステップＳ１０５で送信タイミングから所定時間ΔＴが経過した場合（ステップＳ１０５：Ｙｅｓ）は、送信データの送信が終了するのを待たずにステップＳ１０６に進み、送信バッファ５７に記憶されたデータの送信を開始する。これは、図７で送信データ１２３を送信するケースである。
【００３２】
ステップＳ１０７では送信手段５３においてデータ送信中かどうかを判定し、送信中でなければ（ステップＳ１０７：Ｎｏ）ステップＳ１０８へ進んで受信手段５１で受信したデータをそのまま送信手段５３に送り、送信を開始する。これには、図５で受信データ１０１をそのまま送信データ１０２として送信するケース、図６で受信データ１１１をそのまま送信データ１１２として送信するケース、図７で受信データ１２１をそのまま送信データ１２２として送信するケース、さらには図８で受信データ１３１を受信した時点で既に送信データ１３２の送信が完了しているケースが含まれる。
【００３３】
ステップＳ１０７で送信中であった場合（ステップＳ１０７：Ｙｅｓ）はステップＳ１０９に進み、退避バッファ５２において受信手段５１で受信したデータの記憶を開始する。
【００３４】
そして、ステップＳ１０９の後は、ステップＳ１１０で送信手段５３がデータ送信を終了した（ステップＳ１１０：Ｙｅｓ）か、否か（ステップＳ１１０：Ｎｏ）を待ち、送信終了後（ステップＳ１１０：Ｙｅｓ）にステップＳ１１１に進んで、退避バッファ５２に記憶したデータを読み出して送信手段５３よりデータ送信を開始する。これは、図８で退避バッファ５２に記憶された受信データ１３１を送信データ１３３として送信手段５３から送信するケースが該当する。
【００３５】
モーションコントローラで複数のサーボモータを駆動するために、各制御装置間をディジーチェーン方式でシリアル通信を接続する駆動制御システムなどにおいては、通信の高速化により、通信遅延や通信同期ジッタなどの影響で通信タイミングがずれた場合に通信データの衝突が発生していた。しかし、上記したように、この実施の形態にかかるシリアル通信装置によれば、送信制御手段５５がデータの衝突が発生しないように送信手段５３の動作を制御するので、通信周期を短くして通信時間の余裕を切り詰めた場合でも、ネットワークの同期ジッタなどによるデータの衝突を回避して、データの通信周期を最小にすることが可能となる。即ち、通信速度が高速化しても、通信データの衝突を回避して問題なく通信が継続できるシリアル通信を提供可能となり、駆動制御システムの高性能化を実現することができる。
【００３６】
更に、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。
【００３７】
例えば、上記実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、上記実施の形態における構成要件を適宜組み合わせてもよい。
【産業上の利用可能性】
【００３８】
以上のように、本発明にかかるシリアル通信装置は、産業機械におけるコントローラと駆動制御装置間のシリアル通信に用いられるのに適している。
【符号の説明】
【００３９】
１  マスタ制御装置
１０  駆動制御システム
１１、１２  駆動制御装置
３１〜３６  シリアル通信ライン
４１  通信周期カウンタ
４２、４３  シリアル通信装置
４４  モータ制御手段
５１  受信手段
５２  退避バッファ
５３  送信手段
５４  送信タイミング判定手段
５５  送信制御手段
５７  送信バッファ
１０１、１１１、１２１、１３１  受信データ
１０２、１０３、１１２、１１３、１２２、１２３、１３２、１３３  送信データ
１５１、１５２、１５３  データ
Ｓ１０１〜Ｓ１１１  ステップ
【図１】
0005660922.tif 000002
【図２】
0005660922.tif 000003
【図３】
0005660922.tif 000004
【図４】
0005660922.tif 000005
【図５】
0005660922.tif 000006
【図６】
0005660922.tif 000007
【図７】
0005660922.tif 000008
【図８】
0005660922.tif 000009
【図９】
0005660922.tif 000010