実施例1は、駅が3駅の路線に本発明を適用した例である。図1は、本発明の一実施例を示す鉄道保安システムの構成図である。図1において、本実施例による鉄道保安システムは、列車の各駅(A駅、B駅、C駅)への進路制御を行うと共に、各駅における列車の在線情報を管理する進路制御装置1と、A駅に設置された連動論理部2Aと、B駅に設置された連動論理部2Bと、C駅に設置された連動論理部2Cと、これらを接続するネットワーク10と、駅内ネットワーク3A、3B、3Cと、現場機器制御端末4A、5A、4B、5B、4C、5Cを備える。
進路制御装置1は、CPU(Central Processing Unit)、メモリ、入出力インタフェース等の情報処理資源を備えたコンピュータ装置(いずれも図示せず)で構成され、各連動論理部2A、2B、2Cとネットワーク10を介して情報の送受信を行って、各駅を走行する列車の進路制御を行うと共に各駅における列車の在線情報を管理する。
A駅の連動論理部2Aは、A駅に設置された現場機器制御端末4A、5Aに駅内ネットワーク3Aを介して接続され、B駅の連動論理部2Bは、B駅に設置された現場機器制御端末4B、5Bに駅内ネットワーク3Bを介して接続され、C駅の連動論理部2Cは、C駅に設置された現場機器制御端末4C、5Cに駅内ネットワーク3Cを介して接続される。
駅内ネットワーク3Aと駅内ネットワーク3Bは駅間通信路11で相互に接続され、駅内ネットワーク3Bと駅内ネットワーク3Cは駅間通信路12で相互に接続される。
現場機器制御端末4A、5Aには、A駅に設置された現場機器6A(信号機、転てつ機、軌道回路など)が接続される。同様に現場機器制御端末4B、5Bには、B駅に設置された現場機器6Bが接続され、現場機器制御端末4C、5Cには、C駅に設置された現場機器6Cが接続される。各現場機器制御端末4A、5A、4B、5B、4C、5Cは、それぞれ各駅に配置された現場機器6A、6B、6Cにそれぞれ属する複数の機器に対する動作を、機器毎に管理する。なお、駅内ネットワーク3A、3B、3Cと駅間通信路11、12は、情報伝送路として構成される。この際、各連動論理部2A、2B、2Cは、各駅に配置された現場機器6A、6B、6Cにそれぞれ属する複数の機器をそれぞれ制御対象として管理し、各制御対象を情報伝送路と各現場機器制御端末4A、5A、4B、5B、4C、5Cを介して制御する。
図2は、各駅に設置される現場機器の構成図である。図2において、A駅に設置された現場機器6Aは、信号機510、511と、転てつ機530、531と、軌道回路550、551、552、553から構成され、B駅に設置された現場機器6Bは、信号機512、513と、転てつ機532と、軌道回路554、555、556、557、558から構成され、C駅に設置された現場機器6Cは、信号機514、515と、軌道回路559、560、561、562、563、564から構成される。
図3は、連動論理部2A、2B、2Cの論理ブロック構造を示した構成図である。図3において、連動論理部2A、2B、2Cは、例えば、CPU、メモリ、入出力インタフェース等の情報処理資源を備えたコンピュータ装置(いずれも図示せず)の論理ブロックとして構成され、メモリに格納された各種プログラムに従って各種の論理演算を実行する。連動論理部2A内には、連動論理部2Bから受信した制御範囲情報(現場機器6Bに属する機器であって、連動論理部2Bの制御対象となる機器の範囲を示すB駅連動論理部制御範囲の情報)及び連動論理部2Cから受信した制御範囲情報(現場機器6Cに属する機器であって、連動論理部2Cの制御対象となる機器の範囲を示すC駅連動論理部制御範囲の情報)を判定して論理を切り替える判定論理201Aが存在すると共に、判定論理201Aの切替対象となる複数の論理として、通常時論理8Aと、他駅停止時論理としてのB駅停止時論理9A及びC駅停止時論理10A、待機論理11Aが存在する。連動論理部2B内および連動論理部2C内にも同様の判定論理201Bおよび201C、通常時論理8Bおよび8C、他駅停止時論理(A駅停止時論理9Bおよび9C、B駅停止時論理10C、C駅停止時論理10B)、待機論理11Bおよび11Cが存在する。
判定論理201Aは、各駅が正常状態にあって、連動論理部2Bと連動論理部2Cからの制御範囲情報を受信できる場合、通常時論理8Aを選択し、連動論理部2Bまたは連動論理部2Cからの制御範囲情報の受信が一定期間無い場合、制御範囲情報の受信が無い連動論理部の停止を検知し、停止した連動論理部が属する駅に応じた他駅停止時論理として、B駅停止時論理9AまたはC駅停止時論理10Aを選択する。他駅停止時論理で動作する場合、連動論理部2Aは、自身が設置された駅の現場機器6Aに加えて、連動論理部が停止した駅の現場機器6B又は6Cの制御を行う。また、判定論理201Aは、連動論理部2Aが停止から回復した後、一定期間は、待機論理11Aを選択する。判定論理201B、201Cでも同様の判定処理を行う。
通常時論理8Aは、各駅が正常状態にあって、自駅(A駅)の現場機器6Aのみを制御する論理である。通常時論理8B、8Cも同様に、各駅が正常状態にあって、自駅(B駅又はC駅)の現場機器6B又は6Cのみを制御する論理である。A駅における他駅停止時論理としてのB駅停止時論理9A及びC駅停止時論理10Aは、他の駅(B駅又はC駅)が停止した場合に、A駅の現場機器6Aの制御に加え、連動論理部2B又は2Cが停止した駅(B駅又はC駅)の現場機器6B又は6Cの一部を制御する論理である。B駅におけるA駅停止時論理9B及びC駅停止時論理10Bは、他の駅(A駅又はC駅)が停止した場合に、B駅の現場機器6Bの制御に加え、連動論理部2A又は2Cが停止した駅(A駅又はC駅)の現場機器6A又は6Cの一部を制御する論理である。C駅におけるA駅停止時論理9C及びB駅停止時論理10Cは、他の駅(A駅又はB駅)が停止した場合に、C駅の現場機器6Cの制御に加え、連動論理部2A又は2Bが停止した駅(A駅又はB駅)の現場機器6A又は6Bの一部を制御する論理である。
待機論理11Aは、連動論理部2Aが停止状態から回復した後に、現場機器6Aの制御を行わずに、他の駅(B駅とC駅)の連動論理部2B、2Cとの通信のみを行う論理である。待機論理11Bは、連動論理部2Bが停止状態から回復した後に、現場機器6Bの制御を行わずに、他の駅(A駅とC駅)の連動論理部2A、2Cとの通信のみを行う論理である。待機論理11Cは、連動論理部2Cが停止状態から回復した後に、現場機器6Cの制御を行わずに、他の駅(A駅とB駅)の連動論理部2A、2Bとの通信のみを行う論理である。
即ち、ある駅の連動論理部が停止した際には、複数の駅の連動論理部で他駅停止時論理へ切り替わる。他駅停止時論理に切り替わった連動論理部は、自身が設置された駅の現場機器に加えて、連動論理部が停止した駅の現場機器の制御を行う。他駅停止時論理に切り替わった際に制御される現場機器は、連動論理部が停止した駅での列車運行が可能なように、各駅の連動論理部にその管理が割り振られる。
図4は、連動論理部による論理判定の内容を説明するためのフローチャートである。図4において、A駅の連動論理部2Aが停止から回復した場合、A駅の連動論理部2Aは、判定論理を開始し(ステップ301)、停止から回復した後に、連動論理部2Bと連動論理部2Cの制御範囲情報を両方とも受信したかを確認し(ステップ302)、連動論理部2Bと連動論理部2Cの制御範囲情報を両方とも受信したか否かを判定する(ステップ303)。
ステップ303でYESの判定結果を得た場合、連動論理部2Aは、連動論理部2Bまたは連動論理部2CがA駅の現場機器を制御しているかを確認し(ステップ304)、連動論理部2Bまたは連動論理部2CがA駅の現場機器を制御しているか否かを判定する(ステップ305)。一方、ステップ303でNOの判定結果を得た場合、連動論理部2Aは、連動論理部2Bの制御範囲情報と連動論理部2Cの制御範囲情報のどちらかを一定期間受信していないかを確認し(ステップ306)、一定期間受信無しか否かを判定する(ステップ307)。
連動論理部2Aは、ステップ305でNOの判定結果を得た場合、またはステップ307でYESの判定結果を得た場合、通常時の判定内容を実施し(ステップ308)、ステップ305でYESの判定結果を得た場合、またはステップ307でNOの判定結果を得た場合、待機論理11Aで動作し(ステップ309)、ステップ308またはステップ309の後、制御範囲判定処理を終了すると共に、このルーチンでの処理を終了する(ステップ310)。
図5は、連動論理部による通常時の判定処理を説明するためのフローチャートである。この処理は、図4のステップ308の具体的内容である。図5において、連動論理部2Aは、通常時の判定内容を取得するための処理を開始し(ステップ321)、連動論理部2Bから一定期間制御範囲情報を受信していないかを確認し(ステップ322)、一定期間受信無しか否かを判定する(ステップ323)。ステップ323でNOの判定結果を得た場合、連動論理部2Aは、連動論理部2Cから一定期間制御範囲情報を受信していないかを確認し(ステップ324)、一定期間受信無しか否かを判定する(ステップ325)。
連動論理部2Aは、ステップ325でNOの判定結果を得た場合、通常時論理8Aで動作し(ステップ326)、ステップ325でYESの判定結果を得た場合、C駅停止時論理10Aで動作する(ステップ327)。一方、ステップ323でYESの判定結果を得た場合、連動論理部2Aは、B駅停止時論理9Aで動作する(ステップ328)。その後、連動論理部2Aは、通常時の判定内容の処理を終了すると共に、このルーチンでの処理を終了する(ステップ329)。
図6は、各駅の連動論理部制御範囲を説明するための構成図である。図6において、A駅の通常時(正常時)における連動論理部2Aの制御範囲(A駅連動論理部制御範囲)581Aは、現場機器6Aに属する機器であって、信号機510、511と、転てつ機530、531と、軌道回路550、551、552、553となり、B駅の通常時における連動論理部2Bの制御範囲(B駅連動論理部制御範囲)581Bは、現場機器6Bに属する機器であって、信号機512、513と、転てつ機532と、軌道回路554、555、556、557、558となり、C駅の通常時における連動論理部2Cの制御範囲(C駅連動論理部制御範囲)581Cは、現場機器6Cに属する機器であって、信号機514、515と、軌道回路559、560、561、562、563、564となる。
この際、A駅の連動論理部2Aは、現場機器6Aに属する機器に関する情報を現場機器制御端末4A、5Aと駅内ネットワーク3Aを介して取り込み、現場機器6Aに属する機器を通常時の制御対象として管理する。B駅の連動論理部2Bは、現場機器6Bに属する機器に関する情報を現場機器制御端末4B、5Bと駅内ネットワーク3Bを介して取り込み、現場機器6Bに属する機器を通常時の制御対象として管理する。C駅の連動論理部2Cは、現場機器6Cに属する機器に関する情報を現場機器制御端末4C、5Cと駅内ネットワーク3Cを介して取り込み、現場機器6Cに属する機器を通常時の制御対象として管理する。連動論理部2A、2B、2Cは、通常時には、少なくとも各駅の現場機器に属する機器を制御対象とする論理(通常時論理8A、8B、8C)を選択し、選択した論理を基に各駅の現場機器に属する機器を各現場機器制御端末を介して制御することになる。
また、連動論理部2A、2B、2Cは、自身以外の連動論理部が停止した場合に備えて、自身が設置された駅以外の現場機器の状態を示す状態情報(表示情報)、例えば、列車在線位置、転てつ機転換方向などを示す情報を、現場機器から、駅内ネットワーク3A、3B、3C及び駅間通信路11、12を介して周期的に取得する。
各連動論理部が、他の連動論理部が停止時した後から、連動論理部が停止した駅の現場機器の状態情報(表示情報)の取得を開始した場合、連動論理部が停止した駅の現場機器を制御するために十分な状態情報(表示情報)を取得できるまでには、数分程度の時間を要する。この場合、そのままでは、連動論理部が停止してから数分程度は列車運行が停止することとなる。
そのため、連動論理部2A、2B、2Cは、自身以外の連動論理部が停止する前から現場機器の状態情報(表示情報)の取得を行う。それにより、連動論理部が停止してから列車運行を再開するまでの時間を短縮することができる。
この際、連動論理部2Aは、例えば、A駅連動論理部制御範囲581Aに属する機器の状態情報(表示情報)を定期的に取得すると共に、B駅連動論理部制御範囲581BとC駅連動論理部範囲581Cに属する機器の状態情報(表示情報)を定期的に取得する。同様に、連動論理部2Bは、B駅連動論理部制御範囲581Bに属する機器の状態情報(表示情報)を定期的に取得すると共に、A駅連動論理部制御範囲581AとC駅連動論理部範囲581Cに属する機器の状態情報(表示情報)を定期的に取得し、連動論理部2Cは、C駅連動論理部制御範囲581Cに属する機器の状態情報(表示情報)を定期的に取得すると共に、A駅連動論理部制御範囲581AとB駅連動論理部範囲581Bに属する機器の状態情報(表示情報)を定期的に取得する。
図7は、A駅連動論理部の停止時の制御範囲を説明するための構成図である。図7において、A駅の連動論理部2Aの停止時における連動論理部2Bの制御範囲(B駅連動論理部制御範囲)582Bは、現場機器6Aに属する機器のうち主に上り線用の機器であって、信号機511と、転てつ機530、531と、軌道回路551、553と、現場機器6Bに属する機器であって、信号機512、513と、転てつ機532と、軌道回路554、555、556、557、558となり、A駅の連動論理部2Aの停止時における連動論理部2Cの制御範囲(C駅連動論理部制御範囲)582Cは、現場機器6Aに属する機器のうち主に下り線用の機器であって、信号機510と、転てつ機530、531と、軌道回路550、552と、現場機器6Cに属する機器であって、信号機514、515と、軌道回路559、560、561、562、563、564となる。なお、転てつ機530、531は、A駅の上り線と下り線の列車運行の両方に使用されるので、連動論理部2Bの制御範囲582Bと連動論理部2Cの制御範囲582Cにそれぞれ属する機器として管理される。
この際、A駅の連動論理部2Aが停止した際でも列車運行を継続できるように、B駅の連動論理部2Bは、制御範囲(B駅連動論理部制御範囲)582Bに属する機器を制御対象として管理し、B駅におけるA駅停止時論理9Bであって、B駅の現場機器6Bの制御に加え、現場機器6Aの一部を制御する論理で動作する。C駅の連動論理部2Cは、制御範囲(C駅連動論理部制御範囲)582Cに属する機器を制御対象として管理し、C駅におけるA駅停止時論理9Cであって、C駅の現場機器6Cの制御に加え、現場機器6Aの一部を制御する論理で動作する。即ち、連動論理部2B、2Cは、制御範囲情報を連動論理部2Aと相互に送受信した後、連動論理部2Aから制御範囲情報を受信できなくなった場合、連動論理部2Aを停止した連動論理部として管理する管理用連動論理部として機能し、自駅の現場機器に属する機器の他に、停止した連動論理部2Aが属する他駅(A駅)の現場機器に属する機器を分担して制御するための論理(A駅停止時論理9B、9C)を選択し、選択した論理を基に自駅の現場機器に属する機器を制御すると共に、停止した連動論理部2Aの現場機器に属する機器を分担して制御することになる。
図8は、B駅連動論理部の停止時の制御範囲を説明するための構成図である。図8において、B駅の連動論理部2Bの停止時における連動論理部2Aの制御範囲(A駅連動論理部制御範囲)582Aは、現場機器6Aに属する機器であって、信号機510、511と、転てつ機530、531と、軌道回路550、551、552、553と、現場機器6Bに属する機器のうち主に上り線用の機器であって、信号機513と、転てつ機532と、軌道回路555、557となり、B駅連動論理部2Bの停止時における連動論理部2Cの制御範囲(C駅連動論理部制御範囲)583Cは、現場機器6Bに属する機器のうち主に下り線用の機器であって、信号機512と、転てつ機532と、軌道回路554、556、558と、現場機器6Cに属する機器であって、信号機514、515と、軌道回路559、560、561、562、563、564となる。なお、転てつ機532は、B駅の上り線と下り線の列車運行の両方に使用されるので、連動論理部2Aの制御範囲582Aと連動論理部2Cの制御範囲583Cにそれぞれ属する機器として管理される。
この際、B駅の連動論理部2Bが停止した際でも列車運行を継続できるように、A駅の連動論理部2Aは、制御範囲(A駅連動論理部制御範囲)582Aに属する機器を制御対象として管理し、A駅におけるB駅停止時論理9Aであって、A駅の現場機器6Aの制御に加え、現場機器6Bの一部を制御する論理で動作する。C駅の連動論理部2Cは、制御範囲(C駅連動論理部制御範囲)583Cに属する機器を制御対象として管理し、C駅におけるB駅停止時論理10Cであって、C駅の現場機器6Cの制御に加え、現場機器6Bの一部を制御する論理で動作する。
図9は、C駅連動論理部の停止時の制御範囲を説明するための構成図である。図9において、C駅の連動論理部2Cの停止時における連動論理部2Aの制御範囲(A駅連動論理部制御範囲)583Aは、現場機器6Aに属する機器であって、信号機510、511と、転てつ機530、531と、軌道回路550、551、552、553と、現場機器6Cに属する機器のうち主に上り線用の機器であって、信号機515と、軌道回路559、561、563となり、C駅連動論理部2Cの停止時における連動論理部2Bの制御範囲(B駅連動論理部制御範囲)583Bは、現場機器6Bに属する機器であって、信号機512、513と、転てつ機532と、軌道回路554、555、556、557、558と、現場機器6Cに属する機器のうち主に下り線用の機器であって、信号機514と、軌道回路560、562、564となる。
この際、C駅の連動論理部2Cが停止した際でも列車運行を継続できるように、A駅の連動論理部2Aは、制御範囲(A駅連動論理部制御範囲)583Aに属する機器を制御対象として管理し、A駅におけるC駅停止時論理10Aであって、A駅の現場機器6Aの制御に加え、現場機器6Cの一部を制御する論理で動作する。B駅の連動論理部2Bは、制御範囲(B駅連動論理部制御範囲)583Bに属する機器を制御対象として管理し、B駅におけるC駅停止時論理10Bであって、B駅の現場機器6Bの制御に加え、現場機器6Cの一部を制御する論理で動作する。
図10は、連動論理部の制御範囲情報送受信処理のタイムチャートである。図10において、連動論理部2Aは、制御範囲情報送信処理601Aと制御範囲情報受信処理602Aを実行した後、制御範囲情報送信処理603Aと制御範囲情報受信処理604Aを実行し、連動論理部2Bは、制御範囲情報送信処理601Bと制御範囲情報受信処理602Bを実行した後、制御範囲情報送信処理603Bと制御範囲情報受信処理604Bを実行し、連動論理部2Cは、制御範囲情報送信処理601Cと制御範囲情報受信処理602Cを実行した後、制御範囲情報送信処理603Cと制御範囲情報受信処理604C実行する。即ち、連動論理部2A、2B、2Cは、周期的に互いの制御範囲情報を交換し、相互に連動論理部が制御を行っている現場機器の制御範囲に関する情報の取得を行う。
この際、連動論理部2Aは、制御範囲情報送信処理601Aと制御範囲情報送信処理603Aでは、A駅連動論理部制御範囲581Aに属する機器に関する情報を連動論理部2Bと連動論理部2Cに送信し、制御範囲情報受信処理602Aと制御範囲情報受信処理604Aでは、B駅連動論理部制御範囲581Bに属する機器に関する情報を連動論理部2Bから受信し、C駅連動論理部制御範囲581Cに属する機器に関する情報を連動論理部2Cから受信する。連動論理部2Bは、制御範囲情報送信処理601Bと制御範囲情報送信処理603Bでは、B駅連動論理部制御範囲581Bに属する機器に関する情報を連動論理部2Aと連動論理部2Cに送信し、制御範囲情報受信処理602Bと制御範囲情報受信処理604Bでは、A駅連動論理部制御範囲581Aに属する機器に関する情報を連動論理部2Aから受信し、C駅連動論理部制御範囲581Cに属する機器に関する情報を連動論理部2Cから受信する。連動論理部2Cは、制御範囲情報送信処理601Cと制御範囲情報送信処理603Cでは、C駅連動論理部制御範囲581Cに属する機器に関する情報を連動論理部2Aと連動論理部2Bに送信し、制御範囲情報受信処理602Cと制御範囲情報受信処理604Cでは、A駅連動論理部制御範囲581Aに属する機器に関する情報を連動論理部2Aから受信し、B駅連動論理部制御範囲581Bに属する機器に関する情報を連動論理部2Bから受信する。
図11は、連動論理部2Bの停止時に、連動論理部2Aおよび2CがB駅停止時論理に切り替る際のタイムチャートである。図11において、連動論理部2Aは、連動論理部2Bと連動論理部2Cを情報の送信先又は送信元として、以下の処理を実行する。例えば、連動論理部2Aは、制御範囲情報送信処理701Aと、制御範囲情報受信処理702Aを実行した後、判定論理を実施(703A)し、その後、制御範囲情報送信処理704Aと、制御範囲情報受信処理705Aを実行した後、判定論理を実施(706A)し、続いて、制御範囲情報送信処理707Aと、制御範囲情報受信処理708Aを実行した後、判定論理を実施(709A)し、さらに、制御範囲情報送信処理710Aと、制御範囲情報受信処理711Aを実行した後、判定論理を実施(712A)する。
連動論理部2Bは、連動論理部2Aと連動論理部2Cを情報の送信先又は送信元として、以下の処理を実行する。例えば、連動論理部2Bは、制御範囲情報送信処理701Bと、制御範囲情報受信処理702Bを実行した後、判定論理を実施(703B)する。この後、連動論理部2Bが停止した場合、連動論理部2Bは、停止中となって、他の連動論理部2A、2Cと情報の送受信を行うことができない。
連動論理部2Cは、連動論理部2Aと連動論理部2Bを情報の送信先又は送信元として、以下の処理を実行する。例えば、連動論理部2Cは、制御範囲情報送信処理701Cと、制御範囲情報受信処理702Cを実行した後、判定論理を実施(703C)し、その後、制御範囲情報送信処理704Cと、制御範囲情報受信処理705Cを実行した後、判定論理を実施(706C)し、続いて、制御範囲情報送信処理707Cと、制御範囲情報受信処理708Cを実行した後、判定論理を実施(709C)し、さらに、制御範囲情報送信処理710Cと、制御範囲情報受信処理711Cを実行した後、判定論理を実施(712C)する。
この際、連動論理部2Aは、制御範囲情報送信処理701Aから判定論理を実施(709A)するまで、通常時論理8Aで動作するが、連動論理部2Bが停止中となった場合、連動論理部2Bからの情報(制御範囲情報)が得られないので、判定論理を実施(709A)した後、制御範囲情報送信処理710Aと、制御範囲情報受信処理711Aを実行した後、判定論理を実施(712A)する場合、B駅停止時論理9Aで動作する。連動論理部2Aは、図8に示すA駅連動論理部制御範囲582Aに属する機器を制御対象として動作する。
連動論理部2Cは、制御範囲情報送信処理701Cから判定論理を実施(709C)するまで、通常時論理8Cで動作するが、連動論理部2Bが停止中となった場合、連動論理部2Bからの情報が得られないので、判定論理を実施(709C)した後、制御範囲情報送信処理710Cと、制御範囲情報受信処理711Cを実行した後、判定論理を実施(712C)する場合、B駅停止時論理10Cで動作する。連動論理部2Cは、図8に示すC駅連動論理部制御範囲583Cに属する機器を制御対象として動作する。この場合、連動論理部2Aと連動論理部2Cは、連動論理部2Bから情報(制御範囲情報)を受信できなくなったことを条件に、連動論理部2Bを停止した連動論理部として管理する管理用連動論理部として機能し、相互に送受信された情報(制御範囲情報)を基に連動論理部2Bの制御対象であった機器に対する制御を分担して行うことになる。なお、連動論理部2Aと連動論理部2Cは、停止した連動論理部2Bが、停止した状態から回復し、回復した連動論理部2Bから情報(制御範囲情報)を受信した場合、停止した連動論理部2Bを回復した連動論理部として管理する。
図12は、連動論理部2Bが停止から回復した後に、各駅の連動論理部が通常論理に切り替る際のタイムチャートである。図12において、連動論理部2Aは、連動論理部2Bと連動論理部2Cを情報の送信先又は送信元として、以下の処理を実行する。例えば、連動論理部2Aは、制御範囲情報送信処理801Aと、制御範囲情報受信処理802Aを実行した後、判定論理を実施(803A)し、その後、制御範囲情報送信処理804Aと、制御範囲情報受信処理805Aを実行した後、判定論理を実施(806A)し、続いて、制御範囲情報送信処理807Aと、制御範囲情報受信処理808Aを実行した後、判定論理を実施(809A)し、さらに、制御範囲情報送信処理810Aと、制御範囲情報受信処理811Aを実行した後、判定論理を実施(812A)する。
連動論理部2Bは、停止から回復した場合、連動論理部2Aと連動論理部2Cを情報の送信先又は送信元として、以下の処理を実行する。例えば、連動論理部2Bは、判定論理を実施(801B)し、その後、制御範囲情報送信処理804Bと、制御範囲情報受信処理805Bを実行した後、判定論理を実施(806B)し、続いて、制御範囲情報送信処理807Bと、制御範囲情報受信処理808Bを実行した後、判定論理を実施(809B)し、さらに、制御範囲情報送信処理810Bと、制御範囲情報受信処理811Bを実行した後、判定論理を実施(812B)する。
連動論理部2Cは、連動論理部2Aと連動論理部2Bを情報の送信先又は送信元として、以下の処理を実行する。例えば、連動論理部2Cは、制御範囲情報送信処理801Cと、制御範囲情報受信処理802Cを実行した後、判定論理を実施(803C)し、その後、制御範囲情報送信処理804Cと、制御範囲情報受信処理805Cを実行した後、判定論理を実施(806C)し、続いて、制御範囲情報送信処理807Cと、制御範囲情報受信処理808Cを実行した後、判定論理を実施(809C)し、さらに、制御範囲情報送信処理810Cと、制御範囲情報受信処理811Cを実行した後、判定論理を実施(812C)する。
この際、連動論理部2Aは、制御範囲情報送信処理801Aから判定論理を実施(809A)するまで、B駅停止時論理9Aで動作するが、連動論理部2Bが回復したことに伴って、判定論理で通常時論理8Aを選択した場合、判定論理を実施(809A)した後、制御範囲情報送信処理810Aと、制御範囲情報受信処理811Aを実行し、判定論理を実施(812A)する場合、通常時論理8Aで動作する。
連動論理部2Bは、判定論理を実施(801B)から判定論理を実施(809B)までは、連動論理部2Aと連動論理部2Cから情報を受信していないので、待機論理11Bで動作するが、判定論理を実施(809B)から判定論理を実施(812B)までは、連動論理部2Aと連動論理部2Cからの情報を受信できるので、通常時論理8Bで動作する。即ち、停止していた連動論理部2Bが回復した際に、他の駅(A駅、C駅)の連動論理部2A、2Cが、B駅の現場機器6Bを制御している場合があり、他の駅(A駅、C駅)の連動論理部2A、2Cが、B駅の現場機器6Bを制御している状態で、回復した連動論理部2Bが、現場機器6Bの制御を行うと、現場機器6Bに対して2つの異なる制御が行われる可能性が有る。
現場機器6Bに対して2つの異なる制御が行われることで、現場機器6Bが危険側の動作となるのを防止するために、他の駅の論理部が制御を行っている現場機器6Bの制御範囲が不明な状態、および自身以外の連動論理部2A、2Cが、B駅の現場機器6Bを制御している状態では、連動論理部2Bは、現場機器6Bへの制御を行わず、待機論理11Bで動作することとしている。
連動論理部2Cは、制御範囲情報送信処理801Cから判定論理を実施(809C)するまで、B駅停止時論理10Cで動作するが、連動論理部2Bが回復したことに伴って、判定論理で通常時論理8Cを選択した場合、判定論理を実施(809C)した後、制御範囲情報送信処理810Cと、制御範囲情報受信処理811Cを実行し、判定論理を実施(812C)する場合、通常時論理8Cで動作する。
ここで、安全性を保ちながら列車運行を行うために、各連動論理部では、転てつ機などの駅設備を排他的に制御することが行われる。例えば、連動論理部2Bの停止時には、連動論理部2Aと連動論理部2Cは、連動論理部2Bを停止した連動論理部として管理する管理用連動論理部として機能し、転てつ機532を排他的制御対象として管理し、転てつ機532に対して排他的制御を行う。この際、連動論理部2Aと連動論理部2Cのうち片方の連動論理部が列車運行のために、転てつ機532の制御を行っている際に、他方の連動論理部が転てつ機532を制御すると、脱線等の危険側事象が発生するため、これを防ぐ必要がある。
そのために、連動論理部2Aと連動論理部2Cが、転てつ機532を制御対象として制御を行う場合、B駅停止時論理9Aで動作する連動論理部2AとB駅停止時論理10Cで動作する連動論理部2Cは、転てつ機532への制御の有無を示す情報を相互に周期的に送受信する。
片方の連動論理部は、列車運行のために転てつ機532の制御を行う必要が有る場合、転てつ機532の制御を行う前に、他方の連動論理部の転てつ機532への排他的制御の有無を確認する。例えば、他方の連動論理部が転てつ機532の制御および後述する仮予約を行っている場合、片方の連動論理部は、転てつ機532への制御は行わない。この場合、片方の連動論理部は、転てつ機532への制御および制御の実施を保留し、他方の連動論理部が転てつ機532の制御および仮予約を解除するまで待つ。
片方の連動論理部は、他方の連動論理部が転てつ機532の制御を行っていない場合、転てつ機532に対する制御の仮予約を行うと共に、転てつ機532への制御有無の情報と転てつ機532を仮予約したことを示す情報を他方の連動論理部へ送信し、仮予約を開始してから一定時間(一定期間)経過後に、転てつ機532に対する制御を実施する。
図13は、連動論理部2Aが転てつ機532の制御を行う際のタイムチャートである。この処理は、連動論理部2A、2Cが、ともに転てつ機532の制御を行っていないことを条件に開始される。図13において、連動論理部2Aは、転てつ機532への制御無しの動作として、現場機器制御有無情報送信処理901Aと、現場機器制御有無情報受信処理902Aを実行し、その後、転てつ機532を仮予約(903A)する。この際、連動論理部2Aは、現場機器制御有無情報送信処理901Aでは、A駅の現場機器の制御の有無に関する情報として、例えば、連動論理部2Aが転てつ機532を制御していないことを示す情報を連動論理部2Cに送信し、現場機器制御有無情報受信処理902Aでは、連動論理部2Cから、C駅の現場機器の制御の有無に関する情報を受信する。
次に、連動論理部2Aは、転てつ機532を仮予約中の動作として、現場機器制御有無情報送信処理904Aと、現場機器制御有無情報受信処理905Aを実行し、続いて、現場機器制御有無情報送信処理907Aと、現場機器制御有無情報受信処理908Aを実行し、その後、仮予約の開始から一定時間経過後に、転てつ機532への制御を開始(909A)する。連動論理部2Aは、現場機器制御有無情報送信処理904Aと現場機器制御有無情報送信処理907Aでは、連動論理部2Aが転てつ機532を仮予約中であることを示す情報を送信する。
次に、連動論理部2Aは、転てつ機532を制御中の動作として、現場機器制御有無情報送信処理910Aと、現場機器制御有無情報受信処理911Aを実行し、続いて、現場機器制御有無情報送信処理913Aと、現場機器制御有無情報受信処理914Aを実行し、その後、転てつ機532への制御を終了(915A)する。連動論理部2Aは、現場機器制御有無情報送信処理910Aと現場機器制御有無情報送信処理913Aでは、連動論理部2Aが転てつ機532を制御中であることを示す情報を送信する。
この後、連動論理部2Aは、転てつ機532への制御無しの動作として、現場機器制御有無情報送信処理916Aと、現場機器制御有無情報受信処理917Aを実行し、その後、現場機器制御有無情報送信処理と現場機器制御有無情報受信処理とを交互に実行する。連動論理部2Aは、現場機器制御有無情報送信処理916Aでは、連動論理部2Aが転てつ機532への制御していないことを示す情報を送信する。なお、連動論理部2Aは、現場機器制御有無情報送信処理904A、907A、910A、913A、916Aでは、A駅の現場機器の制御の有無に関する情報を連動論理部2Cに送信し、現場機器制御有無情報受信処理905A、908A、911A、914A、917Aでは、連動論理部2Cから、C駅の現場機器の制御の有無に関する情報を受信する。
一方、連動論理部2Cは、転てつ機532への制御無し動作として、現場機器制御有無情報送信処理901Cと、現場機器制御有無情報受信処理902Cを実行し、その後、同様に、現場機器制御有無情報送信処理904C、907C、910C、913C、916Cと、現場機器制御有無情報受信処理905C、908C、911C、914C、917Cとを交互に実行する。この際、連動論理部2Cは、現場機器制御有無情報送信処理901C、904C、907C、910C、913C、916Cでは、C駅の現場機器の制御の有無に関する情報を連動論理部2Aに送信し、現場機器制御有無情報受信処理902C、905C、908C、911C、914C、917Cでは、連動論理部2Aから、A駅の現場機器の制御の有無に関する情報を受信する。連動論理部2Cは、連動論理部2Aが転てつ機532に対する制御を仮予約したことを示す情報を受信する、現場機器制御有無情報受信処理905Cから現場機器制御有無情報受信処理917Cまでの間は少なくとも転てつ機532に対する制御を行わない。
なお、連動論理部2Aが停止した際には、連動論理部2Bと連動論理部2Cは、転てつ機530、531に対して、図13の処理と同様の制御を行う。
転てつ機532のように複数の連動論理部が1つの現場機器の制御を行う際に、複数の連動論理部が同時に現場機器の仮予約を行った場合、互いに他の連動論理部が当該の現場機器の仮予約を行ったことを検知するため、全ての連動論理部で当該現場機器への制御を行わないことになる。
そのため、本実施例では、連動論理部2A、2B、2Cの順に高い優先度を設定し、複数の連動論理部が同時に仮予約を行った場合に、最も優先度が高い連動論理部が現場機器の制御を行うこととする。
例えば、連動論理部2A、2Cが同時に転てつ機532の仮予約を行う場合には、連動論理部2Aが転てつ機532の制御を行い、連動論理部2Cは転てつ機532の制御を行わない。具体的には、連動論理部2Bが停止した際に、連動論理部2Aが、転てつ機532に対して排他的制御を行う前に、連動論理部2Cから仮予約したこと示す情報を受信した場合、連動論理部2Aは、予め設定された優先度が、連動論理部2Cよりも高いことを条件に、仮予約した後の処理として、転てつ機532に対して排他的制御を行う。
本実施例によれば、一部の連動論理部2Bが停止した際に、他の2以上の連動論理部2A、2Cが、停止した連動論理部2Bの制御対象であった現場機器に対する制御を分担して実施することができ、結果として、一部の連動論理部2Bが停止しても、連動論理部2Bが停止したB駅での列車運行を継続することができる。また、各駅に2駅分の制御情報(2駅分の現場機器を制御するための制御情報)を保存する必要がないので、コスト低減を図ることができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に記録して置くことができる。