以下、本発明の実施形態を図面を用いて説明する。
図1は、本発明の一実施形態を示している。風速監視システム10は、二重化された風速監視装置20(20A、20B)を有している。各風速監視装置20は、風速データ処理部30、記憶部40および補完処理部50を有している。なお、風速データ処理部30および補完処理部50は、ソフトウエアにより実現されてもよいし、ハードウエアにより実現されてもよい。
風速データ処理部30は、風速計62が設置された各地点(地点m、n)の風速値を示す風速データWD(WDm、WDn)を、各地点(地点m、n)の風速検出装置60から受信する。そして、風速データ処理部30は、風速データWDを受信する度に、受信した風速データWDを他の風速監視装置20に送信する。例えば、風速監視装置20Aの風速データ処理部30は、風速検出装置60から受信した風速データWDを風速監視装置20Bに送信し、風速監視装置20Bの風速データ処理部30は、風速検出装置60から受信した風速データWDを風速監視装置20Aに送信する。
記憶部40は、風速データ処理部30および補完処理部50に接続され、風速データWDを記憶する。例えば、記憶部40は、ハードディスクや不揮発性メモリ(EEPROM等)で構成される。なお、記憶部40は、揮発性メモリ(DRAMやSRAM等)で構成されてもよい。この場合、風速監視装置20の電源がオフした場合でも、記憶部40の内容を保持するために、揮発性メモリに電圧が供給される必要がある。
補完処理部50は、他の風速監視装置20から風速データWDを受信し、風速データ処理部30が風速データWDを受信できない場合、他の風速監視装置20から受信した風速データWDを、風速検出装置60からの風速データWDとして処理する。例えば、風速監視装置20Aの補完処理部50は、風速監視装置20Bから風速データWDを受信し、風速データ処理部30が風速データWDを受信できない場合、風速監視装置20Bから受信した風速データWDを記憶部40に記憶する。
また、例えば、風速監視装置20Bの補完処理部50は、風速データ処理部30が風速データWDを受信できない場合、風速監視装置20Aから受信した風速データWDを記憶部40に記憶する。これにより、2台の風速監視装置20は、風速データWDを互いに補完できる。したがって、この実施形態では、2台の風速監視装置20に記憶される風速データWDを互いに一致させることができる。すなわち、この実施形態では、2台の風速監視装置20に記憶される風速データWDに、不一致が発生することを防止できる。
風速検出装置60は、互いに異なる通信パスを介して、風速監視装置20A、20Bに風速データWDを送信する。すなわち、風速監視装置20A、20Bは、互いに異なる通信パスを介して、風速検出装置60から風速データWDを受信する。これにより、例えば、風速監視装置20Aおよび風速検出装置60間の回線が断線した場合でも、風速監視装置20Bおよび風速検出装置60間の回線により、風速監視装置20Bは、風速検出装置60から風速データWDを受信できる。したがって、例えば、風速監視装置20Aおよび風速検出装置60間の回線が断線した場合でも、風速監視装置20Aは、風速検出装置60から風速監視装置20Bを介して風速データWDを受信できる。
なお、風速監視装置20A、20Bおよび風速検出装置60間の通信は、例えば、風速監視装置20が設置される機器室等から風速検出装置60まで共通の通信パスにより、実施されてもよい。この場合でも、風速監視装置20A、20Bの一方が風速検出装置60からの風速データWDを受信できる状態であれば、2台の風速監視装置20に記憶される風速データWDに、不一致が発生することを防止できる。
図2は、図1に示した風速監視システム10の動作の一例を示している。なお、図2は、風速監視装置20A、20Bの両方が風速検出装置60からの風速データWDを正常に受信できる場合の風速監視システム10の動作を示している。また、図中の実線の矢印は、着目する1つの地点(例えば、上述した図1に示した地点m)の風速検出装置60からの風速データWDの流れを示している。
風速検出装置60は、例えば、図1に示した風速計62により順次測定された風速値を、定期的(例えば、250ms周期)に受信し、集約時間(例えば、2秒)毎に最大風速値を検出する。図の例では、集約時間は、時刻t2から時刻t1を減算した時間である。そして、風速検出装置60は、検出した最大風速値を、その時刻t1の風速値(風速データWD(t1))として風速監視装置20A、20Bに送信する(図2(a1、b1))。なお、風速データWD(t1)は、時刻t1の風速値(集約時間内の最大風速値)と、日時等の時刻情報とを有している。
風速監視装置20A、20Bは、風速検出装置60から受信した風速データWD(t1)を、図1に示したそれぞれの記憶部40に記憶する。そして、風速監視装置20Aは、風速検出装置60から受信した風速データWD(t1)を、風速監視装置20Bに送信する(図2(c1))。また、風速監視装置20Bは、風速検出装置60から受信した風速データWD(t1)を、風速監視装置20Aに送信する(図2(d1))。
風速監視装置20Aは、風速監視装置20Bから風速データWD(t1)を受信したときに(図2(d1))、同じ時刻の風速データWD(t1)を風速検出装置60から既に受信しているため、風速監視装置20Bから受信した風速データWD(t1)を無視する。同様に、風速監視装置20Bは、風速監視装置20Aから風速データWD(t1)を受信したときに(図2(c1))、同じ時刻の風速データWD(t1)を既に受信しているため、風速監視装置20Aから受信した風速データWD(t1)を無視する。
すなわち、風速監視装置20A、20Bは、同じ時刻の風速データWDを2回受信した場合、先に受信した風速データWDが記憶部40に既に記憶されているため、後から受信した風速データWDを記憶部40に記憶しない。時刻t2の風速データWD(t2)に対しても、上述した時刻t1の風速データWD(t1)と同様の処理が実施される(図2(a2、b2、c2、d2))。
図3は、図1に示した2台の風速監視装置20の一方が風速データWDを受信できない場合の風速監視システム10の動作の一例を示している。なお、図2は、風速監視装置20Bが風速データWDを受信できない場合の風速監視システム10の動作を示している。また、図中の実線の矢印の意味は、上述した図2と同じである。なお、図中の×印は、風速監視装置20Bが風速検出装置60からの風速データWDを受信できないことを示している。
風速検出装置60は、時刻t1の風速データWD(t1)を風速監視装置20A、20Bに送信する(図3(a1、b1))。風速監視装置20Aは、風速検出装置60から受信した風速データWD(t1)を、図1に示した記憶部40に記憶する。なお、風速監視装置20Bは、風速検出装置60および風速監視装置20B間の通信異常等により、風速検出装置60からの風速データWD(t1)を受信できない(図の×印)状態である。
風速監視装置20Aは、風速検出装置60から受信した風速データWD(t1)を、風速監視装置20Bに送信する(図3(c1))。なお、風速監視装置20Bは、風速検出装置60から風速データWD(t1)を受信していないため、風速データWD(t1)を風速監視装置20Aに送信しない。
風速監視装置20Bは、風速監視装置20Aから風速データWD(t1)を受信する(図3(c1))。風速監視装置20Bは、同じ時刻の風速データWD(t1)を風速検出装置60から受信していないため、風速監視装置20Aから受信した風速データWD(t1)を、図1に示した記憶部40に記憶する。このように、風速監視装置20Bおよび風速検出装置60間で通信異常等が発生した場合でも、風速監視装置20A、20Bの記憶部40には、同じ風速データWD(t1)がそれぞれ記憶される。
時刻t2の風速データWD(t2)に対しても、上述した時刻t1の風速データWD(t1)と同様の処理が実施される(図3(a2、b2、c2、d2))。
図4は、図1に示した風速データ処理部30の動作の一例を示している。以下の処理S100−S130の説明では、風速監視装置20Aの風速データ処理部30の動作を説明する。この場合、風速監視装置20Bは、処理S110、S120における他の風速監視装置20に対応する。なお、風速監視装置20Bの風速データ処理部30の動作は、風速監視装置20Bを風速監視装置20Aに読み替えることで説明される。
処理S100では、風速データ処理部30は、風速検出装置60から風速データWDを受信する。風速データWDの受信に成功した場合、風速データ処理部30の動作は、処理S110に移る。処理S110では、風速データ処理部30は、受信した風速データWDを風速監視装置20B(他の風速監視装置20)に送信する。
処理S120では、風速データ処理部30は、風速検出装置60から受信した風速データWDと同じ時刻の風速データWDを風速監視装置20Bから受信済みか否かを判定する。例えば、風速データ処理部30は、受信した風速データWDと同じ時刻の風速データWDが記憶部40に記憶されている場合、風速監視装置20Bから風速データWDを既に受信していると判断する。風速監視装置20Bから風速データWDを既に受信している場合(処理S120のYes)、風速データ処理部30は、受信した風速データWDを記憶部40に記憶せずに、処理を終了する。
一方、風速監視装置20Bから風速データWDを受信していない場合(処理S120のNo)、風速データ処理部30は、受信した風速データWDを記憶部40に記憶する。例えば、風速データ処理部30は、受信した風速データWDと同じ時刻の風速データWDが記憶部40に記憶されていない場合、受信した風速データWDを記憶部40に記憶する。このように、風速データ処理部30は、補完処理部50が風速データWDを受信する前に、風速検出装置60から風速データWDを受信した場合、受信した風速データWDを記憶部40に記憶する。
図5は、図1に示した補完処理部50の動作の一例を示している。以下の処理S200−S220の説明では、風速監視装置20Aの補完処理部50の動作を説明する。なお、風速監視装置20Bの補完処理部50の動作は、風速監視装置20Bを風速監視装置20Aに読み替えることで説明される。
処理S200では、補完処理部50は、風速監視装置20B(他の風速監視装置20)から風速データWDを受信する。処理S210では、補完処理部50は、風速監視装置20Bから受信した風速データWDと同じ時刻の風速データWDを風速検出装置60から受信済みか否かを判定する。例えば、補完処理部50は、受信した風速データWDと同じ時刻の風速データWDが記憶部40に記憶されている場合、風速検出装置60から風速データWDを既に受信していると判断する。風速検出装置60から風速データWDを既に受信している場合(処理S210のYes)、補完処理部50は、受信した風速データWDを記憶部40に記憶せずに、処理を終了する。
一方、風速検出装置60から風速データWDを受信していない場合(処理S210のNo)、補完処理部50は、受信した風速データWDを記憶部40に記憶する。例えば、補完処理部50は、受信した風速データWDと同じ時刻の風速データWDが記憶部40に記憶されていない場合、受信した風速データWDを記憶部40に記憶する。このように、補完処理部50は、風速データ処理部30が風速データWDを受信する前に、風速監視装置20Bから風速データWDを受信した場合、受信した風速データWDを記憶部40に記憶する。
以上、この実施形態では、風速監視装置20Aは、風速検出装置60から受信した風速データWDを風速監視装置20Bに送信し、風速監視装置20Bは、風速検出装置60から受信した風速データWDを風速監視装置20Aに送信する。これにより、2台の風速監視装置20の一方が通信異常等により風速検出装置60からの風速データWDを受信できない場合でも、他方の風速監視装置20から風速データWDを補完できる。したがって、この実施形態では、2台の風速監視装置20に記憶される風速データWDに、不一致が発生することを防止できる。この結果、この実施形態では、鉄道等の交通機関の運行制御を円滑に実施できる。また、2台の風速監視装置20の一方が故障した場合でも、他方の風速監視装置20を用いて、運行制御を円滑に実施できる。
図6は、別の実施形態における風速監視システムの概要を示している。この実施形態の風速監視システム12は、上述した図1に示した風速監視装置20(20A、20B)の代わりに、風速監視装置22(22A、22B)が設けられている。その他の構成は、上述した実施形態と同じである。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
各風速監視装置22は、風速データ処理部32、データ要求部34、記憶部42、退避部46および補完処理部52を有している。なお、風速データ処理部32、データ要求部34および補完処理部52は、ソフトウエアにより実現されてもよいし、ハードウエアにより実現されてもよい。
風速データ処理部32は、例えば、受信した風速データWDを、記憶部42あるいは退避部46に記憶する。その他の基本的な動作は、図1に示した風速データ処理部30と同じである。なお、風速データ処理部32の動作の詳細は、後述する図10で説明する。データ要求部34は、記憶部42に記憶されている風速データWDが不足している場合、不足分の風速データWDの取得を要求するデータ取得要求REQを、他の風速監視装置22に送信する。以下、記憶部42に記憶されていない不足分の風速データWDを、不足データWDとも称する。
例えば、風速監視装置22Aのデータ要求部34は、風速監視装置22Aが停止状態から動作状態に遷移したとき、停止状態の期間に対応する風速データWDの取得を要求するデータ取得要求REQを、風速監視装置22Bに送信する。また、例えば、風速監視装置22Bのデータ要求部34は、風速監視装置22Bが停止状態から動作状態に遷移したとき、停止状態の期間に対応する風速データWDの取得を要求するデータ取得要求REQを、風速監視装置22Aに送信する。なお、データ要求部34の動作の詳細は、後述する図9で説明する。
記憶部42は、例えば、図1に示した記憶部40に最終時刻領域44が割り当てられて構成され、風速データ処理部32、データ要求部34および補完処理部52に接続されている。記憶部42のその他の構成は、図1に示した記憶部40と同じである。なお、最終時刻領域44は、記憶部42と別に設けられてもよい。この場合、最終時刻領域44は、例えば、ハードディスクや不揮発性メモリで構成され、風速データ処理部32、データ要求部34および補完処理部52に接続される。最終時刻領域44は、最後に受信した風速データWDの時刻情報を記憶する。退避部46は、例えば、揮発性メモリで構成され、風速データ処理部32および補完処理部52に接続される。退避部46は、風速データWDを一時的に記憶する。
補完処理部52は、図1に示した補完処理部50にデータ送信部54が追加されて構成されている。例えば、データ送信部54は、補完処理部52がデータ取得要求REQを受信したとき、データ取得要求REQが示す期間の風速データWDを、データ取得要求REQを送信した風速監視装置22に送信する。なお、補完処理部52の動作の詳細は、後述する図11で説明する。
例えば、風速監視装置22Aのデータ送信部54は、風速監視装置22Bが停止状態から動作状態に遷移したとき、風速監視装置22Bからのデータ取得要求REQに基づく風速データWDを記憶部42から読み出し、読み出した風速データWDを風速監視装置22Bに送信する。また、例えば、風速監視装置22Bのデータ送信部54は、風速監視装置22Aが停止状態から動作状態に遷移したとき、風速監視装置22Aからのデータ取得要求REQに基づく風速データWDを記憶部42から読み出し、読み出した風速データWDを風速監視装置22Aに送信する。
なお、補完処理部52は、不足分の風速データWD(データ取得要求REQに基づく風速データWD)を受信したとき、不足分の風速データWDを記憶部42に記憶する。そして、補完処理部52は、不足分の風速データWDを記憶部42に記憶した後に、退避部46に記憶されている風速データWDを、記憶部42に記憶する。
これにより、2台の風速監視装置22は、風速データWDを互いに補完できる。したがって、この実施形態では、2台の風速監視装置22に記憶される風速データWDを互いに一致させることができる。すなわち、この実施形態では、2台の風速監視装置22に記憶される風速データWDに、不一致が発生することを防止できる。
なお、風速監視装置22A、22Bは、互いに異なる通信パスを介して、風速検出装置60から風速データWDを受信してもよいし、共通の通信パスを介して、風速検出装置60から風速データWDを受信してもよい。風速監視装置22A、22Bが互いに異なる通信パスを介して風速検出装置60から風速データWDを受信する場合、一方の回線が断線した場合でも、他方の回線により、風速監視装置22は、風速検出装置60から風速データWDを受信できる。
図7は、図6に示した2台の風速監視装置22の一方が停止した場合の風速監視システム12の動作の一例を示している。なお、図7は、風速監視装置22Bが停止した場合の風速監視システム12の動作の一例を示している。図中の実線の矢印は、着目する1つの地点(例えば、上述した図6に示した地点m)の風速検出装置60からの風速データWDの流れを示し、図中の破線の矢印は、風速データWDの時刻情報の流れを示している。また、図中の星印は、風速監視装置22Bが停止したことを示し、図中の×印は、風速監視装置22Bが風速検出装置60からの風速データWDを受信できないことを示している。
風速検出装置60は、時刻t1の風速データWD(t1)を風速監視装置22A、22Bに送信する(図7(a1、b1))。風速監視装置22A、22Bは、風速検出装置60から受信した風速データWD(t1)を、図6に示したそれぞれの記憶部42に記憶する。この際、風速監視装置22A、22Bは、風速データWD(t1)の時刻情報t1を、それぞれの最終時刻領域44に記憶する(図7(e1))。なお、図では、風速監視装置22Aが時刻情報t1、t2、t3、t4を最終時刻領域44に記憶する動作の記載を省略している。
そして、風速監視装置22Aは、風速検出装置60から受信した風速データWD(t1)を、風速監視装置22Bに送信する(図7(c1))。また、風速監視装置22Bは、風速検出装置60から受信した風速データWD(t1)を、風速監視装置22Aに送信する(図7(d1))。
なお、風速監視装置22Aは、風速監視装置22Bから風速データWD(t1)を受信したときに(図7(d1))、同じ時刻の風速データWD(t1)を風速検出装置60から既に受信しているため、風速監視装置22Bから受信した風速データWD(t1)を無視する。同様に、風速監視装置22Bは、風速監視装置22Aから風速データWD(t1)を受信したときに(図7(c1))、同じ時刻の風速データWD(t1)を既に受信しているため、風速監視装置22Aから受信した風速データWD(t1)を無視する。
時刻t2の風速データWD(t2)に対しても、上述した時刻t1の風速データWD(t1)と同様の処理が実施される(図7(a2、b2、c2、d2、e2))。例えば、風速監視装置22A、22Bは、風速データWD(t2)の時刻情報t2を、それぞれの最終時刻領域44に上書きする(図7(e2))。すなわち、最終時刻領域44の内容(時刻情報)は、最後に受信した風速データWDの時刻情報を示している。
その後、風速監視装置22Bは、装置ダウン等により停止する(図の星印)。したがって、風速監視装置22Bは、風速データWD(t3)、WD(t4)を受信できない(図の×印)状態である。例えば、風速検出装置60は、時刻t3の風速データWD(t3)を風速監視装置22A、22Bに送信する(図7(a3、b3))。風速監視装置22Aは、風速検出装置60から受信した風速データWD(t3)を、図6に示した記憶部42に記憶し、風速データWD(t3)の時刻情報t3を、最終時刻領域44に上書きする。
風速監視装置22Aは、風速検出装置60から受信した風速データWD(t3)を、風速監視装置22Bに送信する(図7(c3))。なお、風速監視装置22Bが停止状態であるため、風速監視装置22Bから風速監視装置22Aへの風速データWD(t3)の送信は、実施されない。 時刻t4の風速データWD(t4)に対しても、上述した時刻t3の風速データWD(t3)と同様の処理が実施される(図7(a4、b4、c4))。
図8は、図6に示した2台の風速監視装置22の一方が再起動した場合の風速監視システム12の動作の一例を示している。なお、図8は、上述した図7に示した動作の後に、風速監視装置22Bが再起動した場合の風速監視システム12の動作の一例を示している。
図中の実線の矢印、星印および×印の意味は、図7と同じである。また、図中の破線の矢印は、風速データWDの時刻情報およびデータ取得要求REQの流れを示し、図中の二重丸は、風速監視装置22Bが再起動したことを示している。なお、図8では、風速監視装置22Aが時刻情報t3、t4、t5、t6を最終時刻領域44に記憶する動作の記載を省略している。
風速監視装置22Bが再起動した時刻(図の二重丸)では、風速監視装置22Bの記憶部42には、風速データWD(t1)、WD(t2)が記憶されている。すなわち、風速データWD(t3)、WD(t4)は、風速監視装置22Bの記憶部42に記憶されていない。また、風速監視装置22Bの最終時刻領域44の内容は、時刻情報t2を示している。なお、風速監視装置22Aの記憶部42には、風速データWD(t1)、WD(t2)、WD(t3)、WD(t4)が記憶されている。なお、風速監視装置22Bが再起動する前の風速監視システム12の動作は、図7と同じため、説明を省略する。
風速検出装置60は、時刻t5の風速データWD(t5)を風速監視装置22A、22Bに送信する(図8(a5、b5))。風速監視装置22Aは、風速検出装置60から受信した風速データWD(t5)を、記憶部42に記憶する。この際、風速監視装置22Aは、風速データWD(t5)の時刻情報t5を、最終時刻領域44に上書きする。また、風速監視装置22Aは、風速検出装置60から受信した風速データWD(t5)を、風速監視装置22Bに送信する(図8(c5))。
一方、風速監視装置22Bは、再起動後に、最終時刻領域44の内容(時刻情報t2)を、風速監視装置22Bに内蔵されるメモリ等(図示せず)に退避する(図8(f))。なお、最終時刻領域44の内容は、例えば、退避部46の一部の領域に退避されてもよい。あるいは、最終時刻領域44の内容が退避するバッファ等を、データ要求部34等に設けてもよい。
そして、風速監視装置22Bは、風速データWD(t3)、WD(t4)が記憶部42に記憶されていないため、風速検出装置60から受信した風速データWD(t5)を、退避部46に記憶する。この際、風速監視装置22Bは、風速データWD(t5)の時刻情報t5を、最終時刻領域44に上書きする(図8(e5))。また、風速監視装置22Bは、風速検出装置60から受信した風速データWD(t5)を、風速監視装置22Aに送信する(図8(d5))。
さらに、風速監視装置22Bは、風速データWD(t3)、WD(t4)が記憶部42に記憶されていないため、不足データWDの取得を要求するデータ取得要求REQを、風速監視装置22Aに送信する(図8(g))。図の例では、不足データWDは、風速監視装置22Bの停止中に風速検出装置60が送信した風速データWD(t3)、WD(t4)である。
すなわち、データ取得要求REQが要求する不足データWD内の最古の風速データWDは、風速監視装置22Bの停止時点の最終時刻領域44の内容(時刻t2)に集約時間を加算した時刻(時刻t3)の風速データWD(t3)である。また、データ取得要求REQが要求する不足データWD内の最新の風速データWDは、風速監視装置22Bの再起動後の最終時刻領域44の内容(時刻t5)から集約時間を減算した時刻(時刻t4)の風速データWD(t4)である。
データ取得要求REQを受信した風速監視装置22Aは、データ取得要求REQにより指定された期間の風速データWD(t3)、WD(t4)を、風速監視装置22Bに送信する(図8(h))。風速監視装置22Bは、風速監視装置22Aから受信した不足データWD(t3)、WD(t4)を、記憶部42に記憶する。その後、風速監視装置22Bは、退避領域46に記憶されている風速データWD(t5)を、記憶部42に記憶する。これにより、風速監視装置22Bは、不足データWDを補完できる。すなわち、風速監視装置22A、22Bは、記憶部42に記憶される風速データWDに、不一致が発生することを防止できる。
なお、風速監視装置22Aは、風速監視装置22Bから風速データWD(t5)を受信したときに(図8(d5))、同じ時刻の風速データWD(t5)を風速検出装置60から既に受信しているため、風速監視装置22Bから受信した風速データWD(t5)を無視する。同様に、風速監視装置22Bは、風速監視装置22Aから風速データWD(t5)を受信したときに(図8(c5))、同じ時刻の風速データWD(t5)を既に受信しているため、風速監視装置22Aから受信した風速データWD(t5)を無視する。
時刻t6の風速データWD(t6)に対しては、上述した図7に示した時刻t1の風速データWD(t1)と同様の処理が実施される(図8(a6、b6、c6、d6、e6))。
ここで、例えば、風速監視装置22A、22Bは、受信した風速データWDを用いて、風速値や平均風速値(例えば、10分間の平均値)をグラフ化する機能等を有している。したがって、再起動時に不足データWDが補完されない構成では、二重化された風速監視装置の一方で算出される平均風速値と他方で算出される平均風速値とが異なるため、再起動された風速監視装置を参照した場合、誤った判断で運行制御が実施されるおそれがある。これに対し、この実施形態では、風速監視装置22Bを再起動した場合でも、風速監視装置22A、22Bに記憶される風速データWDが互いに一致しているため、風速監視装置22A、22Bのいずれが参照されても、正しい判断で運行制御を実施できる。
図9は、図6に示したデータ要求部34の動作の一例を示している。以下の処理S300−S330の説明では、風速監視装置22Aのデータ要求部34の動作を説明する。なお、風速監視装置22Bのデータ要求部34の動作は、風速監視装置22A、22Bを風速監視装置22B、22Aにそれぞれ読み替えることで説明される。処理S300−S330は、風速監視装置22Aが停止状態から動作状態に遷移する度に実施される。
処理S300では、データ要求部34は、風速監視装置22Aが停止状態から動作状態に遷移したときに、フラグFLAG1を”ON”に設定する。例えば、フラグFLAG1の”ON”は、不足データWDの未受信を示し、フラグFLAG1の”OFF”は、不足データWDの受信済みを示している。
処理S310では、データ要求部34は、最終時刻領域44の内容(時刻情報)を風速監視装置22Aに内蔵されるメモリ等に退避する。これにより、データ要求部34は、データ取得要求REQを生成する際に、風速監視装置22Aが停止する前に受信した風速データWDの最終時刻を検出できる。
処理S320では、データ要求部34は、風速監視装置22Aが風速データWDを受信したか否かを判定し、風速監視装置22Aが風速データWDを受信するまで待機する。例えば、データ要求部34は、最終時刻領域44が更新されたとき、風速データWDを受信したと判断する。あるいは、データ要求部34は、退避部46に風速データWDが記憶されたとき、風速データWDを受信したと判断する。風速監視装置22Aが風速データWDを受信した場合(処理S320のYes)、データ要求部34の動作は、処理S330に移る。
処理S330では、データ要求部34は、不足データWDの取得を要求するデータ取得要求REQを、風速監視装置22Bに送信する。データ取得要求REQは、不足データWDの開始時刻情報および終了時刻情報を有している。例えば、データ要求部34は、処理S310において退避した時刻情報に集約時間を加算することにより、不足データWDの開始時刻情報を算出し、最終時刻領域44に記憶されている時刻情報から集約時間を減算することにより、不足データWDの終了時刻情報を算出する。
図10は、図6に示した風速データ処理部32の動作の一例を示している。以下の処理S100−S132の説明では、風速監視装置22Aの風速データ処理部32の動作を説明する。この場合、風速監視装置22Bは、処理S110、S120における他の風速監視装置22に対応する。なお、風速監視装置22Bの風速データ処理部32の動作は、風速監視装置22Bを風速監視装置22Aに読み替えることで説明される。この実施形態の風速データ処理部32の動作は、上述した図4に示した動作に、処理S122、S124、S132が追加されている。風速データ処理部32のその他の動作は、図4と同じため、詳細な説明を省略する。
例えば、風速監視装置22Bから風速データWDを既に受信している場合(処理S120のYes)、風速データ処理部32は、受信した風速データWDを記憶部42および退避部46のいずれにも記憶せずに、処理を終了する。また、例えば、風速監視装置22Bから風速データWDを受信していない場合(処理S120のNo)、風速データ処理部32の動作は、処理S122に移る。
処理S122では、風速データ処理部32は、最終時刻情報44の内容を、受信した風速データWDの時刻情報に更新する。処理S124では、風速データ処理部32は、フラグFLAG1が”ON”か否かを判定する。フラグFLAG1が”ON”でない場合(処理S124のNo)、風速データ処理部32は、処理S130において、受信した風速データWDを記憶部42に記憶する。
一方、フラグFLAG1が”ON”の場合(処理S124のYes)、風速データ処理部32は、処理S132において、受信した風速データWDを退避部42に記憶する。すなわち、風速データ処理部32は、不足データWDの補完が完了するまで、受信した風速データWDを退避部42に記憶する。
図11は、図6に示した補完処理部52の動作の一例を示している。以下の処理S202−S242の説明では、風速監視装置22Aの補完処理部52の動作を説明する。なお、風速監視装置22Bの補完処理部52の動作は、風速監視装置22A、22Bを風速監視装置22B、22Aにそれぞれ読み替えることで説明される。
処理S202では、補完処理部52は、風速データWD、不足データWDおよびデータ取得要求REQのいずれかを、風速監視装置22B(他の風速監視装置22)から受信する。処理S204では、補完処理部52は、受信したデータが風速データWDか否かを判定する。受信したデータが風速データWDの場合(処理S204のYes)、補完処理部52の動作は、処理S210に移り、受信したデータが風速データWDでない場合(処理S204のNo)、補完処理部52の動作は、処理S230に移る。
処理S210では、補完処理部52は、風速監視装置22Bから受信した風速データWDと同じ時刻の風速データWDを風速検出装置60から受信済みか否かを判定する。例えば、補完処理部52は、受信した風速データWDの時刻情報が最終時刻領域44に記憶されている時刻情報と同じ場合、風速検出装置60から風速データWDを既に受信していると判断する。
風速検出装置60から風速データWDを既に受信している場合(処理S210のYes)、補完処理部52は、受信した風速データWDを記憶部42および退避部46のいずれにも記憶せずに、処理を終了する。一方、風速検出装置60から風速データWDを受信していない場合(処理S210のNo)、補完処理部52の動作は、処理212に移る。
処理S212では、補完処理部52は、最終時刻情報44の内容を、受信した風速データWDの時刻情報に更新する。処理S214では、補完処理部52は、フラグFLAG1が”ON”か否かを判定する。フラグFLAG1が”ON”でない場合(処理S214のNo)、補完処理部52は、処理S220において、受信した風速データWDを記憶部42に記憶する。一方、フラグFLAG1が”ON”の場合(処理S214のYes)、補完処理部52の動作は、処理S222に移る。
処理S222では、補完処理部52は、受信した風速データWDを退避部42に記憶する。すなわち、補完処理部52は、不足データWDの補完が完了するまで、受信した風速データWDを退避部42に記憶する。このように、補完処理部52は、風速データ処理部32が風速データWDを受信する前に、風速監視装置22Bから風速データWDを受信した場合、受信した風速データWDを記憶部42および退避部46のいずれかに記憶する。
処理S230(受信したデータが風速データWDでない場合)では、補完処理部52は、受信したデータが不足データWDか否かを判定する。受信したデータが不足データWDの場合(処理S230のYes)、補完処理部52の動作は、処理S232に移り、受信したデータが不足データWDでない場合(処理S230のNo)、補完処理部52の動作は、処理S240に移る。
処理S232では、補完処理部52は、受信した不足データWDを記憶部42に記憶する。これにより、風速監視装置22Aの起動時に不足していた風速データWDが補完される。処理S234では、補完処理部52は、退避部46に記憶されている風速データWDを記憶部42に記憶する。処理S236では、補完処理部52は、フラグFLAG1を”OFF”に設定する。これにより、不足データWDの補完が完了する。
処理S240(受信したデータが不足データWDでない場合)では、補完処理部52は、受信したデータがデータ取得要求REQか否かを判定する。受信したデータがデータ取得要求REQの場合(処理S240のYes)、補完処理部52の動作は、処理S242に移り、受信したデータがデータ取得要求REQでない場合(処理S240のNo)、補完処理部52の動作は、終了する。
処理S242では、補完処理部52(より詳細には、データ送信部54)は、記憶部42に記憶されている風速データWDのうち、受信したデータ取得要求REQが示す範囲に含まれる風速データWDを風速監視装置22Bに送信する。すなわち、データ送信部54は、風速監視装置22Bがデータ取得要求REQを風速監視装置22Aに送信した場合に、受信したデータ取得要求REQが示す期間の風速データWDを、風速監視装置22Bに送信する。
以上、この実施形態においても、上述した図1−図5で説明した実施形態と同様の効果を得ることができる。さらに、この実施形態では、各風速監視装置22は、データ要求部34、最終時刻領域44、退避部46およびデータ送信部54を含んで構成されている。これにより、この実施形態では、起動時の不足データを補完できる。この結果、この実施形態では、二重化された風速監視装置22の一方が再起動等した場合でも、2台の風速監視装置22に記憶される風速データWDに、不一致が発生することを防止できる。
なお、上述した図6−図11で説明した実施形態では、補完処理部52がデータ送信部54を含んで構成される例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、データ送信部54は、補完処理部52内に設けられなくてもよい。あるいは、補完処理部52は、データ要求部34およびデータ送信部54を含んで構成されてもよい。この場合にも、上述した実施形態と同様の効果を得ることができる。
上述した図6−図11で説明した実施形態では、風速監視装置22が最終時刻領域44を有する例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、風速監視装置22は、最終時刻領域44を省いて構成されてもよい。この場合、例えば、データ要求部34は、上述した図9に示した処理S310において、記憶部42に記憶されている最新の風速データWDの時刻情報を、風速監視装置22Aに内蔵されるメモリ等に記憶する。そして、例えば、データ要求部34は、退避部46に最初に記憶される風速データWDの時刻情報を、データ取得要求REQで要求する不足データWDの終了時刻情報を算出する際に使用する。この場合にも、上述した実施形態と同様の効果を得ることができる。
上述した図6−図11で説明した実施形態では、風速データ処理部32が風速データWDを他の風速監視装置22に送信する例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、風速データ処理部32は、風速データWDを受信する度に、受信した風速データWDを他の風速監視装置22に送信しなくてもよい。この場合にも、二重化された風速監視装置22の一方が再起動等したとき、2台の風速監視装置22に記憶される風速データWDに、不一致が発生することを防止できる。また、例えば、風速データ処理部32は、他の風速監視装置22の風速データ処理部32が風速データWDを受信できない期間のみ、受信した風速データWDを他の風速監視装置22に送信してもよい。この場合にも、上述した実施形態と同様の効果を得ることができる。
上述した図6−図11で説明した実施形態では、図9に示した処理S300(フラグFLAG1の”ON”設定)および処理S310(最終時刻領域44の内容退避)が、データ要求部34により実施される例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、図9に示した処理S300(フラグFLAG1の”ON”設定)および処理S310(最終時刻領域44の内容退避)は、風速データ処理部32や補完処理部52等により実施されてもよい。この場合にも、上述した実施形態と同様の効果を得ることができる。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。