JP6869502B2 - マスタ装置、通信方法及び通信プログラム - Google Patents

マスタ装置、通信方法及び通信プログラム Download PDF

Info

Publication number
JP6869502B2
JP6869502B2 JP2017035346A JP2017035346A JP6869502B2 JP 6869502 B2 JP6869502 B2 JP 6869502B2 JP 2017035346 A JP2017035346 A JP 2017035346A JP 2017035346 A JP2017035346 A JP 2017035346A JP 6869502 B2 JP6869502 B2 JP 6869502B2
Authority
JP
Japan
Prior art keywords
information
transmission
position control
control information
types
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017035346A
Other languages
English (en)
Other versions
JP2018142825A (ja
Inventor
細野 義雅
義雅 細野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IAI Corp
Original Assignee
IAI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IAI Corp filed Critical IAI Corp
Priority to JP2017035346A priority Critical patent/JP6869502B2/ja
Publication of JP2018142825A publication Critical patent/JP2018142825A/ja
Application granted granted Critical
Publication of JP6869502B2 publication Critical patent/JP6869502B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、マスタ装置、通信方法及び通信プログラムに関する。
ネットワークを介した複数の機械等の制御システムにおいては、マスタ装置がネットワークに接続されたスレーブ装置に対して、制御に必要な各種データを送信する(例えば、特許文献1)。
国際公開第2015/133175号
しかしながら、上述した従来の制御システムでは、マスタ装置がスレーブ装置に向けて複数の情報を異なる周期で送信する場合に、効率的な送信のスケジューリングを行うことができない。
本発明は、問題点に鑑みてなされたものであり、マスタ装置がスレーブ装置に向けて複数の情報を異なる周期で送信する場合に、効率的な送信のスケジューリングを行うことを目的とする。
目的を達成するために、本発明の第1の観点に係るマスタ装置は、
通信路に接続されるスレーブ装置へ情報を送信するマスタ装置であって、
送信周期の異なる複数種類の情報の送信タイミングを示すテーブルを生成するテーブル生成手段と、
前記テーブル生成手段により生成された前記テーブルのうち、送信対象の前記複数種類の情報のそれぞれの送信周期に応じたテーブルを選択するテーブル選択手段と、
前記テーブル選択手段により選択された前記テーブルに基づく送信タイミングで、前記スレーブ装置へ前記複数種類の情報を送信する情報送信手段と、
を備え
前記テーブル生成手段は、前記テーブルに含まれる所定のエントリの時間を可変とすることにより、前記テーブルの周期を基準よりも小さな単位で設定可能であることを特徴とする。
前記テーブル生成手段は、前記複数種類の情報のうち、最短の送信周期の情報の送信を優先するテーブルを生成するようにしてもよい。
前記テーブル生成手段は、前記最短の送信周期の情報の送信タイミングと空き時間とを含む第1のテーブルを生成し、前記第1のテーブルにおける空き時間に前記最短の送信周期の情報以外の情報の送信タイミングを設定した第2のテーブルを生成するようにしてもよい。
前記テーブル生成手段は、前記複数種類の情報のそれぞれの送信周期の最小公倍数に対応する数である複数の前記第1のテーブルのそれぞれにおける空き時間に前記最短の送信周期の情報以外の情報の送信タイミングを設定した前記第2のテーブルを生成するようにしてもよい。
前記テーブル生成手段は、前記複数種類の情報の送信タイミングと再送タイミングとを示す第3のテーブルを生成するようにしてもよい。
前記情報送信手段は、前記テーブルに基づく送信タイミングにおいて、送信すべき情報を送信した後に、他の情報を送信するようにしてもよい。
前記情報送信手段は、前記テーブルに基づく送信タイミングにおいて、送信すべき情報を送信した後に、再送用の情報を送信するようにしてもよい。
目的を達成するために、本発明の第2の観点に係る通信方法は、
通信路に接続されるスレーブ装置へ情報を送信するマスタ装置における通信方法であって、
送信周期の異なる複数種類の情報の送信タイミングを示すテーブルを生成するテーブル生成ステップと、
前記テーブル生成ステップにおいて生成された前記テーブルのうち、送信対象の前記複数種類の情報のそれぞれの送信周期に応じたテーブルを選択するテーブル選択ステップと、
前記テーブル選択ステップにおいて選択された前記テーブルに基づく送信タイミングで、前記スレーブ装置へ前記複数種類の情報を送信する情報送信ステップと、
を含み、
前記テーブル生成ステップでは、前記テーブルに含まれる所定のエントリの時間を可変とすることにより、前記テーブルの周期を基準よりも小さな単位で設定可能であることを特徴とする。
目的を達成するために、本発明の第3の観点に係る通信プログラムは、
通信路に接続されるスレーブ装置へ情報を送信するマスタ装置としてのコンピュータを、
送信周期の異なる複数種類の情報の送信タイミングを示すテーブルを生成するテーブル生成手段、
前記テーブル生成手段により生成された前記テーブルのうち、送信対象の前記複数種類の情報のそれぞれの送信周期に応じたテーブルを選択するテーブル選択手段、
前記テーブル選択手段により選択された前記テーブルに基づく送信タイミングで、前記スレーブ装置へ前記複数種類の情報を送信する情報送信手段、
として機能させ
前記テーブル生成手段は、前記テーブルに含まれる所定のエントリの時間を可変とすることにより、前記テーブルの周期を基準よりも小さな単位で設定可能であることを特徴とする。
本発明によれば、マスタ装置がスレーブ装置に向けて複数の情報を異なる周期で送信する場合に、効率的な送信のスケジューリングを行うことができる。
実施形態に係る通信システムの概略構成を示す図である。 実施形態に係るメインコントローラの詳細構成を示す図である。 実施形態に係るドライバの詳細構成を示す図である。 実施形態に係るシリアルデータの伝送態様の一例を示す図である。 実施形態に係る位置制御情報の送信タイミングの一例を示す図である。 実施形態に係る位置制御情報の基本テーブルの一例を示す図である。 実施形態に係る混在テーブルの一例を示す図である。 実施形態に係る混在テーブルの一例を示す図である。 実施形態に係るメインコントローラ内の制御部の構成を示す図である。 実施形態に係るメインコントローラによる位置制御情報の送信及び再送の動作を示すフローチャートである。
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
図1は、実施形態に係るモータ制御システムの概略構成を示す図である。図1に示す通信システムとしてのモータ制御システム1は、ロボットとしてのアクチュエータ等に搭載されるモータ300a1、300a2、300a3、300a4、300b1、300b2、300b3、300b4(以下、モータ300a1〜300b4をまとめて適宜「モータ300」と称する)を制御するものである。モータ制御システム1は、マスタ装置としてのメインコントローラ100と、スレーブ装置としてのドライバユニット200a及びドライバユニット200b(以下、ドライバユニット200a及びドライバユニット200bをまとめて適宜「ドライバユニット200」と称する)と、ネットワーク400とを含んで構成される。
メインコントローラ100、ドライバユニット200a及びドライバユニット200bは、ネットワーク400に接続される。ネットワーク400は、リング構成のネットワークトポロジを有する通信路である。実施形態では、ネットワーク400がリング構成のネットワークトポロジを有することにより、メインコントローラ100が送信する情報は、ネットワーク400を介してドライバユニット200a及びドライバユニット200bへ順次伝送されて、再びメインコントローラ100へ戻ることが可能である。
実施形態において、メインコントローラ100は、ロボット内の可動部の位置を制御する位置制御を行うことができ、当該ロボットの可動部を駆動するモータ300a1〜300b4を制御するための制御情報として位置制御情報を送信する。ドライバユニット200a及び200bは、位置制御情報を受信して、当該位置制御情報に基づいてモータ300a1〜300b4を制御する。また、ドライバユニット200a及び200bは、位置制御情報の受信に対する応答として、当該位置制御情報をロボットの可動部の位置を示す位置データに置き換えてメインコントローラ100へ返信する。また、ドライバユニット200a及び200bは、位置制御情報が正常に受信することができなかった場合には、受信異常が生じている位置制御情報を、受信異常が生じている旨を示す無効情報に置き換えてメインコントローラ100へ返信する。メインコントローラ100は、無効情報が返信された場合や、送信した位置制御情報に対する応答がない場合には、位置制御情報の再送を行う。
上述した位置制御情報の送受信に先立って、メインコントローラ100は、位置制御情報の送信タイミングを示すテーブルを生成、選択する処理(テーブル処理)を行う。テーブル処理の詳細については後述する。
図2は、実施形態に係るメインコントローラ100の詳細構成を示す図である。図2に示すメインコントローラ100は、制御部102、メモリ104、通信制御部106、通信インタフェース(I/F)108、通信インタフェース(I/F)110を含んで構成される。
制御部102は、例えばCPU(Central Processing Unit)によって構成される。制御部102は、メモリ104に記憶されたプログラムに従ってソフトウェア処理を実行することにより、ロボット内の可動部の位置を制御する処理や、配置判別処理を行うことが可能である。
メモリ104は、例えばRAM(Random Access Memory)やROM(Read Only Memory)である。メモリ104は、位置制御に用いられる各種情報(プログラム等)を記憶する。通信制御部106は、通信I/F110を介したドライバユニット200aとの通信や、通信I/F108を介したドライバユニット200bとの通信を行う。
図3は、実施形態に係るドライバユニット200aの詳細構成を示す図である。図3に示すドライバユニット200aは、制御部202、メモリ204、通信制御部206、通信インタフェース(I/F)208、通信インタフェース(I/F)210を含んで構成される。
制御部202は、例えばCPU(Central Processing Unit)によって構成される。制御部202は、メモリ204に記憶されたプログラムに従ってソフトウェア処理を実行することにより、配置判別処理を行う。また、制御部202は、メモリ204に記憶されたプログラムに従ってソフトウェア処理を実行することにより、位置制御情報に基づいて、モータ300a1を制御するドライバであるモータ制御部212a、モータ300a2を制御するドライバであるモータ制御部212b、モータ300a3を制御するドライバであるモータ制御部212c、モータ300a4を制御するドライバであるモータ制御部212dの機能を実現する。
メモリ204は、例えばRAMやROMである。メモリ204は、各種情報(プログラム等)を記憶する。通信制御部206は、通信I/F208を介したメインコントローラ100との通信や、通信I/F210を介したドライバユニット200bとの通信を行う。
ドライバユニット200bの構成は、図3に示すドライバユニット200aの構成と同様である。制御部202は、メモリ204に記憶されたプログラムに従ってソフトウェア処理を実行することにより、配置判別処理を行う。また、制御部202は、メモリ204に記憶されたプログラムに従ってソフトウェア処理を実行することにより、位置制御情報に基づいて、モータ300b1を制御するドライバであるモータ制御部212a、モータ300b2を制御するドライバであるモータ制御部212b、モータ300b3を制御するドライバであるモータ制御部212c、モータ300b4を制御するドライバであるモータ制御部212dの機能を実現する。また、通信制御部206は、通信I/F208を介したドライバユニット200aとの通信や、通信I/F210を介したメインコントローラ100との通信を行う。
メインコントローラ100、ドライバユニット200a、ドライバユニット200bの相互の通信では、送信側がパラレルのデータを伝送単位であるシリアルのデータに変換してネットワーク400へ出力し、受信側が入力されたシリアルのデータをパラレルのデータに戻す。例えば、図4に示すメインコントローラ100内の通信I/F110とドライバユニット200a内の通信I/F208との間の通信では、メインコントローラ100内の通信I/F110は、パラレルのデータを22ビットのシリアルのデータに変換してネットワーク400へ出力する。一方、通信I/F208は、ネットワーク400を伝送されたシリアルのデータを入力してパラレルのデータに戻す。
次に、テーブル処理について説明する。本実施形態において、ドライバユニット200aにおけるモータ300a1〜300a4の位置制御の周期は、100[μs]である。このため、メインコントローラ100がドライバユニット200aに対する位置制御情報(位置制御情報A)のみを送信する場合の送信周期は、図5(a)に示すように100[μs]となる。また、ドライバユニット200bにおけるモータ300b1〜300b4の位置制御の周期は、1000[μs]であるものとする。このため、メインコントローラ100がドライバユニット200bに対する位置制御情報(位置制御情報B)のみを送信する場合の送信周期は、図5(b)に示すように1000[μs]となる。
一方、メインコントローラ100が位置制御情報Aと位置制御情報Bとを混在して送信する場合には、ドライバユニット200aにおけるモータ300a1〜300a4の位置制御の周期の方がドライバユニット200bにおけるモータ300b1〜300b4の位置制御の周期より短く、時間的な条件が厳しい。このことに鑑み、メインコントローラ100は、位置制御情報Aを位置制御情報Bよりも優先して送信することが望ましい。そこで、メインコントローラ100は、図5(c)に示すように、概念的には位置制御情報Aの送信周期である100[μs]の期間において、位置制御情報Aを優先して送信し、空き時間に位置制御情報Bを分割して送信する。
メインコントローラ100内の制御部102は、位置制御情報Aの送信周期である100[μs]の期間において、位置制御情報Aを優先して送信し、空き時間に位置制御情報Bを分割して送信するという条件を満たすように、位置制御情報の送信タイミングを示すテーブルを生成する。以下において、0.4[μs]の時間(送信時間)に送信される情報を1ブロックとした場合、位置制御情報Aは、42個のブロックからなり、位置制御情報Bは、128個のブロックからなるものとする。
具体的には、制御部102は、まず、位置制御情報Aの送信タイミングを示すテーブル(位置制御情報A基本テーブル)を生成する。図6は、位置制御情報A基本テーブルの一例を示す図である。
図6に示す位置制御情報A基本テーブルは、位置制御情報Aの送信周期である100[μs]の期間において、どの期間にどの情報を送信するかを示すテーブルである。エントリは、0.4[μs]の時間(送信時間)に相当するものであり、当該送信時間において1個のブロックが送信可能である。SYNCコードのように1ワード単位のコードであれば、20ワードを送信可能である。従って、位置制御情報A基本テーブルに含まれる250個のエントリは、位置制御情報Aの送信周期である100[μs]の期間に相当し、当該期間において250個のブロックが送信可能である。
図6に示す位置制御情報A基本テーブルにおいて、時間順に説明すると、エントリSYNCは、空データの期間であり、2個存在する。エントリSTRT0は、位置制御情報Aの送信周期である100[μs]の期間の開始を示すデータの期間であり、1個存在する。エントリSENDP−Aは、初回送信の場合の位置制御情報Aの期間であり、42個存在する。エントリSENDP−Aにおいては、位置制御情報Aを構成するブロックを順番に送信する送信方法の指定と、位置制御情報Aを構成するブロックのうち、特定のブロックのみを送信する送信方法の指定が可能である。特定のブロックのみを送信する送信方法の指定は、例えばエラーが発生しやすい箇所に敷設されたケーブルを伝送されるブロック等の送信に用いられる。エントリ空きは、この時点では目的が特定されていない期間であり、15個存在する。エントリRSENDP−Aは、再送の場合の位置制御情報Aの期間であり、125個存在する。エントリRSENDP−Aにおいては、位置制御情報Aを構成する未受信のブロックを順番に送信する。
エントリ空きは、この時点では目的が特定されていない期間であり、15個存在する。エントリ空き+DMAは、この時点では目的が特定されていない期間と同期用のデータの期間であり、48個存在する。エントリSYNCは、空データの期間であり、1個存在する。エントリSYNC+HSは、空データの期間とタイミング信号HSの期間であり、1個存在する。なお、制御周期を一定に保ちつつ、テーブルの切替が可能となるように、テーブル内に切替先の他のテーブルの情報(テーブルが記憶される記憶部のアドレス情報等)を含み、テーブルの切替を指示するための命令(JUMP命令)を含ませるようにしてもよい。
位置制御情報A基本テーブルを生成した後、制御部102は、位置制御情報A基本テーブル内の一部を位置制御情報Bに置き換えることにより、位置制御情報Aと位置制御情報Bとを混在して送信する場合の送信タイミングを示すテーブル(混在テーブル)を生成する。図7は、混在テーブルαの一例を示す図であり、図8は、混在テーブルβの一例を示す図である。
混在テーブルα及び混在テーブルβは、位置制御情報A基本テーブルと同様、位置制御情報Aの送信周期である100[μs]の期間において、どの期間にどの情報を送信するかを示すテーブルである。また、混在テーブルα及び混在テーブルβにおいては、位置制御情報A基本テーブルと同様、エントリは、0.4[μs]の時間(送信時間)に相当するものであり、当該送信時間において1個のブロックが送信される。従って、混在テーブルα及び混在テーブルβに含まれる250個のエントリは、位置制御情報Aの送信周期である100[μs]の期間に相当し、当該期間において250個のブロックが送信可能である。
混在テーブルαは、位置制御情報Aと位置制御情報Bとを混在して送信する場合の最後の100[μs]以外の期間に対応するテーブルであり、混在テーブルβは、位置制御情報Aと位置制御情報Bとを混在して送信する場合の最後の100[μs]の期間に対応するテーブルである。
本実施形態では、位置制御情報Aの送信周期は100[μs]であり、位置制御情報Bの送信周期は1000[μs]である。従って、メインコントローラ100が位置制御情報Aと位置制御情報Bとを混在して送信を開始した場合、双方の送信終了が一致するタイミングは100[μs]と1000[μs]との最小公倍数である1000[μs]である。このため、メインコントローラ100が位置制御情報Aと位置制御情報Bとを混在して送信する場合には、1000[μs]の期間に対応するように、9個の混在テーブルαと1個の混在テーブルβとが必要となり、エントリの合計は2500個となり、当該期間において2500個のブロックが送信可能である。
図7に示す混在テーブルαにおいて、時間順に説明すると、エントリSYNCは、空データの期間であり、2個存在する。エントリSTRT0は、位置制御情報Aの送信周期である100[μs]の期間の開始を示すデータの期間であり、1個存在する。但し、9個の混在テーブルαのうち、先頭の混在テーブルαにおいては、エントリSTRT0はエントリSTRT1に置き換えられる。エントリSENDP−Aは、初回送信の場合の位置制御情報Aの期間であり、42個存在する。エントリSENDP−B/RSENDP−Bは、初回送信あるいは再送の場合の位置制御情報Bの期間であり、15個存在する。エントリSENDP−B/RSENDP−Bにおいては、初回送信の場合の位置制御情報Bを構成するブロックを順番に送信する送信方法の指定と、初回送信の場合の位置制御情報Bを構成するブロックのうち、特定のブロックのみを送信する送信方法の指定が可能であるとともに、再送の場合の位置制御情報Bを構成する未受信のブロックを順番に送信する。エントリ空きは、この時点では目的が特定されていない期間であり、15個存在する。エントリRSENDP−Aは、再送の場合の位置制御情報Aの期間であり、125個存在する。エントリSENDP−B/RSENDP−Bは、初回送信あるいは再送の場合の位置制御情報Bの期間であり、15個存在する。
エントリ空き+DMAは、この時点では目的が特定されていない期間と同期用のデータの期間であり、48個存在する。エントリSYNCは、空データの期間であり、1個存在する。エントリSYNC+HSは、空データの期間とタイミング信号HSの期間であり、1個存在する。
図8に示す混在テーブルβにおいて、時間順に説明すると、エントリSYNCは、空データの期間であり、2個存在する。エントリSTRT0は、位置制御情報Aの送信周期である100[μs]の期間の開始を示すデータの期間であり、1個存在する。エントリSENDP−Aは、初回送信の場合の位置制御情報Aの期間であり、42個存在する。エントリSENDP−B/RSENDP−Bは、初回送信あるいは再送の場合の位置制御情報Bの期間であり、15個存在する。エントリ空きは、この時点では目的が特定されていない期間であり、15個存在する。エントリRSENDP−Aは、再送の場合の位置制御情報Aの期間であり、125個存在する。エントリSENDP−B/RSENDP−Bは、初回送信あるいは再送の場合の位置制御情報Bの期間であり、15個存在する。エントリ空き+DMAは、この時点では目的が特定されていない期間とタイミング信号DMAの期間であり、48個存在する。エントリSYNCは、空データの期間であり、1個存在する。エントリSYNC+EOT+HS+VSは、空データの期間とJUMP命令EOT、タイミング信号、タイミング信号VSの期間であり、1個存在する。
図5に示す位置制御情報A基本テーブルと図7に示す混在テーブルα及び図8に示す混在テーブルβとを比較すると、制御部102は、位置制御情報A基本テーブルにおけるエントリ空きを、エントリSENDP−Bに置き換えて、混在テーブルα、βを生成している。位置制御情報Aのみが送信される場合の空き時間に位置制御情報Bが割り当てられることにより、位置制御情報Aと位置制御情報Bとが混在して送信されることになる。また、制御部102は、位置制御情報A基本テーブルにおけるエントリSYNC+HSを、SYNC+EOT+HS+VSに置き換えて、混在テーブルβを生成している。
制御部102は、生成した混在テーブルα及び混在テーブルβの情報を後述するテーブル保持部404に記憶させる。また、制御部102は、送信周期の異なる複数種類の位置制御情報の組み合わせに応じて、上述と同様の手法により混在テーブルを生成してテーブル保持部404に記憶させる。その後、制御部102は、送信対象となる複数種類の位置制御情報のそれぞれの送信周期に応じて、メモリ104に記憶された混在テーブルを選択し、当該混在テーブルに基づく送信タイミングに従って、上述した手順で位置制御情報の送信や再送を行う。
具体的には、メインコントローラ100内の制御部102には、図9に示すように、スケジュール回路402、テーブル保持部404、受信検出情報保持部406、送信回路408及び受信回路410の各機能が構成される。
スケジュール回路402は、テーブル保持部404に保持されている混在テーブルを読み出す。更に、スケジュール回路402は、混在テーブル内の各エントリに応じたタイミングで、当該エントリに対応するブロック等の送信を、送信回路408を介して行う。具体的には、スケジュール回路402は、混在テーブルに設定されているエントリSENDP−Aに応じたタイミングで、位置制御情報A内のブロックの送信を行い、エントリSENDP−Bに応じたタイミングで、位置制御情報B内のブロックの送信を行う。更に、スケジュール回路402は、受信検出情報保持部406において、送信した位置制御情報A、Bを構成する各ブロックの識別情報であるブロックNo毎に、送信済みであることを示すフラグ「1」を設定する。
ドライバユニット200a内の制御部202は、位置制御情報A、Bについて、正常に受信することができなかったブロックを無効情報のブロックに置き換えて、ドライバユニット200bへ送信する。同様に、ドライバユニット200b内の制御部202は、位置制御情報A、Bについて、正常に受信することができなかったブロックを無効情報のブロックに置き換えて、メインコントローラ100へ送信する。
メインコントローラ100内の制御部102に構成されたスケジュール回路402は、正常に受信することができたブロックのブロックNoをスケジュール回路402へ出力する。スケジュール回路402は、受信検出情報保持部406において、送信済みであることを示すフラグ「1」のうち、受信回路410からのブロックNoに対応するフラグを「0」に設定する。フラグ「0」は、対応するブロックがドライバユニット200a、200bにおいて正常に受信されたことを示す。
RESENDPエントリの期間中に、スケジュール回路402は、受信検出情報保持部406において、フラグ「1」が存在するか否かを判定する。フラグ「1」が存在する場合、対応するブロックは、ドライバユニット200a、200bにおいて正常に受信されていないことを示す。このため、スケジュール回路402は、当該フラグ「1」に対応するブロックの再送を行う。具体的には、スケジュール回路402は、混在テーブルに設定されているエントリRSENDP−Aに応じたタイミングで、位置制御情報A内のブロックの再送を行い、エントリSENDP−Bに応じたタイミングで、位置制御情報B内のブロックの再送を行う。
また、スケジュール回路402は、所定の周期で、受信検出情報保持部406内のフラグのリセットを行う。例えば、上述したように、送信周期が100[μs]の位置制御情報Aと送信周期が1000[μs]の位置制御情報Bとを混在して送信する場合には、スケジュール回路402は、位置制御情報Aについては、エントリSTRT0とエントリSTRT1とに応じたタイミングで、受信検出情報保持部406内のフラグのリセット(例えばフラグの削除)を行い、位置制御情報Bについては、エントリSTRT1に応じたタイミングで、受信検出情報保持部406内のフラグのリセットを行う。
図10は、メインコントローラ100による位置制御情報の送信及び再送の動作を示すフローチャートである。SENDP−Aのエントリの期間中に、メインコントローラ100内の制御部102に構成されたスケジュール回路402は、受信検出情報保持部406内のフラグを参照して、位置制御情報Aを送信済みであるか否かを判定する(ステップS101)。位置制御情報Aを送信済みでない場合には(ステップS101;NO)、スケジュール回路402は、位置制御情報Aを送信して(ステップS102)、次のエントリの処理に移行する。一方、位置制御情報Aを送信済みである場合には(ステップS101;YES)、RESENDP−Aのエントリの期間中の処理に移行する。
RESENDP−Aのエントリの期間中に、スケジュール回路402は、受信検出情報保持部406内のフラグを参照して、ドライバユニット200が位置制御情報Aを受信済みであるか否かを判定する(ステップS201)。位置制御情報Aを受信済みでない場合には(ステップS201;NO)、スケジュール回路402は、位置制御情報Aを再送して(ステップS202)、次のエントリの処理に移行する。一方、ドライバユニット200が位置制御情報Aを受信済みである場合には(ステップS201;YES)、SENDP−Bのエントリの期間中の処理に移行する。
SENDP−Bのエントリの期間中に、スケジュール回路402は、受信検出情報保持部406内のフラグを参照して、位置制御情報Bを送信済みであるか否かを判定する(ステップS301)。位置制御情報Bを送信済みでない場合には(ステップS301;NO)、スケジュール回路402は、位置制御情報Bを送信して(ステップS302)、次のエントリの処理に移行する。一方、位置制御情報Bを送信済みである場合には(ステップS301;YES)、RESENDP−Bのエントリの期間中の処理に移行する。
RESENDP−Bのエントリの期間中に、スケジュール回路402は、受信検出情報保持部406内のフラグを参照して、ドライバユニット200が位置制御情報Bを受信済みであるか否かを判定する(ステップS401)。位置制御情報Bを受信済みでない場合には(ステップS401;NO)、スケジュール回路402は、位置制御情報Bを再送して(ステップS402)、次のエントリの処理に移行する。一方、位置制御情報Bを受信済みである場合には(ステップS401;YES)、スケジュール回路402は、SYNCを送信し(ステップS403)、次のエントリの処理に移行する。このように、前倒しで他のエントリを実行することにより、周期内において、より多くの期間に再送を実行することが可能となる。これにより周期当たりのエラーレートを下げることが可能となる。
上述したように、実施形態のモータ制御システム1において、メインコントローラ100は、送信周期の異なる複数種類の位置制御情報の送信タイミングを示す混在テーブルを生成する。その後、メインコントローラ100は、位置制御情報を送信する際に、送信対象の複数種類の位置制御情報に応じて、混在テーブルを選択し、当該混在テーブルに基づく送信タイミングで、位置制御情報を送信する。混在テーブルが用いられることにより、効率的な送信のスケジューリングを行うことができる。
また、メインコントローラ100は、送信周期が100[μs]の位置制御情報Aと送信周期が1000[μs]の位置制御情報Bとを混在して送信する場合の送信タイミングを示す混在テーブルα、βを生成する際には、まず、短い送信周期の位置制御情報Aの送信タイミングを示す位置制御情報A基本テーブルを生成する。更に、メインコントローラ100は、位置制御情報A基本テーブル内のエントリ空きを位置制御情報Bに置き換えることにより、混在テーブルα、βを生成する。これにより、位置制御情報Aの送信及び再送を行いつつ、空きのタイミングで位置制御情報Bの送信及び再送を行うことができ、時間の有効利用を図ることができる。また、時間的な条件が厳しい位置制御情報Aを位置制御情報Bよりも優先して送信するとの条件の下で、位置制御情報Aと位置制御情報Bとを混在して送信することが可能となる。
また、位置制御情報Aと位置制御情報Bとを混在して送信を開始した場合、双方の送信終了が一致するタイミングは100[μs]と1000[μs]との最小公倍数である1000[μs]であることに鑑み、メインコントローラ100は、1000[μs]の期間に対応するように、9個の混在テーブルαと1個の混在テーブルβとを生成する。これにより、位置制御情報Aと位置制御情報Bとを混在して送信する場合の送信の繰り返し周期に相当する最小の数の混在テーブルを生成するのみでよく、処理負担の軽減や混在テーブルを記憶する際に必要となる記憶容量を削減することができる。
以上、実施形態について説明したが、本発明は上述の実施形態に限定されるものではない。
例えば、上述した実施形態では、1つのエントリは、0.4[μs]の時間(送信時間)に相当するものとしたが、1つのエントリの時間は可変であってもよい。例えば、メインコントローラ100内の制御部102は、エントリSYNCを、0.4[μs]、0.2[μs]、0.1[μs]の何れかの時間とすることができる。最小では、20[ns]を設定可能である。このように、エントリの時間を可変とすることで、テーブルの周期を小さな刻みで設定可能となる。また、1/3、1/7などの2と5以外の素数を分母に含む割り切れない数値で表される周期であっても小さな違いの周期を組み合わせることにより、周期を実現することができる。具体的には、1/600[s]を周期とするとき1.6666...[ms]を実現しなければならないが、単純なエントリの羅列では実現出来ない。1666.7[μs]のテーブルを3個つなげ、最後の1つだけ1666.6[μs]に縮めれば、平均1/600[μs]の周期を実現することが可能となる。
また、上述した実施形態では、混在テーブルαと混在テーブルβとの合計のエントリ数は2500個となり、データ長が長い。このため、メインコントローラ100は、周知のデータ圧縮の手法等を用いることにより、混在テーブルα及び混在テーブルβの全体のデータ長を削減するようにしてもよい。
また、上述した実施形態では、メインコントローラ100は、送信周期が短い位置制御情報Aが優先して送信されるように混在テーブルα、βを生成した。しかし、例えば、送信周期が最長の位置制御情報の送信周期が、送信周期が最短の位置制御情報の送信周期の2倍未満であるような場合や、全ての種類の位置制御情報の送信周期が同一である場合には、メインコントローラ100は、何れの位置制御情報を優先して送信するように混在テーブルを生成してもよい。
また、上述した実施形態では、送信周期の異なる2種類の位置制御情報が混在して送信される場合の混在テーブルの生成について説明したが、3種類以上の位置制御情報が混在して送信される場合にも、同様に本発明を適用することができる。例えば、3種類の位置制御情報が混在して生成される場合、メインコントローラ100は、最短の送信周期の位置制御情報についての基本テーブルを生成し、当該基本テーブルにおけるエントリ空きを2番目に短い送信周期の位置制御情報に置き換え、更に、エントリ空きの余りを最長の送信周期の位置制御情報に置き換えるようにしてもよい。
また、上述した実施形態では、モータ制御システム1は、2個のドライバユニット200a及び200bを含む構成とし、第2の実施形態では、モータ制御システム2は、4個のドライバユニット200a〜200dを含む構成としたが、ドライバユニット200の数はこれに限定されない。
また、上述した実施形態では、マスタ装置としてのメインコントローラ100とスレーブ装置としてのドライバユニット200a等とが固定されているが、メインコントローラ100とドライバユニット200との双方の機能を実現可能な複数の装置によって通信システムを構成し、適宜、複数の装置の何れの装置がメインコントローラ100となり、他の装置がドライバユニット200になるようにしてもよい。
更に、メインコントローラ100は、複数のドライバユニット200のうち、一部のドライバユニット200との間で情報の通信を行うようにしてもよい。
また、上述した実施形態では、モータ制御システムについて説明したが、これに限定されず、マスタ装置と複数のスレーブ装置とが通信路に接続され、マスタ装置から複数のスレーブ装置へ情報を送信する通信システムの構成であれば、本発明を適用することができる。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
1、2 モータ制御システム
100 メインコントローラ
102、202 制御部
104、204 メモリ
106、206 通信制御部
108、110、208、210 通信I/F
200a、200b、200c、200d ドライバユニット
212a、212b、212c、212d モータ制御部
300a1、300a2、300a3、300a4、300b1、300b2、300b3、300b4 モータ
400 ネットワーク
402 スケジュール回路
404 テーブル保持部
406 受信検出情報保持部
408 送信回路
410 受信回路

Claims (9)

  1. 通信路に接続されるスレーブ装置へ情報を送信するマスタ装置であって、
    送信周期の異なる複数種類の情報の送信タイミングを示すテーブルを生成するテーブル生成手段と、
    前記テーブル生成手段により生成された前記テーブルのうち、送信対象の前記複数種類の情報のそれぞれの送信周期に応じたテーブルを選択するテーブル選択手段と、
    前記テーブル選択手段により選択された前記テーブルに基づく送信タイミングで、前記スレーブ装置へ前記複数種類の情報を送信する情報送信手段と、
    を備え
    前記テーブル生成手段は、前記テーブルに含まれる所定のエントリの時間を可変とすることにより、前記テーブルの周期を基準よりも小さな単位で設定可能であることを特徴とするマスタ装置。
  2. 前記テーブル生成手段は、前記複数種類の情報のうち、最短の送信周期の情報の送信を優先するテーブルを生成することを特徴とする請求項1に記載のマスタ装置。
  3. 前記テーブル生成手段は、前記最短の送信周期の情報の送信タイミングと空き時間とを含む第1のテーブルを生成し、前記第1のテーブルにおける空き時間に前記最短の送信周期の情報以外の情報の送信タイミングを設定した第2のテーブルを生成することを特徴とする請求項2に記載のマスタ装置。
  4. 前記テーブル生成手段は、前記複数種類の情報のそれぞれの送信周期の最小公倍数に対応する数である複数の前記第1のテーブルのそれぞれにおける空き時間に前記最短の送信周期の情報以外の情報の送信タイミングを設定した前記第2のテーブルを生成することを特徴とする請求項3に記載のマスタ装置。
  5. 前記テーブル生成手段は、前記複数種類の情報の送信タイミングと再送タイミングとを示す第3のテーブルを生成することを特徴とする請求項1〜4の何れか1項に記載のマスタ装置。
  6. 前記情報送信手段は、前記テーブルに基づく送信タイミングにおいて、送信すべき情報を送信した後に、他の情報を送信することを特徴とする請求項1に記載のマスタ装置。
  7. 前記情報送信手段は、前記テーブルに基づく送信タイミングにおいて、送信すべき情報を送信した後に、再送用の情報を送信することを特徴とする請求項に記載のマスタ装置。
  8. 通信路に接続されるスレーブ装置へ情報を送信するマスタ装置における通信方法であって、
    送信周期の異なる複数種類の情報の送信タイミングを示すテーブルを生成するテーブル生成ステップと、
    前記テーブル生成ステップにおいて生成された前記テーブルのうち、送信対象の前記複数種類の情報のそれぞれの送信周期に応じたテーブルを選択するテーブル選択ステップと、
    前記テーブル選択ステップにおいて選択された前記テーブルに基づく送信タイミングで、前記スレーブ装置へ前記複数種類の情報を送信する情報送信ステップと、
    を含み、
    前記テーブル生成ステップでは、前記テーブルに含まれる所定のエントリの時間を可変とすることにより、前記テーブルの周期を基準よりも小さな単位で設定可能であることを特徴とする通信方法。
  9. 通信路に接続されるスレーブ装置へ情報を送信するマスタ装置としてのコンピュータを、
    送信周期の異なる複数種類の情報の送信タイミングを示すテーブルを生成するテーブル生成手段、
    前記テーブル生成手段により生成された前記テーブルのうち、送信対象の前記複数種類の情報のそれぞれの送信周期に応じたテーブルを選択するテーブル選択手段、
    前記テーブル選択手段により選択された前記テーブルに基づく送信タイミングで、前記スレーブ装置へ前記複数種類の情報を送信する情報送信手段、
    として機能させ
    前記テーブル生成手段は、前記テーブルに含まれる所定のエントリの時間を可変とすることにより、前記テーブルの周期を基準よりも小さな単位で設定可能であることを特徴とする通信プログラム。
JP2017035346A 2017-02-27 2017-02-27 マスタ装置、通信方法及び通信プログラム Active JP6869502B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017035346A JP6869502B2 (ja) 2017-02-27 2017-02-27 マスタ装置、通信方法及び通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017035346A JP6869502B2 (ja) 2017-02-27 2017-02-27 マスタ装置、通信方法及び通信プログラム

Publications (2)

Publication Number Publication Date
JP2018142825A JP2018142825A (ja) 2018-09-13
JP6869502B2 true JP6869502B2 (ja) 2021-05-12

Family

ID=63528406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017035346A Active JP6869502B2 (ja) 2017-02-27 2017-02-27 マスタ装置、通信方法及び通信プログラム

Country Status (1)

Country Link
JP (1) JP6869502B2 (ja)

Also Published As

Publication number Publication date
JP2018142825A (ja) 2018-09-13

Similar Documents

Publication Publication Date Title
US7339948B2 (en) Industrial controller providing deterministic communication on ethernet
JP7035166B2 (ja) Dsiプロトコルに基づいて自動車両におけるセンサー構成を作動させるための方法
JP6626240B2 (ja) コントローラ
JP2007200245A (ja) システムバス制御装置、集積回路およびデータ処理システム
JP2012064021A (ja) 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
JP5523630B2 (ja) プログラマブルコントローラシステム
JP2009003677A (ja) Usbホスト、usbスレーブ、無線通信方式、及びデータ転送方法
US20140003325A1 (en) Relay communication system and relay communication device
JP6869502B2 (ja) マスタ装置、通信方法及び通信プログラム
JP7044081B2 (ja) 車載用通信システム
JP2007081628A (ja) ネットワークの設計方法、ネットワーク設計プログラム、及びネットワーク設計装置
JP4586625B2 (ja) ネットワーク診断装置、およびネットワーク診断方法
JP5752087B2 (ja) 制御装置、データ出力制御ユニット、データ入力制御ユニット、および制御ユニット
CN107968718A (zh) 一种确认主备用状态的方法、装置和设备
JP6878705B1 (ja) 通信装置、通信システム、通信方法、およびプログラム
JP6146306B2 (ja) I/oデバイス制御システムおよびi/oデバイス制御システムの制御方法
CN101409711A (zh) 主控制器设备和数据传送控制方法
JP2009104283A (ja) Modbusでデータを送受処理する方式およびプログラマブルコントローラ等の制御機器
JP2021060870A (ja) 電子制御装置
JP4440951B2 (ja) ネットワークシステム
JP2008131481A (ja) データ中継装置
JPS6244808A (ja) Nc加工機械群の制御方法
JP2006338409A (ja) 圧縮データ転送方式及び圧縮データ転送システム
JP2007219925A (ja) バス制御装置、バス制御プログラム及び記録媒体
JP2013126119A (ja) ゲートウェイ装置及びネットワークシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210406

R150 Certificate of patent or registration of utility model

Ref document number: 6869502

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250