(58)【調査した分野】(Int.Cl.,DB名)
前記系統情報生成部は、所定の前記ノード情報に基づいて仕分けられた前記第一通信グループおよび前記第二通信グループのそれぞれにおいて相互の通信が成立していた場合に、当該ノード情報に対応する前記切換処理では前記中継機器同士を接続する前記通信回線が断線状態に切り換えられたものとして、前記通信ネットワークの系統を特定する、請求項2に記載の通信システム。
前記情報取得部は、前記切換処理において前記断線状態にされた前記通信回線が前記通信ネットワークにおいて接続されている前記中継機器を特定する中継機器情報を前記ノード情報に関連付けて取得し、
前記系統情報生成部は、取得された複数の前記ノード情報および中継機器情報に基づいて、前記通信ネットワークの系統を示す前記系統情報を生成する、請求項1〜8の何れか一項に記載の通信システム。
【発明を実施するための形態】
【0010】
<実施形態> (通信システム1の全体構成) 実施形態の通信ネットワークを含む通信システム1の全体構成について、
図1を参照して説明する。通信システム1は、工作機械や産業用ロボットなどを制御するプログラマブルコントローラ(以下、PLC)など他の処理機器Nと通信するシステムである。通信システム1は、
図1に示すように、ホストコンピュータ10および通信ネットワーク20を備えて構成される。
【0011】
ホストコンピュータ10は、処理機器Nの動作状況の監視や各種の制御を行う。ホストコンピュータ10は、入力装置11と、表示装置12と、情報取得部15と、系統情報生成部16とを有する。入力装置11は、PLCなどの処理機器Nなどに対するパラメータの入力などに用いられる。表示装置12は、処理機器Nに関する情報などを表示する。ここで、処理機器Nは、通信ネットワーク20を構成する通信処理ノードに相当する。以下、処理機器Nを通信処理ノードNと称する。情報取得部15および系統情報生成部16は、通信システム1を構成する通信ネットワーク20の系統情報の生成処理を実行する。情報取得部15および系統情報生成部16の詳細については、系統情報の生成処理にて説明する。
【0012】
通信ネットワーク20は、3以上の通信処理ノードNがトークンパッシング方式によって通信可能なネットワークである。通信処理ノードNは、本実施形態において、通信ネットワーク20により互いに通信可能に接続されている。通信ネットワーク20は、通信処理ノードNが送信権(トークン)を決められた順序で移動させて通信を行う。本実施形態において、通信ネットワーク20は、FL−netである。
【0013】
また、通信ネットワーク20は、ホストコンピュータ10と通信可能に接続されている。ホストコンピュータ10および通信ネットワーク20は、本実施形態において、任意の通信方式によって通信処理ノードNの一部または全部がホストコンピュータ10と通信可能に構成されている。なお、ホストコンピュータ10および通信ネットワーク20は、ホストコンピュータ10を通信ネットワーク20における1つの通信処理ノードNとしてトークンパッシング方式により通信する構成としてもよい。
【0014】
通信ネットワーク20における通信処理ノードNのそれぞれは、2以上の中継機器および2以上の通信回線を介して通信可能に接続される。また、通信処理ノードNのそれぞれは、通信回線の何れかが断線状態となって前順の通信処理ノードNからトークンを受信しない場合に、次順の通信処理ノードNに対してトークンを再発行する再発行処理を実行する機能を有する。
【0015】
通信処理ノードNのそれぞれは、自ら演算した結果または機器の状態情報を、他の通信処理ノードNへ送信する。上記の「状態情報」には、通信可能な通信処理ノードNを示す情報が含まれる。これにより、通信処理ノードNのそれぞれは、通信ネットワーク20に参加している他の通信処理ノードNを認識することができる。通信処理ノードNが通信可能であるか否かについては、例えば通信処理ノードである処理機器の電源の状態や、通信回線の接続状態によって切り換えられる。FL−netである通信ネットワーク20において、機器の状態情報は、例えばトークンを含むフレーム(以下、トークンフレーム)に付属された管理テーブルによって共有される。
【0016】
また、FL−netである通信ネットワーク20に通信処理ノードNとして処理機器が増設された場合には、当該処理機器を通信処理ノードNとして通信に新たに参加させることが可能である。また、通信ネットワーク20において通信回線の一部が切断状態とされたり処理機器の電源が切られたりした場合には、当該処理機器(通信処理ノードN)を通信から離脱させることが可能である。このような通信処理ノードNの参加と離脱が行われると、トークンの再発行処理やトークンの送受信によって、通信ネットワーク20に参加している通信処理ノードNを示す管理テーブルが更新される。
【0017】
ここで、FL−netにおけるトークンは、ブロードキャストとして配信されており、トークンの移動に関係しない通信処理ノードNも他の通信処理ノードNが送信したトークンを受信している。これにより、通信処理ノードNのそれぞれは、トークンフレームの管理テーブルによって通信ネットワーク20への他ノードの参加の状態を認識可能である。
【0018】
例えば、通信処理ノードNは、規定回数に亘ってトークンを送信しなかった他の通信処理ノードNがあった場合に、当該他の通信処理ノードNが通信ネットワーク20から離脱したものとして管理テーブルを更新する。また、通信処理ノードNは、自らを除く全ての通信処理ノードNによるトークンの送信がなかった場合に、自己が通信ネットワーク20から離脱したものとして管理テーブルを更新する。
【0019】
(通信ネットワークの第一態様)
ここで、通信ネットワーク20は、第一態様として、
図2に示すように、4つの通信処理ノードN1〜N4(以下、「ノード」とも称する)と、2つの中継機器H1,H2(以下、「ハブ」とも称する)と、5本の通信回線La〜Le(以下、「ケーブル」とも称する)とを備える。ノードN1〜N4のそれぞれは、FL−netに準拠した複数のハブH1,H2および複数のケーブルLa〜Leを介して通信を行う。
【0020】
ここで、通信ネットワーク20においては、各ノードN1〜N4がトークンを決められた順序で移動させる。
図2において、トークンの移動順序は、ノード番号順となる。即ち、トークンの移動順序は、ノードN1→ノードN2→ノードN3→ノードN4となる。また、ノード番号が最大のもの(ノードN4)は、ノード番号が最小のもの(ノードN1)へとトークンを移動させる(ノードN4→ノードN1)。
【0021】
ノードN1〜N4のうちトークンを有する1つは、他ノードに対してデータを送信することができる。換言すると、ノードN1〜N4のそれぞれは、トークンを有する場合に他ノードに対してデータを送信でき、トークンを有さない場合にはデータを送信できない。例えば、ノードN2が前順のノードN1からトークンを受け取ると、受け取ってから規定時間内に他のノードN1,N3,N4へデータを送信し、当該規定時間を経過すると当該ノードN2は前順から受け取ったトークンを次順のノードN3に送る。
【0022】
しかし、何らかの原因により、例えばノードN2が前順のノードN1からトークンを受け取るべきタイミングになったにも関わらず、トークンを受け取ることができない場合には、ノードN2はトークンを再発行して、再発行したトークンを次順のノードN3に送信する。この処理をトークンの再発行処理と称する。つまり、当該ノードN2は、新たなトークンを発行して、必要なデータを他のノードN1,N3,N4へ送信した後に、決められた次順のノードN3に当該トークンを送信する。
【0023】
(ケーブルLbが断線状態となった場合の再発行処理)
ここで、ハブH1とノードN2を接続するケーブルLbが断線状態となり、通信ネットワーク20において通信異常が生じたものとする。上記の断線状態は、ケーブルLbを介した通信が不能となる状態であり、例えばハブH1からケーブルLbの一端を取り外したり、ケーブルLbが接続されたハブH1のポートをクローズにしたりすることによって生じる状態である。
【0024】
図3Aに示すように、時刻t1において、トークンは、ノードN1から次順のノードN2へ移動し、時刻t2において、ノードN2から次順のノードN3へ移動する。ここで、
図3Aにおいて、太線矢印は、既に発行されたトークンが移動したことを示す。そして、直後にケーブルLbが断線状態となったとする。トークンは、時刻t3において、ノードN3から次順のノードN4へ移動し、時刻t4において、ノードN4から次順のノードN1へ移動する。
【0025】
続いて、時刻t5において、ノードN1から次順のノードN2へトークンが送信される。しかし、ケーブルLbが断線状態にあるため、ノードN2は、前順のノードN1からトークンを受け取ることはできない。ここで、ノードN2は、自らがトークンを送信してから一定期間の間、他のノードN1,N3,N4によりブロードキャストとして配信されたトークンを受信しておらず、自らが通信ネットワーク20から離脱したものと認識しており、トークンの送信や再発行処理を行わない。
【0026】
一方で、ケーブルLbが断線状態とされることによって、ノードN3は、前順のノードN2から送信されたトークンを受け取ることはできない。そのため、ノードN3は、時刻t6において、再発行したトークンを次順のノードN4へ送信する。ここで、
図3Aにおいて、二重線矢印は、再発行されたトークンが移動したことを示す。続いて、トークンは、時刻t7において、ノードN4から次順のノードN1へ移動し、時刻t8において、ノードN1から次順のノードN2への移動が試行される。
【0027】
しかし、ノードN2は、ケーブルLbの断線状態によって通信ネットワーク20から離脱しているため、トークンを受け取ることができない。従って、次順のノードN3は、時刻t9において、トークンの再発行処理を再び実行する。時刻t10〜t12は、時刻t7〜t9と同様の処理が行われる。このように、ノードN2へのトークンの送信が規定回数(本実施形態において3回)だけ繰り返されて、なおノードN2によるトークンの送信がない場合に、他のノードN1,N3,N4は、ノードN2が通信ネットワーク20から離脱したものとして管理テーブルを更新する。
【0028】
その後に、トークンは、時刻t13において、ノードN4から次順のノードN1へ移動し、時刻t14において、ノードN1から次順のノードN3へ移動する。その後(時刻t15以降)は、ノードN2が通信ネットワーク20に参加していないものとして正常な通信が成立した状態となる。つまり、時刻t15以降では、ケーブルLb以外が断線状態などにならない限り、トークンの再発行処理は実行されない。
【0029】
ここで、
図3Aに示すように、トークンが移動しまたは再発行される場合において、各ノードN1〜N4の再発行処理の実行回数は、
図3Bに示すようになる。つまり、ケーブルLbの断線状態において、ノードN1,N2,N4による再発行処理の実行回数は、0回である。一方で、ノードN3による再発行処理の実行回数は、時刻t6,t9,t12における計3回となる。
【0030】
なお、その後にケーブルLbの断線状態が解消された場合には、ノードN2は、他のノードN1,N3,N4によりブロードキャストとして配信されたトークンを受信して、通信ネットワーク20への参加申請を行う。これにより、ノードN2は、通信ネットワーク20において空きとなっていた2番目のノード番号を取得し、通信ネットワーク20に再び参加した状態となる。結果として、通信ネットワーク20は、ノードN1〜N4が互いに通信可能な状態に復帰する。
【0031】
(ケーブルLcが断線状態となった場合の再発行処理)
ここで、ハブH1とハブH2を接続するケーブルLcが断線状態となり、通信ネットワーク20において通信異常が生じたものとする。上記の断線状態は、ケーブルLcを介した通信が不能となる状態であり、例えばハブH1またはハブH2からケーブルLcの一端を取り外したり、ケーブルLcが接続されたハブH1またはハブH2のポートをクローズにしたりすることによって生じる状態である。
【0032】
図4Aに示すように、時刻t1において、トークンは、ノードN1から次順のノードN2へ移動し、時刻t2において、ノードN2から次順のノードN3へ移動する。ここで、
図4Aにおいて、太線矢印は、既に発行されたトークンが移動したことを示す。そして、直後にケーブルLcが断線状態となったとする。トークンは、時刻t3において、ノードN3から次順のノードN4へ移動する。
【0033】
続いて、時刻t4において、ノードN4から次順のノードN1へトークンが送信される。しかし、ケーブルLcが断線状態にあるため、ノードN1は、前順のノードN4からトークンを受け取ることはできない。ここで、ノードN1は、自らがトークンを送信してから一定期間の間、他のノードN2によりブロードキャストとして配信されたトークンを受信しており、少なくともノードN2が通信ネットワーク20に参加しているものと認識している。
【0034】
そこで、ノードN1は、時刻t5において、再発行したトークンを次順のノードN2へ送信する。ここで、
図4Aにおいて、二重線矢印は、再発行されたトークンが移動したことを示す。続いて、トークンは、時刻t6において、ノードN2から次順のノードN3への移動が試行される。しかし、ノードN3は、ケーブルLcの断線状態によってノードN2とは通信不能な状態となっているため、トークンを受け取ることができない。その後に、ノードN1は、一定時間の間、トークンを受信できないため、時刻t9において、トークンの再発行処理を再び実行する。
【0035】
時刻t10〜t13は、時刻t6〜t9と同様の処理が行われる。このように、ノードN2によるノードN3へのトークンの送信が規定回数(本実施形態において3回)だけ繰り返されてもなおノードN3およびノードN4によるトークンの送信を認識できない場合に、ノードN1,N2は、自己(ノードN1,N2)が構成する通信ネットワーク20の一部から他のノードN3,N4が離脱したものとして管理テーブルを更新する。
【0036】
その後に、トークンは、時刻t14において、ノードN2から次順のノードN1へ移動し、時刻t15において、ノードN1から次順のノードN2へ移動する。その後(時刻t16以降)は、ノードN3,N4が通信ネットワーク20の一部に参加していないものとして正常な通信が成立した状態となる。つまり、時刻t16以降では、ケーブルLc以外が断線状態などにならない限り、ノードN1,N2によるトークンの再発行処理は実行されない。
【0037】
一方で、ケーブルLcが断線状態とされることによって、ノードN3は、前順のノードN2から送信されたトークンを受け取ることはできない。そのため、ノードN3は、時刻t7において、再発行したトークンを次順のノードN4へ送信する。続いて、トークンは、時刻t8において、ノードN4から次順のノードN1への移動が試行される。
【0038】
しかし、ノードN1は、ケーブルLcの断線状態によってノードN3,N4が構成する通信ネットワーク20の一部から離脱しているため、トークンを受け取ることができない。ここで、ノードN3は、自らがトークンを送信してから一定期間の間、他のノードN4によりブロードキャストとして配信されたトークンを受信しており、少なくともノードN4が通信ネットワーク20に参加しているものと認識している。
【0039】
そこで、ノードN3は、時刻t11において、再発行したトークンを次順のノードN4へ送信する。続いて、トークンは、時刻t12において、ノードN4から次順のノードN1への移動が試行される。しかし、ノードN1は、ケーブルLcの断線状態によってノードN4とは通信不能な状態となっているため、トークンを受け取ることができない。その後に、ノードN3は、一定時間の間、トークンを受信できないため、時刻t15において、トークンの再発行処理を再び実行する。
【0040】
このように、ノードN4によるノードN1へのトークンの送信が規定回数(本実施形態において3回)だけ繰り返されてもなおノードN1およびノードN2によるトークンの送信を認識できない場合に、ノードN3,N4は、自己(ノードN3,N4)が構成する通信ネットワーク20の一部から他のノードN1,N2が離脱したものとして管理テーブルを更新する。
【0041】
その後に、トークンは、時刻t16において、ノードN4から次順のノードN3へ移動し、時刻t17において、ノードN3から次順のノードN4へ移動する。その後(時刻t18以降)は、ノードN1,N2が通信ネットワーク20の一部に参加していないものとして正常な通信が成立した状態となる。つまり、時刻16以降では、ケーブルLc以外が断線状態などにならない限り、ノードN3,N4によるトークンの再発行処理は実行されない。
【0042】
ここで、
図4Aに示すように、トークンが移動しまたは再発行される場合において、各ノードN1〜N4の再発行処理の実行回数は、
図4Bに示すようになる。つまり、ケーブルLcの断線状態において、ノードN1による再発行処理の実行回数は、時刻t5,t9,t13における計3回となる。一方で、ノードN2,N4による再発行処理の実行回数は、0回である。また、ノードN3による再発行処理の実行回数は、時刻t7,t11,t15における計3回となる。
【0043】
上記のように、2つのハブH1,H2を接続するケーブルLcが断線状態とされ、且つ断線状態とされた部位を挟んだ両側にともに2以上のノードがある場合には、所定のノードによるトークンの再発行処理が規定回数に亘って実行されて、分割された通信ネットワーク20の一部のそれぞれにおいて通信が成立する。
【0044】
なお、その後にケーブルLcの断線状態が解消された場合には、通信ネットワーク20に存在する2つのトークンの一方が、例えば発行時刻などに基づいて消滅される。そして、例えばノードN3,N4は、ノードN1,N2により構成される通信ネットワーク20の一部への参加申請を行う。これにより、ノードN3,N4は、通信ネットワーク20の一部において空きとなっていた3番目および4番目のノード番号を取得し、通信ネットワーク20に再び参加した状態となる。結果として、通信ネットワーク20は、ノードN1〜N4が互いに通信可能な状態に復帰する。
【0045】
(通信システム1による系統情報の生成処理)
上記の通信システム1による系統情報の生成処理について説明する。ここで、トークンパッシング方式により通信する通信ネットワーク20は、上記のように、新たなノードの参加や既存のノードの離脱などのノードの増減が許容される。換言すると、通信ネットワーク20の系統(ノード、ハブ、およびケーブルの繋がり)がノードの増減などに伴って変更される。
【0046】
このような通信ネットワーク20を対象とした保守や点検を適正に行うためには、実際の通信ネットワーク20の系統を示す正確な系統情報が必要とされる。そこで、通信システム1は、
図1に示すように、情報取得部15および系統情報生成部16を備え、通信ネットワーク20に対応した系統情報を生成する構成としている。
【0047】
ここでは、通信ネットワーク20が
図2に示される第一態様であるものとする。系統情報の生成処理において、
図6に示すように、切換工程が実行される(ステップ10(以下、「ステップ」を「S」と表記する))。詳細には、切換工程(S10)において、先ず通信ネットワーク20の何れか1つのみを断線状態に切り換える切換処理が実行される(S11)。
【0048】
上記の切換処理(S11)は、本実施形態において、作業者がハブH1,H2の何れかのポートからケーブルLa〜Leの1つの一端を取り外すことにより実行される。そして、取り外されたケーブルLa〜Leの1つの一端は、所定時間の経過後に再び元のハブH1,H2のポートに接続される。これにより、各ノードN1〜N4は、必要に応じてトークンの再発行処理を実行し、当該再発行処理の実行に関する情報を記録する。
【0049】
また、切換処理(S11)において、切断状態を維持する上記の「所定時間」には、断線状態が発生した通信ネットワーク20に対応した正常な通信が成立するまでに必要な時間が少なくとも確保される。つまり、所定時間は、断線状態への切り換えからノードN1〜N4の何れもがトークンの再発行処理を実行しなくなるまでの時間より長く設定される。
【0050】
ここでは、切換処理(S11)が作業者の操作によってなされ、ケーブルLa〜Leの全てを対象に1回ずつ切換処理(S11)がなされた否かが判定される(S12)。全てのケーブルLa〜Leの数量(5本)だけ切換処理(S11)が実行されていない場合には(S12:No)、切換処理(S11)を繰り返す。5回の切換処理(S11)が実行された場合には(S12:Yes)、当該切換工程(S10)が終了される。これにより、通信ネットワーク20は、ノードN1〜N4が互いに通信可能な状態に復帰される。
【0051】
次に、情報取得部15は、5回の切換処理(S11)ごとのノード情報I1〜I5を取得する情報取得工程を実行する(S20)。具体的には、情報取得部15は、切換工程(S10)によってケーブルLa〜Leの何れか1つのみを断線状態に切り換える切換処理(S11)がケーブルLa〜Leの全てを対象に1回ずつ実行された場合に、各ノードN1〜N4による再発行処理の実行の有無を示すノード情報I1〜I5を複数の切換処理(S11)ごとに取得する。
【0052】
つまり、情報取得部15は、
図5Aに示すように、5本のケーブルLa〜Leに対応して実行された5回の切換処理(S11)ごとのノード情報I1〜I5を取得する。本実施形態において、複数の切換処理ごとのノード情報I1〜I5には、切換処理(S11)の実行中における各ノードN1〜N4の再発行処理の実行回数が含まれる。
【0053】
詳細には、情報取得部15は、断線状態から全てのノードN1〜N4が互いに通信可能な状態に復帰された際に、各ノードN1〜N4にそれぞれ記録された再発行処理の実行に関する情報を取得する。そして、情報取得部15は、例えば再発行処理が実行された時刻に基づいて、切換処理(S11)が実行されていた期間を認識して、当該切換処理(S11)ごとのノード情報I1〜I5を生成する。
【0054】
なお、再発行処理の実行回数が、FL−netの通信プロトコルにおける規定回数に達していない場合には、その再発行処理は、切換処理(S11)とは別の原因によってなされたものであるとして取り扱う。これにより、複数回に亘って切換処理(S11)を実行する期間において、何らかの原因によって実行された再発行処理をノイズとして処理することが可能となる。
【0055】
続いて、系統情報生成部16は、取得された複数のノード情報I1〜I5に基づいて、通信ネットワーク20の系統を示す系統情報を生成する系統情報生成工程を実行する(S30)。詳細には、系統情報生成部16は、
図7に示すように、先ず準備処理を実行する(S31)。この準備処理(S31)では、通信ネットワーク20におけるノードN1〜N4の数量VnやハブH1,H2の数量Vh、ケーブルLa〜Leの本数Vcなどが取得される。
【0056】
ここで、ノードN1〜N4の数量Vnは、ホストコンピュータ10において管理されている既知の値である。仮にノードN1〜N4の数量Vnが不明の場合には、例えば入力装置11を介して作業者による入力を受け付けるようにしてもよい。また、ケーブルLa〜Leの本数Vcは、切換処理(S11)の実行回数、即ちノード情報I1〜I5の数量に相当するため、情報取得工程(S20)の実行により取得される。
【0057】
ハブH1,H2の数量Vhは、ケーブルLa〜Leの本数VcからノードN1〜N4の数量Vnを除いた数量のケーブルにより接続されるため、両者の差分(Vc−Vn)に1を加えた数量(Vc−Vn+1)となる。この他に、準備処理(S31)においては、通信ネットワーク20の種々の態様に応じた処理がなされるが、詳細については通信ネットワーク20の他の態様(第二態様〜第五態様)と併せて後述する。
【0058】
次に、系統情報生成部16は、本実施形態において、系統情報の生成に際して、
図5Bに示すように、ノード情報I1〜I5に基づいて、通信処理ノードN1〜N4の全てを第一通信グループG1および第二通信グループG2に仕分ける(S32)。ここで、第一通信グループG1および第二通信グループG2のそれぞれは、切換処理(S11)の実行中に互いに通信可能なノードN1〜N4の一部、または通信ネットワーク20から離脱したノードN1〜N4の1つからなる。
【0059】
具体的には、例えばケーブルLbを断線状態とする切換処理(S11)について、系統情報生成部16は、
図5Aに示すようにノード情報I2に示されるようにノードN3が複数回に亘ってトークンの再発行処理を実行しているため、先ずノードN3を第一通信グループG1とする。次に、系統情報生成部16は、ノードN3の前順であるノードN2が別の通信グループに属することから、ノードN2を第二通信グループG2とする。
【0060】
続いて、系統情報生成部16は、ノードN3からトークンが順に移動されたノードN4およびノードN1を、ノードN3と同一の第一通信グループG1とする。よって、ケーブルLbを断線状態とする切換処理(S11)においては、
図5Cに示すように、第一通信グループG1は互いに通信可能なノードN1,N3,N4からなり、第二通信グループG2は通信ネットワーク20から離脱したノードN2からなる。
【0061】
また、例えばケーブルLcを断線状態とする切換処理(S11)について、系統情報生成部16は、ノード情報I3に基づいて、上記と同様にノードN1〜N4の仕分けを行う。これにより、ケーブルLcを切断状態とする切換処理(S11)においては、
図5Cに示すように、第一通信グループG1は互いに通信可能なノードN1,N2からなり、第二通信グループG2は互いに通信可能なノードN3,N4からなる。
【0062】
系統情報生成部16は、通信グループの仕分け(S32)が全ての切換処理(S11)に対して実行されていない場合には(S33:No)、通信グループの仕分けを繰り返す。また、系統情報生成部16は、全ての切換処理(S11)に対して通信グループの仕分け(S32)が実行された場合には(S33:Yes)、ノード情報I1〜I5のそれぞれに対応する第一通信グループG1および第二通信グループG2の状態に基づく系統の解析処理(S34)を実行する。
【0063】
具体的には、系統情報生成部16は、所定のノード情報I1〜I5に基づいて仕分けられた第一通信グループG1および第二通信グループG2のそれぞれにおいて独立した通信が成立していた場合(第一態様においては、ノード情報I3の場合)に、当該ノード情報I3に対応する切換処理(S11)ではハブH1,H2同士を接続する通信回線、即ちケーブルLcが切断状態に切り換えられたものと特定する。
【0064】
ここで、第一、第二通信グループG1,G2の両方に複数の通信処理ノードが仕分けられた場合には、第一、第二通信グループG1,G2のそれぞれにおいてトークンの再発行処理が適宜実行されて、第一、第二通信グループG1,G2ごとに独立した通信が成立することになる。これにより、系統情報生成部16は、複数のノード情報I1〜I5のうち2つの通信グループが成立するノード情報I3に対応する切換処理(S11)ではハブH1,H2同士を接続する通信回線(ケーブルLc)が断線状態に切り換えられたことを特定する。
【0065】
また、系統情報生成部16は、第一通信グループG1または第二通信グループG2の何れかに1つの通信処理ノードのみが仕分けられた場合には、ハブH1,H2の何れかから当該通信処理ノードが離脱するように、ケーブルが切断状態に切り換えられたことを特定する。さらに、系統情報生成部16は、ノード情報I1〜I5に対応して仕分けられたノードN1〜N4の状態、ノードの数量Vn、およびハブの数量Vhに基づいて、何れのノードN1〜N4同士が同一のハブH1,H2に接続されているかを割り出し、結果として通信ネットワーク20の系統を特定する。
【0066】
系統情報生成部16は、上記のような解析(S34)により特定された通信ネットワーク20の系統に基づいて、系統情報を生成する(S35)。この系統情報は、通信ネットワーク20の系統を示すものであり、種々の態様を採用し得る。具体的には、系統情報は、通信処理ノードと中継機器の接続および中継機器同士の接続を表記したテキストや、
図2のように図示する系統図としたりすることができる。
【0067】
なお、系統図としては、
図2のように通信回線を明示する態様の他に、例えば
図8に示すように、通信回線を省略した表形式により図示する態様としてもよい。
図8における系統図は、左欄にはハブH1,H2が示され、右欄には左欄に記載のハブH1,H2に対応して、当該ハブH1,H2に通信回線を介して接続されるノードおよびハブが示されている。
【0068】
上記のように、系統情報生成部16により生成された系統情報は、ホストコンピュータ10に記憶される。その後に、通信システム1は、
図6に示すように、例えば作業者による要求に応じて表示装置12に系統情報を表示する表示処理を実行し(S40)、通信ネットワーク20の系統情報の生成処理を終了する。
【0069】
(実施形態の構成による効果)
通信システム1は、3以上の通信処理ノードN1〜N4が互いにトークンパッシング方式によって通信可能な通信ネットワーク20により構成される。通信処理ノードN1〜N4のそれぞれは、2以上の中継機器(ハブH1,H2)および2以上の通信回線(ケーブルLa〜Le)を介して通信可能に接続され、通信回線(ケーブルLa〜Le)の何れかが断線状態となって前順の通信処理ノードN1〜N4からトークンを受信しない場合に、次順の通信処理ノードN1〜N4に対してトークンを再発行する再発行処理を実行する。
通信システム1は、通信回線(ケーブルLa〜Le)の何れか1つのみを断線状態に切り換える切換処理(S11)が通信回線(ケーブルLa〜Le)の全てを対象に1回ずつ実行された場合に、各通信処理ノードN1〜N4による再発行処理の実行の有無を示すノード情報I1〜I5を複数の切換処理(S11)ごとに取得する情報取得部15と、取得された複数のノード情報I1〜I5に基づいて、通信ネットワーク20の系統を示す系統情報を生成する系統情報生成部16と、を備える。
【0070】
通信ネットワーク20の情報生成方法は、3以上の通信処理ノードN1〜N4が互いにトークンパッシング方式によって通信可能な通信ネットワーク20に適用される。情報生成方法は、通信回線(ケーブルLa〜Le)の何れか1つのみを断線状態に切り換える切換処理(S11)が通信回線(ケーブルLa〜Le)の全てを対象に1回ずつ実行された場合に、各通信処理ノードN1〜N4による再発行処理の実行の有無を示すノード情報I1〜I5を複数の切換処理(S11)ごとに取得する情報取得工程(S20)と、取得された複数のノード情報I1〜I5に基づいて、通信ネットワーク20の系統を示す系統情報を生成する系統情報生成工程(S30)と、を備える。
【0071】
トークンパッシング方式を採用する通信ネットワーク20において、トークンの再発行処理は、通信ネットワーク20におけるトークンの移動順序と通信ネットワーク20の系統に応じて通信処理ノードN1〜N4の一部により適宜実行される。通信システム1および通信ネットワークの情報生成方法は、このような通信ネットワーク20の特性を利用して、通信ネットワーク20の系統を特定するものである。
【0072】
上記のような本実施形態の構成によると、現在の通信ネットワーク20を構成するハブH1,H2の数量VhやケーブルLa〜Leの本数Vcや、各ノードN1〜N4とハブH1,H2との接続の関係を割り出すことができる。これにより、通信ネットワーク20の系統を示す系統情報を正確に生成することができる。これにより、例えば実際の通信ネットワーク20の通信回線(ケーブルLa〜Le)を辿って系統情報を生成する作業と比較して、系統情報を生成する作業の効率を向上できる。よって、例えば通信処理ノードである処理機器が増減されるなどの通信ネットワーク20の構成が変更された場合であっても、変更後の系統情報を簡易に取得できる。また、系統情報の取得によって、通信ネットワーク20を対象とした保守や点検を適切に行うことを支援することができる。
【0073】
また、系統情報生成部16は、ノード情報I1〜I5に基づいて、通信処理ノードN1〜N4の全てを第一通信グループG1および第二通信グループG2に仕分ける(S32)。第一通信グループG1および第二通信グループG2のそれぞれは、切換処理(S11)の実行中に互いに通信可能な通信処理ノードN1〜N4の一部、または通信ネットワーク20から離脱した通信処理ノードN1〜N4の1つからなる。
【0074】
このような構成によると、第一通信グループG1および第二通信グループG2の両方に複数の通信処理ノードN1〜N4がともに仕分けられた場合には、系統情報生成部16は、切換処理(S11)により断線状態とされた通信回線(ケーブルLa〜Le)の1つが中継機器(ハブH1,H2)同士を連結するものであることを特定できる。また、第一通信グループG1および第二通信グループG2の一方に通信ネットワーク20から離脱した通信処理ノードN1〜N4の1つが仕分けられた場合には、系統情報生成部16は、切換処理(S11)により断線状態とされた通信回線(ケーブルLa〜Le)の1つが離脱した通信処理ノードN1〜N4の1つとその他が連結された中継機器(ハブH1,H2)とを連結するものであることを特定できる。
【0075】
また、系統情報生成部16は、所定のノード情報I1〜I5に基づいて仕分けられた第一通信グループG1および第二通信グループG2のそれぞれにおいて相互の通信が成立していた場合に、当該ノード情報I1〜I5に対応する切換処理(S11)では中継機器(ハブH1,H2)同士を接続する通信回線(ケーブルLc)が断線状態に切り換えられたものとして、通信ネットワーク20の系統を特定する。
【0076】
これにより、系統情報生成部16は、複数のノード情報I1〜I5のうち上記のような2つの通信グループが成立するノード情報I3に対応する切換処理(S11)では中継機器(ハブH1,H2)同士を接続する通信回線(ケーブルLc)が断線状態に切り換えられたことを特定できる。そして、系統情報生成部16は、ノードN1〜N4の数量Vn、ハブH1,H2の数量Vh、およびケーブルLa〜Leの本数Vcに基づいて、全てのケーブルLa〜LeのうちハブH1,H2同士を接続するものが1本であり、且つ残りがハブH1,H2の1つとノードN1〜N4の1つとを接続するものであることを特定できる。つまり、系統情報生成部16は、2つの通信グループが成立するノード情報I3以外のノード情報I1,I2,I4,I5に対応する切換処理(S11)では断線状態とされた通信回線(ケーブルLa,Lb,Ld,Le)の1つが離脱した通信処理ノードN1〜N4の1つとその他が連結された中継機器(ハブH1,H2)とを連結するものであることを特定できる。
【0077】
また、ノード情報I1〜I5には、切換処理(S11)の実行中における各通信処理ノードN1〜N4の再発行処理の実行回数が含まれる。
このような構成によると、ノード情報I1〜I5におけるトークンの再発行処理の実行回数と、通信プロトコルにおける規定回数(本実施形態において、3回)とを比較することによって、別の原因によって実行された再発行処理をノイズとして処理することができる。これにより、通信ネットワーク20の系統をより正確に特定することができる。
【0078】
また、通信ネットワーク20は、FL−netである。
このような構成によると、系統情報生成部16は、通信処理ノードN1〜N4のそれぞれがFL−netの通信プロトコルに従って動作することを前提とすることができるので、ノード情報I1〜I5に基づいて系統情報をより確実に生成することができる。また、FL−netを採用する通信ネットワーク20では、通信ネットワーク20から通信処理ノードN1〜N4を離脱させたり新たに参加させたりする場合に、通信処理ノードN1〜N4の再設定を要しない。そのため、切換処理(S11)の実行をより簡易に行うことができるので、系統情報を生成するための作業を効率的に行うことができる。
【0079】
ここで、FL−netでは、上記のように通信処理ノードN1〜N4の参加や離脱に関する自由度が高いため、通信ネットワーク20に対する処理機器の増減が容易であり、管理上の系統情報と実際の通信ネットワーク20の系統との間に相違が生じやすい。そのため、FL−netを採用する通信ネットワーク20に本発明を適用することは、特に有用である。
【0080】
また、系統情報生成部16は、通信ネットワーク20の系統を図示する系統図を系統情報として生成する。
このような構成によると、通信ネットワーク20の系統情報は、系統情報生成部16によって系統図として生成される(
図2を参照)。これにより、通信ネットワーク20の管理者は、系統図によって目視で通信ネットワーク20の系統を認識できる。よって、通信ネットワーク20の管理性が向上し、通信処理ノードN1〜N4である処理機器が増減された場合に変更後の通信ネットワーク20を対象とした保守や点検を適切に行うことを支援することができる。
【0081】
(通信ネットワークの第二態様)
次に、通信ネットワークが他の態様である場合における系統情報の生成処理について説明する。ここで、通信ネットワーク120は、第二態様として、
図9に示すように、7つのノードN1〜N7と、4つハブH1〜H4と、10本のケーブルLa〜Ljとを備える。このような通信ネットワーク120を対象として切換工程(S10)が実行されると、情報取得工程(S20)において、情報取得部15は、
図10Aに示すように、10本のケーブルLa〜Ljに対応して実行された10回の切換処理(S11)ごとのノード情報I1〜I10を取得する。
【0082】
系統情報生成部16は、系統情報生成工程(S30)の準備処理(S31)において、取得されたノード情報I1〜I10に基づいて、ノードの数量Vn(7つ)、ケーブルの本数Vc(10本)、およびハブの数量Vh(4つ)を取得する。また、系統情報生成部16によりノードN1〜N7のそれぞれは、
図10Bおよび
図10Cに示すように、10回の切換処理(S11)ごとに第一通信グループG1および第二通信グループG2に仕分けられる。
【0083】
ここで、第二態様のように、通信ネットワーク120が4以上のハブH1〜H4を有する場合には、これらのハブH1〜H4が通信回線によって直線的に接続されたり、分岐を有して複列的に接続されたりするように、ハブの接続タイプが複数存在し得る。なお、第二態様のように、通信ネットワーク120が4つのハブH1〜H4を有する場合には、2種類の接続タイプが存在する。
【0084】
そこで、系統情報生成部16は、系統の解析処理(S34)において、上記のハブの接続タイプの特定を行う。例えば、系統情報生成部16は、第一通信グループG1および第二通信グループG2のそれぞれにおいて独立した通信が成立したノード情報(第二態様においては、ノード情報I3,I5,I6)に基づいて、2種類の接続タイプの何れかであるかを判別する。
【0085】
ここで、ノード情報I3において同一の第一通信グループG1であるノードN1,N2を基準とすると、ノード情報I5では第二通信グループG2においてノードN1,N2にノードN3,N6,N7が付加されている。一方で、ノード情報I6では第一通信グループG1においてノードN1,N2にノードN3,N4,N5が付加されている。
【0086】
このように、基準としたノードN1,N2にノード情報I5にてN6,N7が同一の通信グループに付加された後に、別のノード情報I6にてN6,N7が同一の通信グループから除外されるのは、4以上のハブが分岐を有する接続タイプであることを示す。仮に、ハブの接続タイプが直線的に接続されたものである場合には、基準としたノードN1,N2に同一の通信グループとして、各ノード情報にて他のノードが順次付加される。
【0087】
上記のように、系統情報生成部16は、ハブの接続タイプを特定し、また第一態様と同様に通信ネットワーク120の系統を特定する。その他の処理については、通信ネットワーク20の第一態様と同様であるため、詳細な説明を省略する。
【0088】
(通信ネットワークの第三態様)
通信ネットワーク220は、第三態様として、
図11に一部を示すように、1つのノードNsのみが接続されたハブHpを有する。ハブHpは、他のハブH(p−1)にケーブルLkを介して接続され、且つノードNsにケーブルLlを介して接続される。このような通信ネットワーク220を対象として切換工程(S10)が実行されると、情報取得工程(S20)において、情報取得部15は、
図12Aに示すように、ケーブルLk,Llに対応して実行された切換処理(S11)ごとのノード情報Ik,Ilを取得する。
【0089】
ここで、通信ネットワーク220において、ケーブルLk,Llの何れを切断状態としてもノードNsが通信ネットワーク220から離脱した状態となる。そのため、上記のノード情報Ik,Ilは、
図12Aに示すように、ノードNsの次順のノードNs+1により3回の再発行処理が実行されたことを示す同一の内容となる。
【0090】
系統情報生成部16は、系統情報生成工程(S30)の準備処理(S31)において、ノードの数量Vn、ケーブルの本数Vc、およびハブの数量Vhを取得した後に、通信ネットワーク220の態様に応じた処理を実行する。具体的には、系統情報生成部16は、ノード情報Ik,Ilのように、1つのノードNsのみがトークンの再発行処理を実行したことを示す同一の結果が重複する場合に、算出したケーブルの本数Vcおよびハブの数量Vhから重複分Rに応じた数量(R−1)だけ減算する。
【0091】
これにより、ハブHpおよびケーブルLlが通信ネットワーク220から退避されてノードNsがケーブルLkを介してハブH(p−1)に直接的に接続されているものと仮定される。このような準備処理(S31)により、第一態様と同様の系統の解析処理(S34)が適用可能な状態となる。なお、ノードNsは、
図12Bに示すように、系統情報生成部16による通信グループの仕分け(S32)において、離脱した第二通信グループG2に仕分けられる。そして、系統情報生成部16は、系統の解析処理(S34)の実行により、通信ネットワーク220の系統を特定する。
【0092】
系統情報生成部16は、系統情報の生成(S35)において、
図13に示すように、ハブH(p−1)とノードNsとの間に、重複分Rに応じた数量(R−1)のハブHpおよびケーブルLlを挿入して、生成された系統情報の調整を行う。これにより、1つのノードNsのみが接続されたハブHpを有する通信ネットワーク220の第三態様に対応した系統情報が生成される。
【0093】
(通信ネットワークの第四態様)
通信ネットワーク320は、第四態様として、
図14に一部を示すように、2つのハブH(p−1),H(p+1)の間に配置され、且つノードを直接的に接続されないハブHpを有する。ハブHpは、他のハブH(p−1),H(p+1)にケーブルLm,Lnを介して接続される。他のハブH(p−1),H(p+1)には、直接的にまたは間接的に複数のノードが接続される。また、ハブH(p−1)にはノードNxが接続され、且つ他のハブH(p+1)にはノード番号がノードNxの次順であるノードN(x+1)が接続されているものとする。
【0094】
このような通信ネットワーク320を対象として切換工程(S10)が実行されると、情報取得工程(S20)において、情報取得部15は、
図15に示すように、ケーブルLm,Lnに対応して実行された切換処理(S11)ごとのノード情報Im,Inを取得する。ここで、通信ネットワーク320においてケーブルLm,Lnの何れを切断状態としても、ノードN(x+1)を含む複数のノード(例えば、ノード番号が最小のノードNmin)がトークンの再発行処理を実行して、ハブHpにより分割される通信ネットワーク320の両側で独立した通信が成立する状態となる。そのため、上記のノード情報Im,Inは、
図15に示すように、所定のノード番号を境に両方の通信グループにおいてトークンの再発行処理が実行されたことを示す同一の内容となる。
【0095】
系統情報生成部16は、系統情報生成工程(S30)の準備処理(S31)において、ノードの数量Vn、ケーブルの本数Vc、およびハブの数量Vhを取得した後に、通信ネットワーク320の態様に応じた処理を実行する。具体的には、系統情報生成部16は、ノード情報Im,Inのように、複数のノードがトークンの再発行処理を実行したことを示す同一の結果が重複する場合に、算出したケーブルの本数Vcおよびハブの数量Vhから重複分Rに応じた数量(R−1)だけ減算する。
【0096】
これにより、ハブHpおよびケーブルLnが通信ネットワーク320から退避されてハブH(p−1),H(p+1)がケーブルLmを介して直接的に接続されているものと仮定される。このような準備処理(S31)により、第一態様と同様の系統の解析処理(S34)が適用可能な状態となる。そして、系統情報生成部16は、系統の解析処理(S34)の実行により、通信ネットワーク320の系統を特定する。
【0097】
系統情報生成部16は、系統情報の生成(S35)において、
図16に示すように、ハブH(p−1)とハブH(p+1)との間に、重複分Rに応じた数量(R−1)のハブHpおよびケーブルLnを挿入して、生成された系統情報の調整を行う。これにより、2つのハブH(p−1),H(p+1)の間に配置され、且つノードを直接的に接続されないハブHpを有する通信ネットワーク320の第四態様に対応した系統情報が生成される。
【0098】
(通信ネットワークの第五態様)
通信ネットワーク420は、第五態様として、
図17に一部を示すように、ノードを直接的に接続されないハブHpを有する。ハブHpは、他のハブH(p−1)にケーブルLoを介して接続されているが、通信ネットワーク420における不使用のハブである。他のハブH(p−1)には、直接的にまたは間接的に複数のノードが接続される。
【0099】
このような通信ネットワーク420を対象として切換工程(S10)が実行されると、情報取得工程(S20)において、情報取得部15は、
図18に示すように、ケーブルLoに対応して実行された切換処理(S11)ごとのノード情報Ioを取得する。ここで、通信ネットワーク420においてケーブルLoを切断状態としても、ハブHpにノードおよび他のハブの何れも接続されていないため、通信ネットワーク420の正常な通信が維持される。そのため、上記のノード情報Ioは、
図18に示すように、何れのノードにおいてもトークンの再発行処理が実行されない内容となる。
【0100】
系統情報生成部16は、系統情報生成工程(S30)の準備処理(S31)において、ノードの数量Vn、ケーブルの本数Vc、およびハブの数量Vhを取得した後に、通信ネットワーク420の態様に応じた処理を実行する。具体的には、系統情報生成部16は、ノード情報Ioのように、何れのノードもトークンの再発行処理を実行していない場合に、算出したケーブルの本数Vcおよびハブの数量Vhから不使用のハブの数量Uだけ減産する。
【0101】
これにより、ハブHpおよびケーブルLoが通信ネットワーク420から退避されものと仮定される。このような準備処理(S31)により、第一態様と同様の系統の解析処理(S34)が適用可能な状態となる。そして、系統情報生成部16は、系統の解析処理(S34)の実行により、通信ネットワーク420の系統を特定する。
【0102】
系統情報生成部16は、系統情報の生成(S35)において、不使用のハブが数量Uだけ存在することを系統情報に含める。これは、実施形態にて例示した方法によっては不使用のハブHpの存在は認識できるものの、当該不使用のハブHpが他のハブのうち何れに接続されているかは特定することができないことによる。このようにして、不使用のハブHpを有する通信ネットワーク420の第四態様に対応した系統情報が生成される。
【0103】
<実施形態の変形態様>
(切換処理について)
実施形態において、切換処理(S11)は、作業者がハブのポートからケーブルの1つの一端を取り外すことにより実行される。これに対して、切換処理(S11)を作業者による取り外し作業によらず、自動で実行される構成としてもよい。
【0104】
具体的には、中継機器(ハブ)は、通信回線が接続されるポートのオープンとクローズを指令信号に基づいて切り換え可能な機能を有する。そして、通信システム101のホストコンピュータ110は、
図19に示すように、ハブに対して指令信号を送出することによってポートをクローズしてケーブルの何れか1本を断線状態とし、切換処理(S11)を実行する切換実行部117を備える。
【0105】
このような構成によると、通信システム1は、切換実行部117によって自動的に切換処理(S11)を順次実行することができる。これにより、通信回線の全てに対して1回ずつ確実に断線状態とすることが可能となり、通信回線の1つが二重で断線状態とされたり、1回も断線状態とされなかったりすることを防止できる。よって、通信システム1は、より正確な系統情報を生成できる。また、自動的に切換処理(S11)を実行できるので、切換処理(S11)に要する作業の効率を向上できる。
【0106】
(ノード情報について)
実施形態において、ノード情報には、切換処理(S11)の実行中における各ノードのトークンの再発行処理の実行回数が含まれる。これに対して、ノード情報には、再発行処理の実行回数に代えて、または実行回数とともに、切換処理(S11)の実行中における通信処理ノードの再発行処理に基づいて更新された各通信処理ノードの管理テーブルが含まれる構成としてもよい。
【0107】
上記のように、FL−netにおいて、第一態様の通信ネットワーク20における通信処理ノードN1〜N4のそれぞれは、自己が参加している通信ネットワーク20(一部を含む)に参加している他の通信処理ノードを管理テーブルに基づいて認識している。例えば、通信処理ノードN1の各時刻T0,Ta〜Teにおける管理テーブルは、
図20Aのように示される。時刻T0は、切換処理の実行前の任意の時刻であり、時刻Ta〜Teは、ノード情報I1〜I5を取得する5回の切換処理(S11)の実行時に対応する。
【0108】
この管理テーブルは、切換処理(S11)の実行中においては、各通信処理ノードN1〜N4によるトークンの再発行処理によって変更され、正常な通信が成立する状態となった通信ネットワーク20に参加する通信処理ノードN1〜N4を示す情報となる。また、管理テーブルは、切換処理(S11)において通信処理ノードN1〜N4の1つが離脱した場合には、当該通信処理ノードN1〜N4を示す情報にもなる。
【0109】
具体的には、各時刻T0,Ta〜Teにおける通信処理ノードN1の管理テーブルによると、
図20Bに示すように、通信ネットワーク20の状態を特定することができる。よって、系統情報生成部16は、それぞれの通信処理ノードN1〜N4の各時刻T0,Ta〜Teにおける管理テーブルが含まれるノード情報I1〜I5に基づいて、通信処理ノードN1〜N4とハブH1,H2との接続関係を割り出し、通信ネットワーク20の系統情報を生成することができる。このような構成においても同様に、正確な系統情報の生成が可能である。
【0110】
また、実施形態において、通信システム1は、通信処理ノードのそれぞれから取得したノード情報に基づいて、複数回に亘って切換処理(S11)が実行されていたそれぞれの期間を割り出し、さらに通信ネットワークの系統を特定する構成とした。これに対して、通信システム1は、系統の特定にノード情報に中継機器情報を加えてもよい。上記の中継機器情報は、
図21に示すように、切換処理(S11)において断線状態にされた通信回線が通信ネットワークにおいて接続されている中継機器を特定する識別情報、および断線状態にされた通信回線が接続されていたポートを示すポート情報である。その他に、中継機器情報には、中継機器の設置位置を示す位置情報などが含まれるようにしてもよい。
【0111】
情報取得部15は、例えば切換処理(S11)の実行中において作業者により入力された上記の中継器情報を、ノード情報に関連付けて取得する。そして、系統情報生成部16は、取得された複数のノード情報および中継機器情報に基づいて、切換処理(S11)が実行された時刻、および断線状態とされた通信回線が接続されていた中継機器(H−A,H−B)およびポート(Pa1〜Pa3,Pb1,Pb2)を特定し、通信ネットワークの系統を示す系統情報を生成する。
【0112】
このような構成によると、系統情報生成部16は、ノード情報I1〜I5のみからでは特定できない通信処理ノードの識別情報やポート情報などを、中継機器情報により補完することができる。これにより、系統情報における中継機器が実際の通信ネットワーク20におけるどの中継機器に対応するかを判別することが可能となり、実際の通信ネットワーク20に整合した系統情報を生成することが可能となる。そのため、通信ネットワーク20の管理者は、整合性の高い系統情報に基づいて、保守や点検などを行いやすくなる。
【0113】
(通信ネットワークについて)
実施形態において、通信ネットワーク20,120,220,320,420は、FL−netであるものとした。これに対して、トークンパッシング方式によって通信可能であれば他の通信ネットワークを採用してもよい。このような構成においても実施形態と同様の効果を奏する。