(57)【特許請求の範囲】
【請求項１】
マスタスレーブ型プロトコルを用いて通信するマスタおよびスレーブと、
前記マスタと前記スレーブ相互間を接続する通信バスと、
前記マスタと前記スレーブのそれぞれに設けられ前記マスタと前記スレーブ相互間または前記スレーブ相互間の情報の中継に関する通信を可能にする公開レジスタと、
前記マスタと前記スレーブのそれぞれに設けられ前記公開レジスタを用いて前記マスタと前記スレーブ相互間または前記スレーブ相互間の通信を制御する通信制御部と、を有し、
前記公開レジスタは、
前記マスタまたは前記スレーブに送信する要求電文を格納する中継要求レジスタと、
前記中継要求レジスタに格納される要求電文の有無と前記要求電文の電文長を格納する定周期リードレジスタと、
前記マスタまたは他のスレーブからの応答電文を格納する中継応答レジスタと、
を有することを特徴とするマスタスレーブ相互間通信装置。
【請求項２】
前記マスタの前記通信制御部は、
前記スレーブの公開レジスタにアクセスし前記中継要求レジスタに要求電文が格納されている場合には、前記中継要求レジスタに格納されている要求電文に含まれる送信先のマスタまたはスレーブに前記要求電文を送信し、前記中継要求レジスタに格納されている要求電文に含まれる送信先のマスタまたはスレーブからの応答電文を前記スレーブに送信することを特徴とする請求項１に記載のマスタスレーブ相互間通信装置。
【請求項３】
前記スレーブの前記通信制御部は、
マスタまたは他のスレーブに送信したい要求電文が有る場合には当該要求電文を前記中継要求レジスタに格納するとともに、前記要求電文の有無と前記要求電文の電文長とを前記定周期リードレジスタに格納し、
前記マスタまたは他のスレーブから送信された応答電文が有る場合には当該応答電文を前記中継応答レジスタに格納する、
ことを特徴とする請求項１または２に記載のマスタスレーブ相互間通信装置。
【請求項４】
前記マスタは太陽電池発電システムを統括的に制御するパワーコンディショナーであり、前記レジスタは前記太陽電池発電システムを構成するパワーコンディショナー、表示・操作装置または計測装置のいずれかであることを特徴とする請求項１から３のいずれかに記載のマスタスレーブ相互間通信装置。
【請求項５】
前記マスタスレーブ型プロトコルは、ＪＢＵＳ（ＭｏｄＢＵＳ）プロトコルであることを特徴とする請求項１から４のいずれかに記載のマスタスレーブ相互間通信装置。
【請求項６】
請求項２に記載されたマスタスレーブ相互間通信装置に適用されるマスタスレーブ相互間通信方法であって、
いずれかのスレーブが送信したい電文を自己の公開レジスタに格納する段階と、
マスタがスレーブと交信し前記公開レジスタに格納されている電文を前記送信先に送信する段階と、
を含むことを特徴とするマスタスレーブ相互間通信方法。
【請求項７】
前記自己の公開レジスタに格納する段階は、
前記公開レジスタの中継要求電文レジスタに、送信したい電文を格納する段階と、
前記公開レジスタの定周期リードレジスタに、前記電文の有無と前記電文の電文長を格納する段階と、
を含むことを特徴とする請求項６に記載のマスタスレーブ相互間通信方法。
【請求項８】
前記送信先のスレーブに送信する段階は、
マスタが各スレーブの公開レジスタの定周期リードレジスタと交信し電文の有無を判断する段階と、
電文が有る場合には、スレーブからマスタに、前記公開レジスタの中継要求電文レジスタに格納されている電文と送信先とを送信する段階と、
前記マスタが、送信された電文を送信先に送信する段階と、
を含むことを特徴とする請求項６または７に記載のマスタスレーブ相互間通信方法。
【請求項９】
前記送信先は、マスタまたはスレーブであることを特徴とする請求項６から８のいずれかに記載のマスタスレーブ相互間通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタスレーブ型プロトコルを用いていたとしても、マスタからスレーブ、スレーブからマスタ、スレーブから他のスレーブへの情報のリードおよびライトを可能にする、マスタスレーブ相互間通信装置およびその通信方法に関する。
【背景技術】
【０００２】
近年、急速に設置数を伸ばしている太陽電池発電システムは、発電状況などの計測情報を収集する計測装置、計測情報を表示したり太陽電池発電システムの操作信号を出力したりする表示・操作装置、太陽電池発電システムを総合的に制御する機能を有するパワーコンディショナーを備える。
【０００３】
太陽電池発電システムは、計測装置、表示・操作装置、パワーコンディショナーの相互間通信を、マスタスレーブ型プロトコルによって行う。太陽電池発電システムで用いられているマスタスレーブ型プロトコルは、具体的には、ＪＢＵＳ（ＭｏｄＢＵＳ）プロトコルである
ＪＢＵＳ（ＭｏｄＢＵＳ）プロトコルは、マスタスレーブ型プロトコルであるため、マスタのみが通信のためのフローコントロールをすることができる。このため、マスタからスレーブに対してのみ情報のリードおよびライトをすることができ、スレーブからマスタ、および、スレーブから他のスレーブに対する情報のリードおよびライトをすることはできない。
【０００４】
図８はマスタスレーブ型プロトコルにおける通信のフローコントロールを示している。マスタスレーブ型プロトコルを用いた場合、図示するように、マスタとして登録されているパワーコンディショナー１は、スレーブ１として登録されている表示・操作装置、スレーブ２として登録されているパワーコンディショナー２、スレーブ３として登録されている計測装置、のそれぞれに対して情報のリードおよびライトをすることができる。しかし、表示・操作装置、パワーコンディショナー２、計測装置のそれぞれが、マスタに対して情報のリードおよびライトをすることはできない。また、表示・操作装置、パワーコンディショナー２、計測装置のそれぞれが、これらの相互間で情報のリードおよびライトをすることもできない。
【０００５】
マスタスレーブ型プロトコルを用いる通信システムとしては、たとえば、下記特許文献１に示すような技術がある。この技術は、マスタとスレーブが定周期伝送に同期しながら定周期動作するとき、スレーブの同期処理を全スレーブ同時に起動できるようにしたものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２２９３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、マスタスレーブ型プロトコルを用いる従来の通信システムでは、マスタからスレーブに対して情報のリードおよびライト要求ができるだけで、スレーブからマスタに対して、および、スレーブ相互間での情報のリードおよびライトをすることができない。
【０００８】
太陽電池発電システムでは、表示・操作装置を備え、また、複数のパワーコンディショナーを接続することがあるので、マスタからだけではなく、スレーブからも情報のリードおよびライトの指示ができれば便利である。
【０００９】
また、マスタはスレーブに比較して情報の通信量が格段に多くなるので、常に電源から通電されていなければならず、マスタはスレーブに比較して消費電力が大きくなる。一方、スレーブはマスタに比較して情報の通信量は少ないので、通信を行わない待機時に消費電力を抑えることができる。
【００１０】
表示・操作装置は操作機能を有しているため、指示された操作を不定期に実行する必要がある。したがって、表示・操作装置はマスタとして登録することが好ましい。しかし、表示・操作装置をバッテリで動作させる場合には、可能な限り消費電力を抑える必要がある。このため、表示・操作装置をマスタとして登録することには問題がある。
【００１１】
このような場合でも、表示・操作装置をスレーブとして登録しておき、マスタとの通信ができるようにすれば、表示・操作装置の消費電力を抑えつつ、マスタとの間で必要な情報のリードおよびライトをすることができる。
【００１２】
本発明は、上記のような従来の不具合を解消するために成されたものであり、マスタスレーブ型プロトコルを用いていたとしても、マスタからスレーブ、スレーブからマスタ、スレーブから他のスレーブへの情報のリードおよびライトを可能にする、マスタスレーブ相互間通信装置およびその通信方法の提供を目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するための本発明に係るマスタスレーブ相互間通信装置は、マスタおよびスレーブ、通信バス、公開レジスタ、通信制御部を有する。
【００１４】
マスタおよびスレーブは、マスタスレーブ型プロトコルを用いて相互間の通信を行う。通信バスは、マスタとスレーブ相互間を接続する。公開レジスタは、マスタとスレーブのそれぞれに設けられ、マスタとスレーブ相互間またはスレーブ相互間の情報の中継に関する通信を可能にする。通信制御部は、マスタとスレーブのそれぞれに設けられ、公開レジスタを用いてマスタとスレーブ相互間またはスレーブ相互間の通信を制御する。公開レジスタは、マスタまたはスレーブに送信する要求電文を格納する中継要求レジスタと、中継要求レジスタに格納される要求電文の有無と要求電文の電文長を格納する定周期リードレジスタと、マスタまたは他のスレーブからの応答電文を格納する中継応答レジスタと、を有する。
【００１５】
また、上記目的を達成するための本発明に係るマスタスレーブ相互間通信方法は、上記の構成を有するマスタスレーブ相互間通信装置に適用されるマスタスレーブ相互間通信方法である。
【００１６】
マスタスレーブ相互間通信方法は、いずれかのスレーブが送信したい電文と当該電文の送信先を自己の公開レジスタに格納する段階と、マスタがスレーブと交信し前記公開レジスタに格納されている電文を送信先に送信する段階と、を含む。
【発明の効果】
【００１７】
上述した本発明に係るマスタスレーブ相互間通信装置およびその通信方法によれば、マスタとスレーブのそれぞれに公開レジスタを設け、通信制御部が公開レジスタを介してマスタとスレーブ相互間またはスレーブ相互間の通信を制御する。このため、マスタスレーブ型プロトコルを用いていたとしても、マスタからスレーブ、スレーブからマスタ、スレーブから他のスレーブへの情報のリードおよびライトができる。
【００１８】
また、不定期に情報のリードおよびライトが必要な装置であっても、マスタとして登録することなく、スレーブとして通信することができるので、装置の消費電力を抑えることができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係るマスタスレーブ相互間通信装置のマスタスレーブ型プロトコルにおける通信のフローコントロールを示す図である。
【図２】本実施形態に係るマスタスレーブ相互間通信装置のマスタとスレーブの概略構成図である。
【図３】本実施形態に係るマスタスレーブ相互間通信装置が有する公開レジスタの構成図である。
【図４】マスタ側の通信制御部の動作フローチャートである。
【図５】スレーブ側の通信制御部の動作フローチャートである。
【図６】スレーブ３からスレーブ２に設定情報レジスタのリード要求電文を送信する場合の処理手順を示す図である。
【図７】スレーブ２からマスタに操作情報レジスタのライト要求電文を送信する場合の処理手順を示す図である。
【図８】マスタスレーブ型プロトコルにおける通信のフローコントロールを示す図である。
【発明を実施するための形態】
【００２０】
次に、添付図面を参照しながら、本実施形態に係るマスタスレーブ相互間通信装置およびマスタスレーブ相互間通信方法について説明する。
【００２１】
[マスタスレーブ相互間通信装置の動作の概要]
図１は、本実施形態に係るマスタスレーブ相互間通信装置のマスタスレーブ型プロトコルにおける通信のフローコントロールを示している。
【００２２】
本実施形態に係るマスタスレーブ相互間通信装置は、図示実線で示すように、マスタとして登録されているパワーコンディショナー１は、スレーブ１として登録されている表示・操作装置、スレーブ２として登録されているパワーコンディショナー２、スレーブ３として登録されている計測装置、のそれぞれに対して情報のリードおよびライトをすることができる。
【００２３】
また、本実施形態に係るマスタスレーブ相互間通信装置は、図示点線で示すように、表示・操作装置、パワーコンディショナー２、計測装置のそれぞれがマスタに対して情報のリードおよびライトをすることができる。
【００２４】
さらに、本実施形態に係るマスタスレーブ相互間通信装置は、表示・操作装置、パワーコンディショナー２、計測装置のそれぞれが、パワーコンディショナー１を介して、表示・操作装置、パワーコンディショナー２、計測装置相互間で情報のリードおよびライトをすることができる。
【００２５】
［マスタスレーブ相互間通信装置の構成］
図２は、本実施形態に係るマスタスレーブ相互間通信装置のマスタとスレーブの概略構成図である。
【００２６】
本実施形態に係るマスタスレーブ相互間通信装置１００は、マスタとして登録されているパワーコンディショナー１に公開レジスタ１１２と通信制御部１１４とを有する。パワーコンディショナー１は、本実施形態の場合、太陽電池発電システムを統括的に制御する。公開レジスタ１１２は、表示・操作装置（スレーブ１）、パワーコンディショナー２（スレーブ２）、計測装置３（スレーブ３）が相互間で情報のリードおよびライトをする場合に、リードおよびライトをする情報を中継するものである。通信制御部１１４は、表示・操作装置、パワーコンディショナー２、計測装置の公開レジスタにアクセスし、相互間でリードおよびライトする情報が有る場合には、公開レジスタ１１２を介して、送信先に情報を送信する。
【００２７】
本実施形態に係るマスタスレーブ相互間通信装置１００は、スレーブ１として登録されている表示・操作装置に公開レジスタ１２２と通信制御部１２４とを有する。また、スレーブ２として登録されているパワーコンディショナー２に公開レジスタ１３２と通信制御部１３４とを有する。さらに、スレーブ３として登録されている計測装置に公開レジスタ１４２と通信制御部１４４とを有する。
【００２８】
公開レジスタ１２２、１３２、１４２は、表示・操作装置、パワーコンディショナー２、計測装置が、マスタとして登録されているパワーコンディショナー１と通信を行う場合の情報を格納（公開）している。
【００２９】
パワーコンディショナー１と表示・操作装置、パワーコンディショナー１とパワーコンディショナー２、パワーコンディショナー１と計測装置は、それぞれが通信バス１９０で接続され、マスタスレーブ型プロトコルを用いて通信する。本実施形態では、パワーコンディショナー１、表示・操作装置、パワーコンディショナー２、計測装置は、太陽電池発電システムを構成する。また、マスタスレーブ型プロトコルとして、ＪＢＵＳ（ＭｏｄＢＵＳ）プロトコルを用いる。通信バス１９０は有線としているが、無線としても良い。
【００３０】
通信制御部１１４、１２４、１３４、１４４は、パワーコンディショナー１、表示・操作装置、パワーコンディショナー２、計測装置のそれぞれに設けられ、上記の公開レジスタ１１２、１２２、１３２、１４２を用いて、パワーコンディショナー１、表示・操作装置、パワーコンディショナー２、計測装置の間の通信を制御する。
【００３１】
〔公開レジスタの構成〕
図３は、本実施形態に係るマスタスレーブ相互間通信装置１００が有する公開レジスタの構成図である。公開レジスタは、パワーコンディショナー１、表示・操作装置、パワーコンディショナー２、計測装置のそれぞれが有し、パワーコンディショナー１、表示・操作装置、パワーコンディショナー２、計測装置相互間の通信を可能にする。
【００３２】
公開レジスタ１１２、１２２、１３２、１４２は、定周期リードレジスタ１５０、中継要求レジスタ１６０、中継応答レジスタ１７０、その他レジスタ１８０を有する。
【００３３】
定周期リードレジスタ１５０は、中継要求レジスタ１６０に格納される、要求電文の有無および要求電文の電文長を格納し、マスタスレーブ相互間通信装置１００の、状態情報、故障情報および計測情報を格納する。
【００３４】
中継要求レジスタ１６０は、パワーコンディショナー１（マスタ）、表示・操作装置１（スレーブ１）、パワーコンディショナー２（スレーブ２）、計測装置（スレーブ３）相互間で送信したい要求電文を格納する。要求電文の中継リード先、または、中継ライト先は、要求電文内で指定される。
【００３５】
中継応答レジスタ１７０は、パワーコンディショナー１（マスタ）、表示・操作装置１（スレーブ１）、パワーコンディショナー２（スレーブ２）、計測装置（スレーブ３）から送られてくる応答電文を格納する。
【００３６】
その他のレジスタ１８０は、マスタスレーブ相互間通信装置１００の、システム情報、装置固有情報、設定情報、操作情報を格納する。これらの情報は、本発明に係るマスタスレーブ相互間通信装置１００の動作に直接関係する情報ではないので、詳しい説明は行わない。
【００３７】
［マスタスレーブ相互間通信装置の動作］
図４は、マスタ側の通信制御部１１４の動作フローチャートである。また、図５は、スレーブ側の通信制御部１２４、１３４、１４４の動作フローチャートである。これらの動作フローチャートに基づいて通信制御部１１４、１２４、１３４、１４４の概略の動作を説明する。なお、これらの動作フローチャートは、本実施形態に係るマスタスレーブ相互間通信方法を示すものでもある。
【００３８】
〔マスタ側の通信制御部の動作〕
通信制御部１１４は、パワーコンディショナー１（以下マスタと称する）が有している。通信制御部１１４からは、それぞれ表示・操作装置、パワーコンディショナー２、計測装置（以下スレーブと称する）に情報（要求電文）が通信バス１９０を介して送信される。また通信制御部１１４には、スレーブからの情報（応答電文）が通信バス１９０を介して送信されてくる。通信制御部１１４は、マスタからスレーブに要求電文を送信する。通信制御部１１４は、スレーブからマスタの応答電文を受信する。通信制御部１１４は、要求電文を送信し応答電文を受信するため、以下のように動作する。
【００３９】
図４に示すように、通信制御部１１４は、自身が持つレジスタＮの値を１に設定する。レジスタＮは、全てのスレーブに対して、以下の定周期リード要求と定周期リード応答の処理が終了したか否かを判断するために設けてある（ステップＳ１００）。
【００４０】
次に、通信制御部１１４は、図２のスレーブ１に定周期リード要求を送信する（ステップＳ１０１）。定周期リード要求を受信したスレーブ１の送信制御部１２４は定周期リード応答を送信するので、通信制御部１１４は、スレーブ１からの定周期リード応答を受信する（ステップＳ１０２）。
【００４１】
通信制御部１１４は、スレーブ１の公開レジスタ１２２に要求電文が有るか無いかを判断する。要求電文が有る場合には、図３の定周期リードレジスタ１５０に「要求電文有」の情報が格納されている。通信制御部１１４は、要求電文の有無を定周期リードレジスタ１５０の登録内容から判断する（ステップＳ１０３）。
【００４２】
公開レジスタ１２２の定周期リードレジスタ１５０に要求電文が有れば（ステップ１０３：ＹＥＳ）、通信制御部１１４は、公開レジスタ１２２の定周期リードレジスタ１５０に格納されている要求電文の電文長を見て、スレーブ１の中継要求レジスタ１６０にリード要求を送信する（ステップＳ１０４）。通信制御部１１４は、スレーブ１の中継要求レジスタ１６０からリード応答を受信する（ステップＳ１０５）。
【００４３】
一方、ステップＳ１０３において、スレーブ１の公開レジスタ１２２に要求電文が無いと判断されると（ステップ１０３：ＮＯ）、通信制御部１１４は、次のスレーブ（スレーブ２）の処理に進めるために、カウンタＮの値を１だけインクリメントする（ステップＳ１１２）。そして、すべてのスレーブに対して、定周期リード要求と定周期リード応答の処理（ステップＳ１０１とステップＳ１０２）が終了したかを判断する（ステップＳ１１３）。すべてのスレーブに対して、定周期リード要求と定周期リード応答の処理が終了していれば（ステップＳ１１３：ＹＥＳ）、すべての処理を終了する。一方、すべてのスレーブに対して、定周期リード要求と定周期リード応答の処理が終了していなければ（ステップＳ１１３：ＮＯ）、ステップＳ１０１に戻って、次のスレーブ（スレーブ２）の処理を行う。
【００４４】
通信制御部１１４は、受信した応答電文を、公開レジスタ１１２の中継要求レジスタ１６０に格納する（ステップＳ１０６）。通信制御部１１４は、中継要求レジスタ１６０に格納した要求電文の内容を解釈する（ステップＳ１０７）。通信制御部１１４は、公開レジスタ１１２の中継要求レジスタ１６０に格納されている、要求電文から中継リード先または中継ライト先がマスタであるか他のスレーブ（スレーブ２、３）であるかを判断する（ステップＳ１０８）。
【００４５】
中継要求レジスタ１６０に格納されている要求電文の中継リード先または中継ライト先がマスタであれば（ステップＳ１０８：マスタ）、通信制御部１１４は、受信した要求電文に対する応答電文を、公開レジスタ１１２の中継応答レジスタ１７０に格納する（ステップＳ１０９）。通信制御部１１４は、スレーブ１の中継応答レジスタ１７０にライト要求を送信して（ステップＳ１１０）、公開レジスタ１１２の中継応答レジスタ１７０に格納した応答電文を、公開レジスタ１２２の中継応答レジスタ１７０に格納する。通信制御部１１４は、スレーブ１から中継応答レジスタ１７０のライト応答を受信する（ステップＳ１１１）。以上の処理が行われることで、スレーブ１はマスタに要求電文が送信でき、マスタからの応答電文が受信できる。
【００４６】
一方、中継要求レジスタ１６０に格納されている要求電文の中継リード先または中継ライト先が他のスレーブ（スレーブ２、３）であれば（ステップＳ１０８：スレーブ）、通信制御部１１４は、受信した要求電文に基づいて作成した要求電文を、中継リード先または中継ライト先となっている該当スレーブの要求電文の中継リード対象またはライト対象の公開レジスタ１８０に送信する。たとえば、中継リード先となっているスレーブがスレーブ３（図２参照）であれば、作成した要求電文を、公開レジスタ１４２の要求電文の中継リード対象またはライト対象の公開レジスタ１８０に送信する（ステップＳ１１４）。
【００４７】
次に、要求電文を受信したスレーブは、受信した要求電文に基づいて作成した応答電文を送信するので、通信制御部１１４は、そのスレーブから応答電文を受信する。たとえば、要求電文を受信したスレーブがスレーブ３であれば、通信制御部１１４は、スレーブ３が送信する応答電文を受信する（ステップＳ１１５）。通信制御部１１４は、スレーブ３が送信する応答電文を、公開レジスタ１１２の中継応答レジスタ１７０に格納する（ステップＳ１１６）。通信制御部１１４は、スレーブ１の中継応答レジスタ１７０にライト要求を送信して（ステップＳ１１０）、公開レジスタ１１２の中継応答レジスタ１７０に格納した応答電文を、公開レジスタ１２２の中継応答レジスタ１７０に格納する（ステップ１１１）。以上の処理が行われることで、スレーブ１は他のスレーブに要求電文が送信でき、他のスレーブからの応答電文が受信できる。
【００４８】
以上の処理が終了すると、通信制御部１１４は、すべてのスレーブに対して、定周期リード要求と定周期リード応答の処理（ステップＳ１０１とステップＳ１０２）が終了したかを判断する（ステップＳ１１３）。すべてのスレーブに対して、定周期リード要求と定周期リード応答の処理が終了していれば（ステップＳ１１３：ＹＥＳ）、すべの処理を終了する。一方、すべてのスレーブに対して、定周期リード要求と定周期リード応答の処理が終了していなければ（ステップＳ１１３：ＮＯ）、ステップＳ１０１に戻って、次のスレーブ（スレーブ２）の処理を行う。
【００４９】
以上のような処理が行われることで、スレーブ１、スレーブ２、スレーブ３のそれぞれから、マスタに対して情報のリードおよびライトをすることができ、また、スレーブ１がスレーブ２、スレーブ３に対して、スレーブ２がスレーブ１、スレーブ３に対して、スレーブ３がスレーブ１、スレーブ２に対して、情報のリードおよびライトをすることができる。
【００５０】
〔スレーブ側の通信制御部の動作〕
通信制御部１２４、１３４、１４４はスレーブ１、２、３が有している。通信制御部１２４、１３４、１４４には、マスタまたは他のスレーブに送信すべき情報（要求電文）が格納され、その情報をマスタからのリード要求より通信バス１９０を介してマスタに送信する。通信制御部１２４、１３４、１４４は、要求電文を送信し応答電文を受信するため、以下のように動作する。
【００５１】
図５に示すように、スレーブ１、２、３の通信制御部１２４、１３４、１４４は、マスタまたは他のスレーブに、リードまたはライトすべき要求電文が有るか否かを判断する（ステップＳ２００）。
【００５２】
リードまたはライトすべき要求電文が有れば（ステップＳ２００：ＹＥＳ）、通信制御部１２４、１３４、１４４は、図３の中継要求レジスタ１６０に、リードまたはライト要求電文を格納する（ステップＳ２０１）。また、通信制御部１２４、１３４、１４４は、定周期リードレジスタ１５０に、中継要求レジスタ１６０に格納した要求電文の有無と要求電文の電文長を格納する（ステップＳ２０２）。
【００５３】
通信制御部１２４、１３４、１４４は、マスタからの定周期リード要求を受信したか否かを判断する（ステップＳ２０３）。通信制御部１２４、１３４、１４４は、マスタからの定周期リード要求が受信されていなければ、マスタからの定周期リード要求を受信するまで待つ（ステップＳ２０３：ＮＯ）。
【００５４】
一方、通信制御部１２４、１３４、１４４は、マスタからの定周期リード要求を受信したら（ステップＳ２０３：ＹＥＳ）、マスタに定周期リード応答を送信する（ステップＳ２０４）。
【００５５】
通信制御部１２４、１３４、１４４は、マスタから中継要求レジスタ１６０のリード要求を受信したか否かを判断する（ステップＳ２０５）。通信制御部１２４、１３４、１４４は、マスタから中継要求レジスタ１６０のリード要求を受信したら（ステップＳ２０５：ＹＥＳ）、リード応答としてステップＳ２０１で中継要求レジスタ１６０に格納した要求電文をマスタに送信する（ステップＳ２０６）。
【００５６】
通信制御部１２４、１３４、１４４は、マスタから中継要求レジスタ１６０のリード要求を受信しなければ（ステップＳ２０５：ＮＯ）、再びマスタからの定周期リード要求が受信されるまで待つ（ステップＳ２０３）。
【００５７】
通信制御部１２４、１３４、１４４は、マスタから中継応答レジスタ１７０のライト要求を受信したら（ステップＳ２０７：ＹＥＳ）、受信した要求電文に基づき該当スレーブからの応答電文を中継応答レジスタ１７０に格納する（ステップＳ２０８）。通信制御部１２４、１３４、１４４は、中継応答レジスタ１７０に格納された応答電文を解釈し（ステップＳ２０９）、定周期リードレジスタ１５０の要求電文の有無と要求電文の電文長を消去する（ステップＳ２１０）。一方、通信制御部１２４、１３４、１４４は、マスタから応答電文を受信しなければ（ステップＳ２０７：ＮＯ）、再びマスタからの定周期リード要求が受信されるまで待つ（ステップＳ２０３）。
【００５８】
以上のような処理が行われることで、スレーブ１、スレーブ２、スレーブ３のそれぞれから、マスタに対して情報のリードおよびライトをすることができ、また、情報の送受信が完了したことを確認することができる。さらに、スレーブ１がスレーブ２、スレーブ３に対して、スレーブ２がスレーブ１、スレーブ３に対して、スレーブ３がスレーブ１、スレーブ２に対して、情報のリードおよびライトをすることができ、情報のリードおよびライトが完了したことを確認することができる。
【００５９】
［マスタスレーブ相互間通信装置の動作の具体例］
次に、本実施形態に係るマスタスレーブ相互間通信装置の動作の具体例を、図６及び図７に示す図に基づいて説明する。
【００６０】
図６は、スレーブ３からスレーブ２に設定情報レジスタのリード要求電文を送信する場合の処理手順を示す図である。前提として、スレーブ３は、スレーブ３の公開リードレジスタ（図３参照）の中継要求レジスタに、スレーブ２に対する設定情報レジスタのリード要求電文を格納し、また、電文には中継リードまたは中継ライド先としてスレーブ２が指定されている。さらに、公開リードレジスタの定周期リードレジスタに、要求電文の有無と、要求電文の電文長を格納してある。
【００６１】
まず、マスタは、スレーブ１への定周期リード要求を送信する。スレーブ１は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ１からの定周期リード応答を受信する。次に、マスタは、スレーブ２への定周期リード要求を送信する。スレーブ２は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ２からの定周期リード応答を受信する。
【００６２】
そして、マスタは、スレーブ３への定周期リード要求を送信する。スレーブ３は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ３からの定周期リード応答を受信する。
【００６３】
マスタは、スレーブ３への定周期リード要求において、スレーブ３に、マスタまたは他スレーブに対してリードまたはライト要求する電文が有ることがわかるので、マスタは、スレーブ３の中継要求レジスタにリード要求を送信する。中継要求レジスタのリード要求を受信したスレーブ３は、中継要求レジスタに格納されている要求電文をマスタに送信する。マスタは、スレーブ３からの中継要求レジスタのリード応答により、スレーブ３の中継要求電文を受信する。
【００６４】
マスタは、スレーブ３の中継要求電文から、要求電文がスレーブ２に対する設定情報レジスタのリード要求であることを確認する。そして、マスタは、スレーブ２に設定レジスタのリード要求を送信する。
【００６５】
設定レジスタのリード要求を受信したスレーブ２は、マスタにリード応答を送信する。マスタは、スレーブ２の設定レジスタのリード応答を受信する。
【００６６】
マスタは、スレーブ３の中継応答レジスタに書き込むために、マスタの中継応答レジスタにスレーブ２からの応答電文を格納する。
【００６７】
マスタは、スレーブ３の中継応答レジスタにライト要求電文を送信する。スレーブ３は、マスタからの中継応答レジスタのライト要求を受信し、中継応答レジスタに、スレーブ２からの設定情報レジスタのリード応答を格納する。
【００６８】
スレーブ３は、スレーブ２からの設定情報レジスタのリード応答を確認し、要求電文の電文長を定周期リードレジスタから消去する。また、マスタに中継応答レジスタのライト応答を送信する。
【００６９】
以上の処理で、スレーブ３からスレーブ２に対する設定情報レジスタのリード要求電文が、マスタを介してスレーブ２で受信され、スレーブ２からの応答電文をスレーブ３で受信できる。
【００７０】
以上の処理が終了すると、再び、マスタは、スレーブ１への定周期リード要求を送信する。スレーブ１は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ１からの定周期リード応答を受信する。次に、マスタは、スレーブ２への定周期リード要求を送信する。スレーブ２は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ２からの定周期リード応答を受信する。
【００７１】
図７は、スレーブ２からマスタに操作情報レジスタのライト要求電文を送信する場合の処理手順を示す図である。前提として、スレーブ２は、スレーブ２の公開リードレジスタ（図３参照）の中継要求レジスタに、マスタに対する操作情報レジスタのライト要求電文を格納し、また、電文には中継リードまたは中継ライト先としてマスタが指定されている。さらに公開リードレジスタの定周期リードレジスタに、要求電文の有無と、要求電文の電文長を格納してある。
【００７２】
まず、マスタは、スレーブ１への定周期リード要求を送信する。スレーブ１は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ１からの定周期リード応答を受信する。次に、マスタは、スレーブ２への定周期リード要求を送信する。スレーブ２は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ２からの定周期リード応答を受信する。
【００７３】
マスタは、スレーブ２への定周期リード要求において、スレーブ２に、マスタまたは他スレーブに対してリードまたはライト要求する電文が有ることがわかるので、マスタは、スレーブ２の中継要求レジスタにリード要求を送信する。中継要求レジスタのリード要求を受信したスレーブ２は、中継要求レジスタに格納されている要求電文をマスタに送信する。マスタは、スレーブ２からの中継要求レジスタのリード応答により、スレーブ２の中継要求電文を受信する。
【００７４】
マスタは、スレーブ２の中継要求電文から、要求電文がマスタに対する操作情報レジスタのライト要求であることを確認する。そして、マスタは、ライト処理をし、自己の公開レジスタに要求電文を格納する。そして、マスタは、ライト要求に対する応答電文をスレーブ２の中継応答レジスタに書き込むため、マスタの中継応答レジスタに応答電文を格納する。
【００７５】
マスタは、スレーブ２の中継応答レジスタにライト要求電文を送信する。中継応答レジスタへのライト要求を受信したスレーブ２は、中継応答レジスタにマスタからの操作情報レジスタのライト応答電文を格納する。
【００７６】
スレーブ２は、マスタからの操作情報レジスタのライト応答を確認し、要求電文の電文長を定周期リードレジスタから消去する。また、マスタに中継応答レジスタのライト応答を送信する。
【００７７】
以上の処理で、スレーブ２からマスタに対する操作情報レジスタのライト要求電文が、マスタで受信され、マスタからの応答電文をスレーブ２で受信できる。
【００７８】
以上の処理が終了すると、マスタは、スレーブ３への定周期リード要求を送信する。スレーブ３は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ３からの定周期リード応答を受信する。
【００７９】
再び、マスタは、スレーブ１への定周期リード要求を送信する。スレーブ１は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ１からの定周期リード応答を受信する。次に、マスタは、スレーブ２への定周期リード要求を送信する。スレーブ２は、この定周期リード要求を受信して、マスタに定周期リード応答を送信する。マスタは、スレーブ２からの定周期リード応答を受信する。
【００８０】
以上に説明したように、本実施形態に係るマスタスレーブ相互間通信装置では、マスタスレーブ型プロトコルを用いていたとしても、以上のような手順を採ることによって、スレーブからマスタに、スレーブからスレーブに情報のリードおよびライトをすることができる。
【００８１】
なお、以上の実施形態においては、本発明に係るマスタスレーブ相互間通信装置およびその方法を、太陽電池発電システムで使用する場合を想定して説明したが、太陽電池発電システム以外のシステムに対しても適用可能である。
【００８２】
また、以上の実施形態では、マスタスレーブ型プロトコルとして、ＪＢＵＳ（ＭｏｄＢＵＳ）プロトコルを例示したが、このプロトコルには限られない。
【符号の説明】
【００８３】
１００  マスタスレーブ相互間通信装置、
１１２、１２２、１３２、１４２  公開レジスタ、
１１４、１２４、１３４、１４４  通信制御部、
１５０  定周期リードレジスタ、
１６０  中継要求レジスタ、
１７０  中継応答レジスタ、
１８０  その他のレジスタ、
１９０  通信バス。
【要約】
【課題】マスタスレーブ型プロトコルを用いていたとしても、マスタからスレーブ、スレーブからマスタ、スレーブから他のスレーブへの通信を可能にする。
【解決手段】マスタスレーブ型プロトコルを用いて通信するマスタおよびスレーブと、マスタとスレーブ相互間を接続する通信バス１９０と、マスタとスレーブのそれぞれに設けられマスタとスレーブ相互間またはスレーブ相互間の通信を可能にする公開レジスタ１１２、１２２、１３２、１４２と、マスタとスレーブのそれぞれに設けられ公開レジスタ１１２、１２２、１３２、１４２を用いてマスタとスレーブ相互間またはスレーブ相互間の通信を制御する通信制御部１１４、１２４、１３４、１４４と、を有する。
【選択図】図２【図１】
0005612158.tif 000002
【図２】
0005612158.tif 000003
【図３】
0005612158.tif 000004
【図４】
0005612158.tif 000005
【図５】
0005612158.tif 000006
【図６】
0005612158.tif 000007
【図７】
0005612158.tif 000008
【図８】
0005612158.tif 000009