(57)【要約】【課題】各コントローラユニットがバスを使用する転送時間を適切に配分することができるバス管理システムを得ること。【解決手段】ユニット種別情報収集部３１１がコントローラユニット１１〜１ｎを認識してユニット種別を収集し、サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３がユニットパラメータテーブル格納部３１４に格納されている制御周期、サイクリックデータサイズ、およびユニットパラメータテーブルの情報と、ユニット種別情報収集部３１１が収集したユニット種別と、通信レートとに基づいて、コントローラユニット１１〜１ｎのサイクリック通信時間およびトランジェント通信時間を算出し、サイクリック通信時間格納部３２４およびトランジェント通信時間格納部３２５が、サイクリック通信時間およびトランジェント通信時間をコントローラユニット１１〜１ｎに通知する。【選択図】        図６
2006318367.tif 000002
【特許請求の範囲】
【請求項１】
被駆動機器を制御する複数のコントローラユニットと、これらのコントローラユニットとコントローラ制御バスによって接続され、各コントローラのサイクリック通信およびトランジェント通信を制御するバス管理装置と、前記複数のコントローラユニットのうちマスタユニットとして動作するコントローラユニットと接続されて前記複数のコントローラおよび前記バス管理装置に所定のデータを設定するパーソナルコンピュータとを備えるバス管理システムにおいて、
前記バス管理装置は、
前記複数のコントローラユニットの機種を識別するユニット種別に対応付けて、制御周期、サイクリックデータサイズ、およびトランジェントデータサイズが登録されるユニットパラメータテーブルと、
前記コントローラ制御バスに接続されているコントローラユニットを認識するとともに、認識したコントローラユニットのユニット種別を収集するユニット種別情報収集手段と、
前記ユニット種別情報収集手段によって収集されたユニット種別、前記ユニットパラメータテーブルに登録されている情報、および予め定められているコントローラ制御バスの通信レートに基づいて、前記認識したコントローラユニット毎のサイクリック通信時間およびトランジェント通信時間を算出する第１の通信時間算出手段と、
前記第１の通信時間算出手段によって算出されたサイクリック通信時間およびトランジェント通信時間を格納するとともに、前記サイクリック通信時間および前記トランジェント通信時間を前記認識したコントローラユニットに通知する通信時間管理手段と、
を備え、
前記コントローラユニットは、
前記通信時間管理手段によって通知されたサイクリック通信時間およびトランジェント通信時間に基づいて、サイクリックデータおよびトランジェントデータの通信制御を行う通信制御手段、
を備えることを特徴とするバス管理システム。
【請求項２】
前記パーソナルコンピュータは、
前記コントローラユニットに搭載されるプログラムのアクセス時間、アクセス回数、サイクリックデータサイズ、およびトランジェントデータサイズがコントローラユニットに対応付けて登録されるプログラムアクセス仕様を格納するプログラムアクセス仕様格納手段と、
前記プログラムアクセス仕様格納手段に格納されているプログラムアクセス仕様、および前記通信レートに基づいて、コントローラユニット毎のサイクリック通信時間およびトランジェント通信時間を算出し、算出したサイクリック通信時間およびトランジェント通信時間を各コントローラユニットの通信制御手段および前記バス管理装置の通信時間管理手段に通知する第２の通信時間算出手段と、
を備えることを特徴とする請求項１に記載のバス管理システム。
【請求項３】
外部からの指定によって、前記サイクリック通信時間およびトランジェント通信時間の算出を前記バス管理装置によって行うのか、前記パーソナルコンピュータによって行うのかを選択すること、
を特徴とする請求項２に記載のバス管理システム。
【請求項４】
前記パーソナルコンピュータは、
前記バス管理装置の通信時間管理手段および前記コントローラユニットの通信制御手段に設定されているトランジェント通信時間を、外部からの指示に基づいて変更するトランジェント通信時間設定変更手段、
をさらに備えることを特徴とする請求項１〜３の何れか一つに記載のバス管理システム。
【請求項５】
前記パーソナルコンピュータは、
外部からの指示によって前記バス管理装置のユニットパラメータテーブルを変更するユニットパラメータテーブル書き換え手段、
をさらに備えることを特徴とする請求項１〜４の何れか一つに記載のバス管理システム。
【請求項６】
被駆動機器を制御する複数のコントローラユニットとコントローラ制御バスによって接続されて各コントローラユニットのサイクリック通信およびトランジェント通信を制御するバス管理装置において、
前記複数のコントローラユニットの機種を識別するユニット種別に対応付けて、制御周期、サイクリックデータサイズ、およびトランジェントデータサイズが登録されるユニットパラメータテーブルと、
前記コントローラ制御バスに接続されているコントローラユニットを認識するとともに、認識したコントローラユニットのユニット種別を収集するユニット種別情報収集手段と、
前記ユニット種別情報収集手段によって収集されたユニット種別、前記ユニットパラメータテーブル、および予め定められているコントローラ制御バスの通信レートに基づいて、前記認識したコントローラユニット毎のサイクリック通信時間およびトランジェント通信時間を算出する通信時間算出手段と、
前記通信時間算出手段によって算出されたサイクリック通信時間およびトランジェント通信時間を格納するとともに、前記サイクリック通信時間および前記トランジェント通信時間を前記認識したコントローラユニットに通知する通信時間管理手段と、
を備えることを特徴とするバス管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコントローラユニットが接続されるコントローラ制御バスの制御に関するものであり、特に、コントローラユニット毎のサイクリックデータサイズおよびトランジェントデータサイズに応じてタイムスロットを割り当てるバス管理システムに関するものである。
【背景技術】
【０００２】
ファクトリーオートメーション（ＦＡ：Factory Automation）システムでは、シーケンス制御機能や数値制御機能、モーション制御機能、ロボット制御機能、ネットワーク制御機能などを有するコントローラユニットがバスによって接続される。各コントローラユニットは、周期的に更新を必要とするサイクリックデータ（たとえば、位置情報など）と、周期的に更新を必要としないトランジェントデータ（バックグランドのプログラムデータなど）とを転送する。しかしながら、各コントローラユニットのサイクリックデータの転送周期が同じとは限らない。そのため、従来から、各コントローラユニットのサイクリックデータの転送配分を最適に設定する種々の技術が考えられている。
【０００３】
たとえば、特許文献１に記載の従来技術では、必要とされるデータ更新レート（サイクリックデータの転送周期）が異なるスレーブ（コントローラユニット）が混在し、かつこれらのスレーブを同一ループ状に接続した場合において、データ更新レートが早くなければならないスレーブＡ群のデータ更新レートに合わせて通信周期を設定し、データ更新レートが遅くてもよいスレーブＢ群については設定された通信周期の整数倍にデータ更新レートを設定する技術が開示されている。
【０００４】
【特許文献１】特開２００４−２８９７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の従来技術では、データ更新レートに基づいて通信周期を設定しているので、大容量の送受信が必要なトランジェントデータ（たとえば、バックグランドのプログラムデータなど）が混在する場合には、最適な転送配分を行うことができないという問題があった。
【０００６】
また、上記特許文献１の従来技術では、コントローラユニットの機器構成を変更する度に、各コントローラユニットに割り当てるサイクリックデータ通信時間と、トランジェントデータ通信時間の最適な値をユーザが算出しなければならず、手間がかかるという問題もあった。
【０００７】
本発明は、上記に鑑みてなされたものであって、サイクリックデータとトランジェントデータとが混在する場合でも、各コントローラユニットがバスを使用する転送時間を適切に配分することができるバス管理システム、およびバス管理装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、被駆動機器を制御する複数のコントローラユニットと、これらのコントローラユニットとコントローラ制御バスによって接続され、各コントローラのサイクリック通信およびトランジェント通信を制御するバス管理装置と、前記複数のコントローラユニットのうちマスタユニットとして動作するコントローラユニットと接続されて前記複数のコントローラおよび前記バス管理装置に所定のデータを設定するパーソナルコンピュータとを備えるバス管理システムにおいて、前記バス管理装置は、前記複数のコントローラユニットの機種を識別するユニット種別に対応付けて、制御周期、サイクリックデータサイズ、およびトランジェントデータサイズが登録されるユニットパラメータテーブルと、前記コントローラ制御バスに接続されているコントローラユニットを認識するとともに、認識したコントローラユニットのユニット種別を収集するユニット種別情報収集手段と、前記ユニット種別情報収集手段によって収集されたユニット種別、前記ユニットパラメータテーブルに登録されている情報、および予め定められているコントローラ制御バスの通信レートに基づいて、前記認識したコントローラユニット毎のサイクリック通信時間およびトランジェント通信時間を算出する第１の通信時間算出手段と、前記第１の通信時間算出手段によって算出されたサイクリック通信時間およびトランジェント通信時間を格納するとともに、前記サイクリック通信時間および前記トランジェント通信時間を前記認識したコントローラユニットに通知する通信時間管理手段と、を備え、前記コントローラユニットは、前記通信時間管理手段によって通知されたサイクリック通信時間およびトランジェント通信時間に基づいて、サイクリックデータおよびトランジェントデータの通信制御を行う通信制御手段、を備えることを特徴とする。
【発明の効果】
【０００９】
この発明によれば、バス管理装置が、各コントローラユニットの制御周期、サイクリックデータサイズ、およびトランジェントデータサイズと、予め定められているコントローラ制御バスの通信レートに基づいて、各コントローラユニット毎のサイクリック通信時間およびトランジェント通信時間を算出して、各コントローラユニットに割り当てるようにしているため、サイクリックデータとトランジェントデータとが混在する場合でも、各コントローラユニットがコントローラ制御バスを使用する転送時間を適切に配分することができるバス管理システムを得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明にかかるバス管理システム、およびバス管理装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１〜図１３を参照してこの発明の実施の形態１を説明する。図１は、この発明におけるバス管理システムの実施の形態１の構成の一例を示すブロック図である。図１において、バス管理システムは、パーソナルコンピュータ（以下、パソコンとする）１０１と、ｎ（１＜ｎ，ｎは整数）台のコントローラユニット１１〜１ｎと、ベースユニット（特許請求の範囲でいうところのバス管理装置）１１０とを備えている。
【００１２】
コントローラユニット１１〜１ｎは、たとえば、図示しない被駆動装置を制御するシーケンサや数値制御装置、モーションコントローラ、ロボットコントローラ、ネットワークコントローラなどであり、ベースユニット１１０に装着されてＦＡコントローラ制御バス１０９（特許請求の範囲でいうところのコントローラ制御バス）によってデータの送受信を行う。コントローラユニット１１〜１ｎが扱うデータは、少量で一定周期の更新が必要なサイクリックデータ（たとえば、位置情報など）と、大容量のトランジェントデータ（たとえば、バックグランドのプログラムデータなど）とがある。
【００１３】
また、コントローラユニット１１は、パソコン１０１とのインタフェースを備え、接続ケーブルや無線などの伝送路１０２によってパソコン１０１と、プログラムや設定データの送受信を行う機能を備えており、コントローラユニット１１〜１ｎのマスタユニットとして動作する。
【００１４】
図２は、図１に示したバス管理システムのＦＡコントローラ制御バス１０９の通信タイミングを示す図である。図２においては、通信周期をタイムスロット１〜ｎに分割してコントローラユニット１１〜１ｎに配分している。タイムスロット１〜ｎは、各コントローラユニット１１〜１ｎが転送するデータ（サイクリックデータＳＤおよびトランジェントデータＴＤ）の容量に応じて分割されている。すなわち、データの容量が大きいほどタイムスロットの時間も長くなっており、データの容量が小さいほどタイムスロットの時間も短くなっている。タイムスロット１〜ｎの配分は、コントローラユニット１１〜１ｎの扱うデータによって異なり、パソコン１０１またはベースユニット１１０が設定する。
【００１５】
つぎに、図３〜図７を参照して図１に示したパソコン１０１、コントローラユニット１１〜１ｎ、およびベースユニット１１０の機能について説明する。
【００１６】
図３は、図１に示したパソコン１０１のバス管理システムに関する機能構成を示すブロック図である。図３において、パソコン１０１は、プログラムアクセス仕様格納部３０１、サイクリック通信時間算出部３０２、トランジェント通信時間算出部３０３、ユニットパラメータテーブル書き換え部３０４、トランジェント通信分割回数表示部３０５、トランジェント通信時間設定変更部３０６、およびパソコン／マスタユニット間データ制御部３１５を備えている。なお、サイクリック通信時間算出部３０２およびトランジェント通信時間算出部３０３が特許請求の範囲でいうところの第２の通信時間算出手段の機能を実現している。
【００１７】
パソコン／マスタユニット間データ制御部３１５は、コントローラユニット１１〜１ｎのマスタユニットとして動作するコントローラユニット１１との通信インタフェースを備えており、コントローラユニット１１とのデータ通信を制御する。
【００１８】
プログラムアクセス仕様格納部３０１は、コントローラユニット１１〜１ｎに対応付けて、それぞれのプログラムアクセス仕様を格納する。プログラムアクセス仕様は、コントローラユニット１１〜１ｎ間のアクセス時間やアクセス回数、サイクリックデータサイズ、トランジェントデータサイズなどである。
【００１９】
サイクリック通信時間算出部３０２は、プログラムアクセス仕様格納部３０１に格納されているプログラムアクセス仕様に基づいて、コントローラユニット１１〜１ｎのサイクリック通信時間を算出する。
【００２０】
トランジェント通信時間算出部３０３は、プログラムアクセス仕様格納部３０１に格納されているプログラムアクセス仕様に基づいて、コントローラユニット１１〜１ｎのトランジェント通信時間を算出する。
【００２１】
ユニットパラメータテーブル書き換え部３０４は、パソコン／マスタユニット間データ制御部３１５、コントローラユニット１１を介してベースユニット１１０内のユニットパラメータテーブルを書き換える。
【００２２】
トランジェント通信時間設定変更部３０６は、パソコン／マスタユニット間データ制御部３１５を介してコントローラユニット１１〜１ｎのトランジェント通信時間の配分設定を変更する。
【００２３】
トランジェント通信分割回数表示部３０５は、パソコン／マスタユニット間データ制御部３１５を介して受信したコントローラユニット１１〜１ｎのトランジェント通信分割回数を表示する。
【００２４】
図４は、図１に示したマスタユニットとして動作するコントローラユニット１１のバス管理システムに関する機能構成を示すブロック図である。図４において、コントローラユニット１１は、パソコン／マスタユニット間データ制御部３１６、バス制御部３１７、ユニット種別情報格納部３０７、サイクリック通信制御部３０８、トランジェント通信制御部３０９、およびトランジェント通信分割回数格納部３１０を備えている。なお、サイクリック通信制御部３０８およびトランジェント通信制御部３０９が特許請求の範囲でいうところの通信制御手段の機能を実現している。
【００２５】
パソコン／マスタユニット間データ制御部３１６は、パソコン１０１との通信インタフェース機能を備えており、伝送路１０２を介したパソコン１０１とのデータ通信を制御する。バス制御部３１７は、ベースユニット１１０およびコントローラユニット１２〜１ｎとの通信インタフェース機能を備えており、ＦＡコントローラ制御バス１０９を介したベースユニット１１０およびコントローラユニット１２〜１ｎとのデータ通信を制御する。
【００２６】
ユニット種別情報格納部３０７は、自装置が、たとえば、シーケンサであるのか、数値制御装置であるのか、モーションコントローラであるのか、ロボットコントローラであるのか、ネットワークコントローラであるのか、すなわちコントローラユニット１１〜１ｎの機種を識別するためのユニット種別情報を格納する。
【００２７】
サイクリック通信制御部３０８は、パソコン１０１またはベースユニット１１０から通知されるサイクリック通信時間に従ってサイクリックデータの通信を制御する。トランジェント通信制御部３０９は、パソコン１０１またはベースユニット１１０から通知されるトランジェント通信時間に従ってトランジェントデータの通信を制御する。
【００２８】
また、トランジェント通信制御部３０９は、トランジェント通信時間内にトランジェントデータを送信することができない場合には、トランジェントデータをトランジェント通信時間内に送信できるように分割して複数回に分けてトランジェントデータを送信し、トランジェントデータを分割したことをトランジェント通信分割回数格納部３１０に通知する。トランジェント通信分割回数格納部３１０は、トランジェント通信制御部３０９の通知に基づいて、トランジェントデータの分割転送の回数をカウントし、カウント値を格納する。
【００２９】
図５は、図１に示したコントローラユニット１２のバス管理システムに関する機能構成を示すブロック図である。図５に示したコントローラユニット１２は、先の図４に示したコントローラユニット１１からパソコン／マスタユニット間データ制御部３１６が削除されている。コントローラユニット１１と同じ機能を持つ構成部分には、同一符号を付し重複する説明は省略する。また、マスタユニットとして動作するコントローラユニット１１以外のコントローラユニット１２〜１ｎはバス管理システムに関しては全て同じ機能を備えている。
【００３０】
図６は、図１に示したベースユニット１１０の構成を示すブロック図である。図１において、ベースユニット１１０は、バス制御部３１８、ユニットパラメータテーブル格納部３１４、ユニット種別情報収集部３１１、サイクリック通信時間算出部３１２、トランジェント通信時間算出部３１３、サイクリック通信時間格納部３２４、およびトランジェント通信時間格納部３２５を備えている。なお、サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３が特許請求の範囲でいうところの第１の通信次官算出手段の機能を実現し、サイクリック通信時間格納部３２４およびトランジェント通信時間格納部３２５が特許請求の範囲でいうところの通信時間管理手段の機能を実現している。
【００３１】
バス制御部３１８は、コントローラユニット１１〜１ｎとの通信インタフェース機能を備えており、ＦＡコントローラ制御バス１０９を介したコントローラユニット１１〜１ｎとのデータ通信を制御する。
【００３２】
ユニットパラメータテーブル格納部３１４は、コントローラユニット１１を介してパソコンより書き込まれたユニットパラメータテーブルを格納する。図７は、ユニットパラメータテーブルの構成を示す図である。ユニットパラメータテーブルには、ユニット種別に対応付けて、制御周期、サイクリックデータサイズ、およびトランジェントデータサイズが登録される。
【００３３】
ユニット種別には、ＦＡコントローラ制御バス１０９に接続されているコントローラユニット１１〜１ｎのユニット種別が登録される。なお、コントローラユニット１１〜１ｎの中に同一のユニット種別を有する装置が存在する場合には、ユニット種別は１つ登録すればよい。図７においては、ユニット種別「Ｕａ」、「Ｕｂ」、「Ｕｃ」、「Ｕｄ」が登録されている。
【００３４】
制御周期、サイクリックデータサイズ、およびトランジェントデータサイズには、ユニット種別毎の機器の仕様である制御周期、サイクリックデータサイズ、およびトランジェントデータサイズが登録される。図７においては、ユニット種別「Ｕａ」に対応付けて制御周期「ｔａ」、サイクリックデータサイズ「Ｃａ」、トランジェントデータサイズ「Ｄａ」が登録され、ユニット種別「Ｕｂ」に対応付けて制御周期「ｔｂ」、サイクリックデータサイズ「Ｃｂ」、トランジェントデータサイズ「Ｄｂ」が登録され、ユニット種別「Ｕｃ」に対応付けて制御周期「ｔｃ」、サイクリックデータサイズ「Ｃｃ」、トランジェントデータサイズ「Ｄｃ」が登録され、ユニット種別「Ｕｄ」に対応付けて制御周期「ｔｄ」、サイクリックデータサイズ「Ｃｄ」、トランジェントデータサイズ「Ｄｄ」が登録されている。
【００３５】
ユニット種別情報収集部３１１は、システムコンフィグレーション時に、バス制御部３１８を介してコントローラユニット１１〜１ｎと通信を行って応答の有無を検出して、ＦＡコントローラ制御バス１０９に接続されているコントローラユニット１１〜１ｎを認識するとともに、コントローラユニット１１〜１ｎからそれぞれのユニット種別情報を収集する。
【００３６】
サイクリック通信時間算出部３１２は、ユニットパラメータテーブル格納部３１４に格納されているユニットパラメータテーブル、およびユニット種別情報収集部３１１によって収集されたコントローラユニット１１〜１ｎのユニット種別情報に基づいて、コントローラユニット１１〜１ｎのサイクリック通信時間を算出する。
【００３７】
サイクリック通信時間格納部３２４は、サイクリック通信時間算出部３１２、またはパソコン１０１のサイクリック通信時間算出部３０２によって算出されたサイクリック通信時間を格納するとともに、コントローラユニット１１〜１ｎにサイクリック通信時間を通知する。
【００３８】
トランジェント通信時間算出部３１３は、ユニットパラメータテーブル格納部３１４に格納されているユニットパラメータテーブル、およびユニット種別情報収集部３１１によって収集されたコントローラユニット１１〜１ｎのユニット種別情報に基づいて、コントローラユニット１１〜１ｎのトランジェント通信時間を算出する。
【００３９】
トランジェント通信時間格納部３２５は、トランジェント通信時間算出部３１３、またはパソコン１０１のトランジェント通信時間算出部３０３によって算出されたトランジェント通信時間を格納するとともに、コントローラユニット１１〜１ｎにトランジェント通信時間を通知する。
【００４０】
つぎに、この発明におけるバス管理システムの実施の形態１の動作を説明する。まず、図３〜図８を参照して、バス管理システムのコンフィグレーション時にベースユニット１１０がコントローラユニット１１〜１ｎのサイクリック通信時間およびトランジェント通信時間を設定する動作について説明する。サイクリック通信時間およびトランジェント通信時間の算出や設定は、バス管理システムのコンフィグレーション時に行われる。コンフィグレーションモードへの切り替えは、パソコン１０１の図示しない入力部を用いて、バス管理システムの管理者が行う。また、コンフィグレーションモードの切り替え時には、サイクリック通信時間およびトランジェント通信時間の算出を、パソコン１０１によって行うのか、ベースユニット１１０によって行うのかを指定する情報が含まれており、この情報に基づいてパソコン１０１またはベースユニット１１０が選択される。
【００４１】
まず、ベースユニット１１０がコントローラユニット１１〜１ｎのサイクリック通信時間およびトランジェント通信時間を算出して設定する動作について説明する。図８は、バス管理システムのコンフィグレーション時の動作を説明するための図である。図８において、パソコン１０１のユニットパラメータテーブル書き換え部３０４は、コントローラユニット１１を介してベースユニット１１０のユニットパラメータテーブル格納部３１４にユニットパラメータテーブルを設定する。
【００４２】
ユニットパラメータテーブルが設定されると、ベースユニット１１０のユニット種別情報収集部３１１は、コントローラユニット１１〜１ｎと通信を行って応答の有無を検出して、ＦＡコントローラ制御バス１０９に接続されているコントローラユニット１１〜１ｎを認識するとともに、コントローラユニット１１〜１ｎのユニット種別情報格納部３０７からそれぞれのユニット種別情報を収集する。
【００４３】
コントローラユニット１１〜１ｎからユニット種別情報を収集した後に、ベースユニット１１０のサイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、ユニットパラメータテーブル格納部３１４に格納されているユニットパラメータテーブル、およびユニット種別情報収集部３１１によって収集されたコントローラユニット１１〜１ｎのユニット種別情報に基づいて、コントローラユニット１１〜１ｎのサイクリック通信時間、およびトランジェント通信時間を算出する。サイクリック通信時間算出部３１２は、算出したサイクリック通信時間をサイクリック通信時間格納部３２４に通知し、トランジェント通信時間算出部３１３は、算出したトランジェント通信時間をトランジェント通信時間格納部３２５に通知する。
【００４４】
ベースユニット１１０のサイクリック通信時間格納部３２４およびトランジェント通信時間格納部３２５は、サイクリック通信時間およびトランジェント通信時間をコントローラユニット１１〜１ｎに通知する。
【００４５】
これにより、コントローラユニット１１〜１ｎのサイクリック通信制御部３０８およびトランジェント通信制御部３０９は、通知されたサイクリック通信時間およびトランジェント通信時間に従って、サイクリックデータおよびトランジェントデータの通信を制御してコントローラユニット１１〜１ｎおよびベースユニット１１０による通常通信の動作に移行する。
【００４６】
図９のフローチャートを参照して、ベースユニット１１０がサイクリック通信時間およびトランジェント通信時間を算出する動作を詳細に説明する。ベースユニット１１０は、バス制御部３１８を介してパソコン１０１のユニットパラメータテーブル書き換え部３０４から受信したデータに基づいて、ユニットパラメータテーブルを設定してユニットパラメータテーブル格納部３１４に格納する（ステップＳ１００）。
【００４７】
ユニット種別情報収集部３１１は、コントローラユニット１１〜１ｎからユニット種別情報を収集する（ステップＳ１０１）。具体的には、たとえば、コントローラユニット１１から順にユニット種別情報を要求するコマンドを送信する。コントローラユニット１１〜１ｎは、コマンドを受信するとユニット種別情報格納部３０７に格納されている自装置のユニット種別情報をベースユニット１１０に送信する。このようにしてユニット種別情報収集部３１１は、ＦＡコントローラ制御バス１０９に接続されているコントローラユニット１１〜１ｎを認識するとともに、コントローラユニット１１〜１ｎのユニット種別情報を収集する。ユニット種別情報収集部３１１は、収集したユニット種別情報とコントローラユニット１１〜１ｎを識別するためのユニット識別子とをサイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３とに通知する。ユニット種別情報は、先に説明したようにコントローラユニット１１〜１ｎの機能を識別するための情報であり、ユニット識別子は、バス管理システム内におけるコントローラユニット１１〜１ｎを識別するための情報であり、システム内で重複して付与されることのない値である。
【００４８】
サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、タイムスロット数および通信レートを求める（ステップＳ１０２）。タイムスロット数は、１通信周期内の分割数であり、ＦＡコントローラ制御バス１０９に接続されるコントローラユニット１１〜１ｎの中で、ユニット種別情報を送信してきたコントローラユニットの数と等しくなる。したがって、サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、ユニット種別情報収集部３１１から通知されたユニット識別子の数からタイムスロット数を求める。また、通信レートはシステム固有のものであるので、ベースユニット１１０に予め設定されているものとする。
【００４９】
サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、ユニット種別情報収集部３１１によって収集されたユニット種別情報、およびユニットパラメータテーブル格納部３１４に格納されているユニットパラメータテーブルに基づいて、コントローラユニット１１〜１ｎの制御周期、サイクリックデータサイズ、およびトランジェントデータサイズを取得する（ステップＳ１０３）。
【００５０】
たとえば、コントローラユニット１１のユニット種別情報が「Ｕｂ」の場合、サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、ユニット種別情報「Ｕｂ」を検索キーとしてユニットパラメータテーブル（図７参照）のユニット種別を検索して、検索キーと一致したユニット種別に対応付けて登録されている制御周期、サイクリックデータサイズ、およびトランジェントデータサイズを取得する。この場合、制御周期「ｔｂ」、サイクリックデータサイズ「Ｃｂ」、およびトランジェントデータサイズ「Ｔｂ」を取得する。サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、コントローラユニット１１のユニット識別子に対応付けて取得した制御周期「ｔｂ」、サイクリックデータサイズ「Ｃｂ」、およびトランジェントデータサイズ「Ｔｂ」を記憶する。
【００５１】
サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、ユニット種別情報収集部３１１から通知されたユニット識別子に対応するユニット種別情報を用いて、ベースユニット１１０が認識したコントローラユニット１１〜１ｎの制御周期、サイクリックデータサイズ、およびトランジェントデータサイズを取得してユニット識別子に対応付けて記憶する。
【００５２】
サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、コントローラユニット１１〜１ｎの制御周期の最小値（通信周期）を求める（ステップＳ１０４）。
【００５３】
サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、各タイムスロットのサイクリック転送時間を算出する（ステップＳ１０５）。具体的には、サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、各タイムスロットのサイクリックデータサイズと通信レートに基づいて、サイクリック転送時間を算出する。任意のタイムスロットのサイクリックデータサイズをＣｍとし、通信レートをＶとすると、任意のタイムスロットのサイクリック転送時間Ｔｃｍは、
Ｔｃｍ  ＝  Ｃｍ／Ｖ      ・・・式（１）
で表すことができる。サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、上記式（１）を用いて、各タイムスロットのサイクリック転送時間を算出する。
【００５４】
ここで、ベースユニット１１０がコントローラユニット１１〜１ｎを全て認識しているとするとタイムスロット数はｎとなり、コントローラユニット１１〜１ｎの順にタイムスロット１〜ｎを割り当てたとする。コントローラユニット１１のサイクリックデータサイズを「Ｃ１」とし、コントローラユニット１２のサイクリックデータサイズを「Ｃ２」とし、・・・、コントローラユニット１ｎのサイクリックデータサイズを「Ｃｎ」とすると、上記式（１）より、コントローラユニット１１に割り当てられるタイムスロット１のサイクリック転送時間Ｔｃ１は「Ｃ１／Ｖ」となり、コントローラユニット１２に割り当てられるタイムスロット２のサイクリック転送時間Ｔｃ２は「Ｃ２／Ｖ」となり、・・・、コントローラユニット１ｎに割り当てられるタイムスロットｎのサイクリック転送時間Ｔｃｎは「Ｃｎ／Ｖ」となる。
【００５５】
トランジェント通信時間算出部３１３は、各タイムスロットのトランジェント転送時間を算出する（ステップＳ１０６）。具体的には、トランジェント通信時間算出部３１３は、通信周期、各タイムスロットのサイクリック通信時間、および各タイムスロットのトランジェントデータサイズに基づいて、各タイムスロットのトランジェント転送時間を算出する。任意のタイムスロットのトランジェントデータサイズをＤｍとし、コントローラユニット１１のトランジェントデータサイズをＤ１とし、コントローラユニット１２のトランジェントデータサイズをＤ２とし、・・・、コントローラユニット１ｎのトランジェントデータサイズをＤｎとし、ステップＳ１０４で求めた通信周期をＴとし、タイムスロット１のサイクリック転送時間をＴｃ１とし、タイムスロット２のサイクリック転送時間をＴｃ２とし、…、タイムスロットｎのサイクリック転送時間をＴｃｎとすると、任意のタイムスロットのトランジェント転送時間Ｔｄｍは、
Ｔｄｍ  ＝  ｛Ｔ−（Ｔｃ１＋Ｔｃ２＋…＋Ｔｃｎ）｝×｛Ｄｍ／（Ｄ１＋Ｄ２＋・・・＋Ｄｎ）｝      ・・・式（２）
で表すことができる。
【００５６】
上記式（２）は、通信周期Ｔからコントローラユニット１１〜１ｎのサイクリック転送時間を除いた残りの時間を、コントローラユニット１１〜１ｎのトランジェントデータサイズに応じてトランジェント転送時間を配分している。トランジェント通信時間算出部３１３は、上記式（２）を用いて、各タイムスロットのトランジェント転送時間を算出する。
【００５７】
サイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３は、算出したコントローラユニット１１〜１ｎのサイクリック転送時間およびトランジェント転送時間に基づいて、サイクリック通信時間およびトランジェント通信時間を求める（ステップＳ１０７）。具体的には、通信周期内のコントローラユニット１１〜１ｎに割り当てるタイムスロット１〜ｎの開始時間やサイクリックデータの転送開始時間、トランジェントデータの転送開始時間などＦＡコントローラ制御バス１０９を使用するための時間割り当てを求めて、コントローラユニット１１〜１ｎのサイクリック通信時間およびトランジェント通信時間を求める。
【００５８】
サイクリック通信時間算出部３１２は、コントローラユニット１１〜１ｎのサイクリック通信時間をユニット識別子に対応付けてサイクリック通信時間格納部３２４に通知し、トランジェント通信時間算出部３１３は、コントローラユニット１１〜１ｎのトランジェント通信時間をユニット識別子に対応付けてトランジェント通信時間格納部３２５に通知する。
【００５９】
サイクリック通信時間格納部３２４は、通知されたコントローラユニット１１〜１ｎのサイクリック通信時間をユニット識別子に対応付けて格納するとともに、コントローラユニット１１〜１ｎにそれぞれのサイクリック通信時間を通知する。また、トランジェント通信時間格納部３２５は、通知されたコントローラユニット１１〜１ｎのトランジェント通信時間をユニット識別子に対応付けて格納するとともに、コントローラユニット１１〜１ｎにそれぞれのトランジェント通信時間を通知する（ステップＳ１０８）。
【００６０】
なお、タイムスロット数、通信レート、制御周期、サイクリックデータサイズ、およびトランジェントデータサイズをコントローラユニット１１〜１ｎとの通信によって収集したユニット種別情報およびパラメータユニットテーブルから求めるようにしたが、パソコン１０１のプログラムアクセス仕様格納部３０１から取得するようにしてもかまわない。
【００６１】
つぎに、パソコン１０１がコントローラユニット１１〜１ｎのサイクリック通信時間およびトランジェント通信時間を算出して設定する動作について説明する。図１０は、バス管理システムのコンフィグレーション時の概略を説明するための図である。
【００６２】
パソコン１０１のプログラムアクセス仕様格納部３０１には、予めバス管理システム内のコントローラユニット１１〜１ｎに搭載されているプログラムのアクセス仕様が格納されている。コンフィグレーション時に、パソコン１０１のサイクリック通信時間算出部３０２およびトランジェント通信時間算出部３０３は、プログラムアクセス仕様格納部３０１から、コントローラユニット１１〜１ｎのアクセス時間（パラメータユニットテーブルの制御周期に相当する）やアクセス回数、サイクリックデータサイズ、トランジェントデータサイズなどのプログラム仕様を収集する。
【００６３】
パソコン１０１のサイクリック通信時間算出部３０２およびトランジェント通信時間算出部３０３は、収集したプログラム仕様に基づいてコントローラユニット１１〜１ｎのサイクリック通信時間、およびトランジェント通信時間を算出する。
【００６４】
パソコン１０１のサイクリック通信時間算出部３０２およびトランジェント通信時間算出部３０３は、算出したサイクリック通信時間およびトランジェント通信時間をコントローラユニット１１〜１ｎのサイクリック通信制御部３０８およびトランジェント通信制御部３０９と、ベースユニット１１０のサイクリック通信時間格納部３２４およびトランジェント通信時間格納部３２５とに通知する。
【００６５】
これにより、コントローラユニット１１〜１ｎのサイクリック通信制御部３０８およびトランジェント通信制御部３０９は、通知されたサイクリック通信時間およびトランジェント通信時間に従って、サイクリックデータおよびトランジェントデータの通信を制御してコントローラユニット１１〜１ｎおよびベースユニット１１０による通常通信の動作に移行する。
【００６６】
なお、パソコン１０１のサイクリック通信時間算出部３０２およびトランジェント通信時間算出部３０３がサイクリック通信時間およびトランジェント通信時間を算出する詳細動作は、先の図９のフローチャートを参照して説明したベースユニット１１０のサイクリック通信時間算出部３１２およびトランジェント通信時間算出部３１３がサイクリック通信時間およびトランジェント通信時間を算出するステップＳ１０４〜Ｓ１０７と同じであるので、ここではその説明を省略する。
【００６７】
つぎに、図１１〜図１３を参照して、通常通信時にトランジェントデータの分割が発生した場合のバス管理システムの動作を説明する。図１１において、コントローラユニット１１〜１ｎおよびベースユニット１１０は、通常通信を行っている。コントローラユニット１１〜１ｎは、コンフィグレーション時に、パソコン１０１またはベースユニット１１０によってサイクリック通信時間およびトランジェント通信時間が設定され、図１２に示すような設定値のタイムスロット１〜ｎでコントローラユニット１１〜１ｎがサイクリックデータおよびトランジェントデータを送信している。
【００６８】
コントローラユニット１１〜１ｎのトランジェント通信制御部３０９は、トランジェント通信時間内にトランジェントデータを送信できない場合、トランジェントデータをトランジェント通信時間内に送信できるように分割して複数回に分けてトランジェントデータを送信し、トランジェントデータを分割したことをトランジェント通信分割回数格納部３１０に通知する。
【００６９】
コントローラユニット１１〜１ｎのトランジェント通信分割回数格納部３１０は、トランジェント通信制御部３０９の通知に基づいて、トランジェントデータの分割転送の回数をカウントし、カウント値を格納する。コントローラユニット１２〜１ｎのトランジェント通信分割回数格納部３１０は、任意のタンミングでコントローラユニット１１を介してカウント値、すなわちトランジェント通信分割回数をパソコン１０１に通知する。また、コントローラユニット１１のトランジェント通信分割回数格納部３１０も、任意のタイミングでトランジェント通信分割回数をパソコン１０１に通知する。
【００７０】
コントローラユニット１１〜１ｎからトランジェント通信分割回数が通知されると、パソコン１０１のトランジェント通信分割回数表示部３０５は、コントローラユニット１１〜１ｎやタイムスロット１〜ｎに対応付けて、トランジェント通信分割回数を表示する。
【００７１】
図１３は、先の図１２に示した設定値によってコントローラユニット１１〜１ｎがサイクリックデータおよびトランジェントデータを送信している場合にパソコン１０１のトランジェント通信分割回数表示部３０５に表示されるモニタ値の一例を示している。図１３において、コントローラユニット１２に割り当てられているタイムスロット２と、コントローラユニット１３に割り当てられているタイムスロット３とでトランジェントデータの分割（トランジェント通信分割）が発生している。すなわち、タイムスロット２，３のトランジェント通信時間が不足している。
【００７２】
また、コントローラユニット１１に割り当てられているタイムスロット１と、コントローラユニット１ｎに割り当てられているタイムスロットｎとには、トランジェント通信分割回数が「０」であり、かつトランジェントデータＴＤを送信してから次のタイムスロットまでに時間の余裕がある。
【００７３】
バス管理システムの管理者は、パソコン１０１のトランジェント通信分割回数表示部３０５に表示されているモニタ値から、タイムスロット１，ｎのトランジェント通信時間を減らして、タイムスロット２，３のトランジェント通信時間を増やせば、システム全体の転送効率が向上することを認識し、トランジェント通信のデータ分割回数に基づいてトランジェント通信時間を変更することを決定する。
【００７４】
バス管理システムの管理者は、パソコン１０１の図示しない入力部を用いてバス管理システムを通常通信からコンフィグレーションモードに切り替えて、トランジェントデータの分割回数に基づいて、設定対象となるコントローラユニット１１〜１ｎのユニット識別子に対応付けてコントローラユニットのトランジェント通信時間をトランジェント通信時間設定変更部３０６に設定する。
【００７５】
パソコン１０１のトランジェント通信時間設定変更部３０６は、入力部からトランジェント通信時間が設定されると、ユニット識別子に基づいてトランジェント通信時間の設定を変更するコントローラユニット（この場合は、コントローラユニット１２，１３）のトランジェント通信制御部３０９に設定されたトランジェント通信時間を設定する。
【００７６】
これにより、バス管理システムの管理者がコンフィグレーションモードから通常通信に切り替えた際に、新たに設定されたトランジェント通信時間に基づいてトランジェントデータの送信が行われる。
【００７７】
以上説明したように、この実施の形態１においては、コンフィグレーション時に、ベースユニット１１０が、コントローラユニット１１〜１ｎの制御周期、サイクリックデータサイズ、トランジェントデータサイズ、および、予め定められているＦＡコントローラ制御バス１０９の通信レートに基づいて、コントローラユニット１１〜１ｎのサイクリック通信時間およびトランジェント通信時間を算出して、コントローラユニット１１〜１ｎに割り当てるようにしているため、サイクリックデータとトランジェントデータとが混在する場合でも、各コントローラユニットがＦＡコントローラ制御バス１０９を使用する転送時間を適切に配分することができ、通信効率を向上することができる。
【００７８】
また、この実施の形態１においては、コンフィグレーション時に、外部からの指定によって、パソコン１０１が、コントローラユニット１１〜１ｎに搭載されるプログラムのアクセス時間、アクセス回数、サイクリックデータサイズ、トランジェントデータサイズ、および予め定められているＦＡコントローラ制御バス１０９の通信レートに基づいて、コントローラユニット１１〜１ｎのサイクリック通信時間およびトランジェント通信時間を算出して、コントローラユニット１１〜１ｎに割り当てるようにしているため、サイクリックデータとトランジェントデータとが混在する場合でも、各コントローラユニットがＦＡコントローラ制御バス１０９を使用する転送時間を適切に配分することができ、通信効率を向上することができる。
【００７９】
さらに、この実施の形態１においては、パソコン１０１のトランジェント通信時間設定変更部３０６が、コントローラユニット１１〜１ｎおよびベースユニット１１０に設定されているトランジェント通信時間を変更するようにしているため、トランジェント通信時間内にトランジェントデータを送信することができずに分割して送信する状態が発生するなど通信のボトルネックとなっているコントローラユニットを特定して、トランジェント通信時間を再設定することが可能となり、通信効率を向上することができる。
【００８０】
また、この実施の形態１においては、パソコン１０１のユニットパラメータテーブル書き換え部３０４が、外部からの指示によってベースユニット１１０のユニットパラメータテーブル格納部３１４に格納されているユニットパラメータテーブルを変更するようにしているため、新たな機種のコントローラユニットをＦＡコントローラ制御バス１０９に接続した場合にも対応することができる。
【産業上の利用可能性】
【００８１】
以上のように、本発明にかかるバス管理システムは、ＦＡシステムに有用であり、特に、異なる機種のコントローラユニットで構成されるＦＡシステムのコントローラ制御バスの管理に適している。
【図面の簡単な説明】
【００８２】
【図１】この発明におけるバス管理システムの実施の形態１の構成の一例を示すブロック図である。
【図２】図１に示したバス管理システムのＦＡコントローラ制御バスの通信タイミングを示す図である。
【図３】図１に示したパソコンのバス管理システムに関する機能構成を示すブロック図である。
【図４】図１に示したマスタユニットであるコントローラユニットのバス管理システムに関する機能構成を示すブロック図である。
【図５】図１に示したコントローラユニットのバス管理システムに関する機能構成を示すブロック図である。
【図６】図１に示したベースユニットのバス管理システムに関する機能構成を示すブロック図である。
【図７】図６に示したユニットパラメータテーブル格納部に格納されるユニットパラメータテーブルの構成を示す図である。
【図８】コンフィグレーション時の動作を説明するための図である。
【図９】ベースユニットがサイクリック通信時間およびトランジェント通信時間を算出する動作を説明するためのフローチャートである。
【図１０】コンフィグレーション時の動作を説明するための図である。
【図１１】通常通信時にトランジェントデータの分割が発生した場合の動作を説明するための図である。
【図１２】通常通信時のタイムスロットにおけるサイクリック通信時間およびトランジェント通信時間の設定値を示す図である。
【図１３】パソコンのトランジェント通信分割回数表示部に表示されるモニタ値の一例を示す図である。
【符号の説明】
【００８３】
１１，１２，１３，１４，１ｎ−１，１ｎ  コントローラユニット
１０１  パソコン
１０２  接続ケーブル
１０９  ＦＡコントローラ制御バス
１１０  ベースユニット
３０１  プログラムアクセス仕様格納部
３０２，３１２  サイクリック通信時間算出部
３０３，３１３  トランジェント通信時間算出部
３０４  ユニットパラメータテーブル書き換え部
３０５  トランジェント通信分割回数表示部
３０６  トランジェント通信時間設定変更部
３０７  ユニット種別情報格納部
３０８，３１２  サイクリック通信制御部
３０９，３１３  トランジェント通信制御部
３１０  トランジェント通信分割回数格納部
３１１  ユニット種別情報収集部
３１４  ユニットパラメータテーブル格納部
３１５，３１６  パソコン／マスタユニット間データ制御部
３１７，３１８  バス制御部
３２４  サイクリック通信時間格納部
３２５  トランジェント通信時間格納部
【図１】
2006318367.tif 000003
【図２】
2006318367.tif 000004
【図３】
2006318367.tif 000005
【図４】
2006318367.tif 000006
【図５】
2006318367.tif 000007
【図６】
2006318367.tif 000008
【図７】
2006318367.tif 000009
【図８】
2006318367.tif 000010
【図９】
2006318367.tif 000011
【図１０】
2006318367.tif 000012
【図１１】
2006318367.tif 000013
【図１２】
2006318367.tif 000014
【図１３】
2006318367.tif 000015