(57)【特許請求の範囲】
【請求項１】
走行路の占有権情報を含む保安電文を、前記占有権情報が設定される１つ以上のブロックで構成される走行路に存在する列車間で順番に回覧させることにより前記保安電文を前記列車間で共有し、列車に前記走行路の各ブロックの占有権を設定する信号保安システムにおいて保安電文を生成する電文復旧装置であって、
前記保安電文には電文が更新された回数を示す電文更新番号を含み、
前記電文復旧装置は、前記保安電文の回覧に異常が検知されると、前記走行路に在線する列車へ各ブロックの占有権に関する情報を要求する情報を送信し、前記走行路に在線する列車から前記走行路の各ブロックの占有権に関する情報として当該列車が最後に受信または送信した保安電文の情報を受信し、当該受信した保安電文の情報のうち、電文更新番号が最も大きい保安電文の情報に基づいて新たな保安電文を生成して前記走行路に在線する列車へ送信することを特徴とする電文復旧装置。
【請求項２】
請求項１の電文復旧装置であって、
前記保安電文には新たな保安電文が生成された回数を示す電文発行番号を含み、
前記電文復旧装置は、新たな保安電文を発行すると、保安電文に含まれる電文発行番号を更新することを特徴とする電文復旧装置。
【請求項３】
請求項１〜２のいずれかの電文復旧装置であって、
前記保安電文は当該保安電文を回覧する列車を示すメンバーリストを含み、
前記電文復旧装置は、新たな保安電文を発行する際に、当該新たな保安電文に含まれるメンバーリストから異常が検知された列車を除外することを特徴とする電文復旧装置。
【請求項４】
請求項１〜２のいずれかの電文復旧装置であって、
前記電文復旧装置は保安電文を回覧する列車を示すメンバーリストを管理するメンバーリスト管理部を含み、
前記電文復旧装置は、新たな保安電文を発行する際に、前記メンバーリスト管理部により管理されるメンバーリストから異常が検知された列車を除外することを特徴とする電文復旧装置。
【請求項５】
請求項３または４の電文復旧装置であって、
前記電文復旧装置は、前記各ブロックの占有権に関する情報を要求する情報に対して所定時間応答が無かった列車、または前記各ブロックの占有権に関する情報を要求する情報を所定回数送信しても応答が無かった列車を異常が検知された列車とすることを特徴とする電文復旧装置。
【請求項６】
請求項４の電文復旧装置であって、
前記電文復旧装置は、前記保安電文により占有権が設定される走行路に隣接する他の走行路に在線する列車から、前記保安電文により占有権が設定される走行路へ進入する要求を受信した場合、または前記保安電文により占有権が設定される走行路に隣接する他の走行路に在線する列車が前記保安電文により占有権が設定される走行路へ進入することが予測された場合、前記メンバーリストへ当該列車を追加することを特徴とする電文復旧装置。
【請求項７】
走行路の占有権情報を含む保安電文を、前記占有権情報が設定される１つ以上のブロックで構成される走行路に存在する列車間で順番に回覧させることにより前記保安電文を前記列車間で共有し、列車に前記走行路の各ブロックの占有権を設定する信号保安システムであって、
請求項１〜６のいずれかの電文復旧装置を備えることを特徴とする信号保安システム。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野は、信号保安システムに関する。
【背景技術】
【０００２】
特許文献１には、信号保安システムに関して、「軌道回路装置は、レールを電気的に絶縁し、一端に電源を、反対側の一端にはリレーを接続して、列車によるレール間の短絡を検知する装置で、装置の維持保守費用が高い」（特許文献１［０００６］参照）こと等を課題とし、その解決手段として「予め決められた区間内を走行する列車の保安が電文に基づいて確保される信号保安システムにおいて、電文は、予め決められた区間内に存在する列車や沿線機器を巡回し、区間内が複数分割されたブロック１つ１つに列車の占有権が設定可能なブロック占有権情報を有する構成とする」（特許文献１［００１０］参照）こと等が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２３２１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の信号保安システムでは、装置の故障や無線通信の異常等、何らかの原因により電文が消失してしまった場合の処理について改善の余地がある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、走行路の占有権情報を含む保安電文を、占有権情報が設定される１つ以上のブロックで構成される走行路に存在する列車間で順番に回覧させることにより保安電文を列車間で共有し、列車に走行路の各ブロックの占有権を設定する信号保安システムにおいて保安電文を生成する電文復旧装置であって、保安電文には電文が更新された回数を示す電文更新番号を含み、保安電文の回覧に異常が検知されると、走行路に在線する列車へ各ブロックの占有権に関する情報を要求する情報を送信し、走行路に在線する列車から走行路の各ブロックの占有権に関する情報として当該列車が最後に受信または送信した保安電文の情報を受信し、受信した保安電文の情報のうち、電文更新番号が最も大きい保安電文の情報に基づいて新たな保安電文を生成して走行路に在線する列車へ送信することを特徴とする。
【発明の効果】
【０００６】
上記手段によれば、装置の故障や無線通信の異常等、何らかの原因により電文が消失してしまった場合でも、安全に信号保安システムを復旧させることが可能となる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００７】
【図１】実施例１における信号保安システムの構成を示す概念図。
【図２】実施例１における保安電文のフォーマットを示す図。
【図３】実施例１における信号保安システムの状態遷移を示す図。
【図４】実施例１における信号保安システムの振る舞いを示す図。
【図５】実施例１における信号保安システムの監視状態における振る舞いを示す図。
【図６】実施例１における信号保安システムの回復実行状態における振る舞いを示す図。
【図７】実施例１における列車制御演算部の状態遷移を示す図。
【図８】実施例１における列車制御演算部の監視状態の処理を示すフローチャート。
【図９】実施例１における列車制御演算部の待機状態の処理を示すフローチャート。
【図１０】実施例１における復旧装置の中央演算部の状態遷移を示す図。
【図１１】実施例１における復旧装置の中央演算部の復旧スタンバイ状態の処理を示すフローチャート。
【図１２】実施例１における復旧装置の中央演算部の復旧実行状態の処理を示すフローチャート。
【図１３】実施例１における信号保安システムが保安電文を再発行する場合のタイムチャート。
【図１４】実施例２における信号保安システムの構成を示す概念図。
【図１５】実施例２における保安電文のフォーマットを示す図。
【図１６】実施例２における復旧装置の中央演算部の状態遷移を示す図。
【図１７】実施例２における復旧装置の中央演算部の復旧スタンバイ状態の処理を示すフローチャート。
【図１８】実施例２における復旧装置の中央演算部の復旧実行状態の処理を示すフローチャート。
【発明を実施するための形態】
【０００８】
鉄道の信号保安システムにおいては、ある制御エリアに存在する列車や転てつ器の間で電文を回覧させ、その制御エリアを複数に分割したブロック毎の占有権、転てつ器の状態、転てつ器への転換指示などの情報を共有し、制御エリアにおける列車の間隔制御、排他制御、進路の構成制御を行うことが考案されている。
【０００９】
しかし、列車や転てつ器の間で回覧される電文が装置の故障や無線の異常によって消失してしまった場合、列車や転てつ器の間で共有されていたブロック占有権等の情報更新が出来なくなるため、システムは停止する。その際には、指令員や駅員がその区間内にいる列車位置を全て把握し、その現状を反映した電文を再発行する事でシステムを復旧させる事が考えられるが、これには人手や時間がかかるため稼働率が落ちる。
【００１０】
一方で、現状を把握せずに電文を再発行してしまうと、一つの保安電文によって実現されていた列車の間隔制御、排他制御、進路の構成制御が崩れてしまうおそれがある。
【００１１】
そこで、本実施例では、保安電文の回覧に異常が発生したことを検出すると、列車や転てつ器等のメンバー機器が保安電文に記載された保安情報を変更するのを停止させ、メンバー機器が記憶している保安情報を収集して新しい保安情報を構成し、それを記載した保安電文を新しく生成してメンバー機器の間で回覧させる。
【００１２】
以下、本発明の実施例を図面に基づいてさらに詳細に説明する。
【実施例１】
【００１３】
図１は本実施例の信号保安システムを示す図であり、対象とする線区（エリア）の線形と、そこに存在する機器およびその制御部分を含むシステム構成を示す概念図である。この線区には、転てつ器装置１０３、１０５、１０７による分岐を含む形で鉄軌道が敷設されている。鉄軌道は、ブロック１１８をはじめとする複数のブロックで構成される。各々のブロックが、列車一編成が排他的に進入できる基本単位（閉塞）として機能する。
【００１４】
図１においては、列車１０１が、この線区に在線している。この線区には、列車１０１に限らず複数の列車が在線し得るが、ここでは簡単のため、列車１０１のみ在線する状況を説明する。他の列車が進入する場合、進入する他の列車と衝突しないように、列車１０１が本線区上を走行する際には、列車１０１が進入している／しようとするブロックが排他的に占有されていることと、また、走行する経路に存在する分岐を制御する転てつ器が正しい方向に転換、固定（鎖錠）されていることとが、安全のために保証されねばならない。
【００１５】
これを保証する目的で、本実施例の信号保安システムは、線区に存在する車両や転てつ器を特定する情報を登録したメンバーリストと、ブロック占有権や転てつ器の転換方向、鎖錠状態とを含む保安に係る情報（以下、これらをまとめて「保安情報」と称する）を記載した保安電文１０９と、列車１０１に備えられた列車制御演算部１０２と、転てつ器装置１０３、１０５、１０７にそれぞれ備えられた転てつ器制御演算部１０４、１０６、１０８とを備え、保安電文１０９を、列車制御演算部１０２と、転てつ器制御演算部１０４、１０６、１０８との間で回覧させて共有させている。
【００１６】
電文の回覧を利用した信号保安システムは、列車や転てつ器間で電文を回覧し、列車に搭載された列車制御演算部が回覧する電文の情報を更新することによって、走行を企図する進路上の占有権を確保し、転てつ器へ転換方向を指示する仕組みである。
【００１７】
電文が回覧される所定の区間は複数のブロックに分割されており、電文には複数のブロックそれぞれ対して占有権が設定された列車の識別情報が記入されている。占有権が設定される列車は各ブロックに対して１台のみであり、ブロックの占有権が設定された列車のみがそのブロックを走行することを許可される。電文には転てつ器の方向を指示する情報を含むように構成することも可能であり、転てつ器は、受け取った電文の情報に基づいて方向を制御する。また、電文にはその電文を回覧すべき列車や転てつ器を示すメンバーリストを含むように構成することも可能である。電文を受信した列車や転てつ器は受信した電文のメンバーリストに基づいて電文を送信する列車や転てつ器を特定する。
【００１８】
あるブロックを走行しようとする列車は、電文を受信するとそのブロックの占有権を自列車に設定するよう電文を更新し、次の列車、あるいは転てつ器に更新した電文を送信する。但し、受信した電文においてそのブロックの占有権が既に他の列車に設定されている場合、自列車に占有権を設定するよう電文の更新することができず、他の列車に設定されたそのブロックの占有権が解除されるまでそのブロックを走行することはできない。
【００１９】
ブロックの占有権が設定された列車は、そのブロックを通過した後に電文を受信すると、自列車に設定されたそのブロックの占有権を解除するように電文を更新し、次の列車、あるいは転てつ器に更新した電文を送信する。
【００２０】
上記の方法により、電文の回覧を利用した保安が実現される。なお、この方法により保安を実現する仕組みのより詳細な説明については、特許文献１に記載されている。
【００２１】
また、本実施例ではメンバーリストが保安電文に含まれる構成としたが、他の方法によってメンバーリストを管理してもよい。
【００２２】
以降の説明では、本実施例のエリア内において保安電文１０９を用いた信号保安制御の対象となる装置の制御部、すなわち列車制御演算部１０２及び転てつ器制御演算部１０４、１０６、１０８をまとめて「メンバー機器」と表現する。その全てか、いずれかを特別に区別する必要があるときは、その都度指定するものとする。
【００２３】
列車制御演算部１０２は、電文の回覧を利用した保安のための基本的な仕組みを実現するための処理を行う電文処理部１１９に加え、後述する電文監視部１１３の処理を実現するソフトウェア・プログラムを実行する。このため、列車制御演算部１０２は、CPUとメモリをはじめとする、ソフトウェア・プログラムを実行するために一般的に必要とされる素子や装置で構成される。
【００２４】
電文監視部１１３は、保安電文１０９が規定時間経っても回覧されて来ないという事象や、受信した保安電文１０９のデータが壊れているという事象や、保安電文１０９を次に送信できないという事象を確認することで保安電文１０９の回覧が続けられなくなっていないかどうか確認し、このような事象の発生を検出したとき、後述する復旧装置１１０へと、その事を通知する。この通知は、後述する通り「回復要求」という通信情報の形で行われる。
【００２５】
転てつ器制御演算部１０４、１０６、１０８も、列車制御演算部１０２と同様の構成を有する。すなわち、電文監視部１１３と同様の処理を備えている。以下、この処理の説明に当たっては、電文監視部１１３の処理を行うメンバー機器を特定する必要のない限り、単に電文監視部１１３と記す。
【００２６】
本実施例の信号保安システムは、復旧装置１１０を備える。復旧装置１１０は、メンバー機器とは異なる装置であり、保安電文１０９が正常に回覧できなくなったときに、新たな保安電文を発行する。復旧装置１１０はメンバー機器との無線通信機能を備えた通信制御部１１２を備え、これを介してメンバー機器のそれぞれとの間で、データを送受信できる。
【００２７】
尚、メンバー機器の側にも、復旧装置１１０と通信するための無線通信手段が備わっている。この手段は特に特定しないが、例えば、保安電文１０９を回覧するため無線通信手段と兼用すれば、通信のための機器が少なくて済む。復旧装置１１０とメンバー機器との間の通信に用いるプロトコルは、特に限定しない。例えば、鉄道の無線列車制御システム(CBTC)で用いられるものであれば、比較的高信頼な稼働実績がある。あるいは、適用に十分なだけの通信品質が確保されるのであれば、汎用無線を利用しても良く、このときは通信のための特別なリソースを割り当てる必要が、比較的少なく済む。
【００２８】
ここで、復旧装置１１０の設置位置は特に限定されない。通信制御部１１２が通信品質を確保できる環境に設置したり、設置場所の通信環境を後から改善し易い場所に設置したりすれば、通信エラー・リトライの回数を減らせると期待でき、以降で説明するような通信を利用しながら保安電文を再発行する一連の処理が、短時間で高信頼に実施できると期待できる。
【００２９】
また、復旧装置１１０を指令室に設置すれば、指令員や技術員からのアクセスが比較的容易になり、装置故障時の復旧対応を短時間で実施できると期待される。また、運行管理装置などの既存の沿線装置に兼用させるならば、新たな装置を設置する必要が無く、物理的に導入が容易である。
【００３０】
復旧装置１１０は、中央演算部１１１を備える。中央演算部１１１は、後述する情報収集部１１５、故障特定部１１６、電文作成部１１７の処理を含む本実施例の復旧装置１１０の処理を実現するソフトウェア・プログラムを実行する。このため、中央演算部１１１は、CPUとメモリをはじめとする、ソフトウェア・プログラムを実行するために一般的に必要とされる素子や装置で構成される。
【００３１】
ここで、中央演算部１１１について、そのアーキテクチャを説明する。
【００３２】
一般的に、旅客鉄道の信号保安システムは、人命に関わるセーフティ・クリティカルなシステムであるため、その演算部には、たとえ素子の偶発的故障が起こっても、システムを安全な状態に保持するための制御を失わないような特別なアーキテクチャを備えた、セーフティ・コンピュータが用いられる。
【００３３】
中央演算部１１１は、具体的な方法は後述するが、復旧装置１１０の目的でもある保安電文の再発行を行うことから、メンバー機器に用いられるものと同等のセーフティ・コンピュータを用いることが望ましい。なぜなら、中央演算部１１１が、例えば既に列車が在線するブロックの占有権情報が「空き」になっているなど、不正な保安情報を記載した保安電文を発行してしまっては、その保安電文に基づいて保安制御をするメンバー機器の側では、当該ブロックでの列車衝突の危険性を排除することができないためである。
【００３４】
また、一般的に、信号保安システムの制御装置は、めざす稼働率を確保するために、冗長構成を採用していることがある。中央演算部１１１にこの必要性を考えたとき、もちろん冗長構成を採用しても良いが、しかし、メンバー機器の制御装置と同様のハードウェアを用いる場合、メンバー機器の制御装置を冗長化することに比べると、稼働率向上の効果は小さい。なぜなら、中央演算部１１１は、後述するように、保安電文１０９に異常が検出されてから復旧するまでの間に処理動作をすべき演算部であって、保安電文１０９が正常（平常動作）の間は、たとえ故障しても、信号保安システムの通常動作に影響を与えないからである。
【００３５】
したがって、例えば、中央演算部１１１はシングル系（冗長化されていない系）としておいて、それが平常動作中に故障しても、そのまま平常動作のうちに修理なり取り替えを済ませてしまうという装置構成と運用が、信号保安システムの稼働率を損なうことなく可能である。このような中で、上に例示した通り、復旧装置１１０が指令員や技術員からのアクセスが容易な、例えば指令室にある時、さらに、これが自己故障診断と故障通知の機能を備えていれば、通知を受けた技術員が、平常動作中に中央演算部１１１の修理・換装を完了できる可能性は、益々高まる。
【００３６】
中央演算部１１１の説明に戻る。中央演算部１１１は、前述した通り、そのソフトウェア・プログラムに、情報収集部１１５、故障特定部１１６、電文作成部１１７を含む。以下、これらについて説明する。
【００３７】
情報収集部１１５は、メンバー機器のいずれかから回復要求を受けた時、メンバー機器の全てに対して、それらが記憶している保安情報を送信する要求（待機要求）を送り、その保安情報を取得する。ここで、回復要求とは、前述の電文監視部１１３の説明にある通り、電文監視部１１３が保安電文に関わる異常事象を検出したときに、そのことを復旧装置１１０へ通知する通信情報である。また、メンバー機器の各々は、最後に処理した保安電文に含まれる保安情報を、記憶領域に格納するものとしている。
【００３８】
故障特定部１１６は、メンバー機器のうち先述した待機要求への応答を得られないものを、故障と特定する。この故障の情報は，後述の電文作成部１１７において、故障した機器を、新しい保安電文のメンバーリストから外すために利用する目的で得るものである。故障の特定は、例えば待機要求への応答が所定時間経っても得られないメンバー機器、あるいは所定回数待機要求を送っても応答が得られないメンバー機器を故障した機器と特定するようにすればよい。
【００３９】
電文作成部１１７は、情報収集部１１５と故障特定部１１６の後に行われる処理であり、情報収集部１１５で取得した保安情報を用いて新しい保安情報を構成し、これを記載した新規保安電文を作成して、新しい保安情報に含まれたメンバーリストの機器の間で回覧できるように、そのいずれか一つへ送信発行する処理である。
【００４０】
ここで、新しい保安情報に含まれたメンバーリストは、メンバー機器から、故障特定部１１６で故障と特定したものを除いて構成される。故障と特定した機器を含んでメンバーリストを構成しても、保安電文を再発行することは可能であるが、しかし、故障と特定した機器のところで保安電文の回覧が再び滞り、信号保安システムとしての稼働率が低下することが、故障の仕方によっては起こり得る。これに対して、故障と特定した機器をメンバーリストから外すことで、このような稼働率の低下が抑止されると期待できる。
【００４１】
保安電文１０９のフォーマットについて、図２を用いて説明する。図２は保安電文１０９に記載された情報の構成例を示している。尚、以降で一例として示すエリア番号、メンバーの識別情報、ブロックの識別情報、転てつ器方向指示と転てつ器状態情報等、保安電文１０９に記載の情報の具体的な値について、それが図１の構成の中のどこに対応しているのかは明示しない。
【００４２】
エリア識別情報２０１には、保安電文１０９によって管理されるエリアを識別するID番号が記される。
【００４３】
メンバーリスト２０２には、保安電文１０９の回覧に加わる機器を特定する情報と、回覧の順番が記載される。
【００４４】
ブロック占有権情報２０３には、エリアの線区を構成するブロックそれぞれの識別情報と、各ブロックの占有権情報が記される。図２の構成例では、エリア２に少なくともブロック１〜６が存在しており、ブロック１とブロック２は占有されておらず、ブロック３からブロック６は列車Ａによって占有されていることが示されている。
【００４５】
転てつ器方向指示２０４には、エリア内の転てつ器のそれぞれへの転換方向を指示する情報が記される。図２の構成例では、全て定位に転換するように指示されている。他にも、これと対になる位置である反位へ、転換を指示することもできる。
【００４６】
転てつ器状態情報２０５には、エリア内の転てつ器のそれぞれがどの方向に固定されているかを示す情報が記される。図２の構成例では、全て定位方向に固定（鎖錠）していることが分かる。他にも、これと対になる反位方向への鎖錠や、そのどちらでもない状態（ブラ）を、状態として取ることもできる。
【００４７】
以上、２０１〜２０５の情報は、上述した保安電文を回覧させて信号保安を実現する方法に用いられる。
【００４８】
本実施例では、これらの情報に加え、保安電文１０９に電文発行番号２０６と、電文更新番号２０７を有する。
【００４９】
電文発行番号２０６に記載の値は、図１で説明した復旧装置１１０から保安電文が再発行される度にインクリメントされる。列車や転てつ器の機器が保安電文を受信したときに、この値がこれまで回覧していた保安電文の値よりも増加していれば、そちらの方を新しい保安電文として識別できる。また、受信した保安電文の電文発行番号の値が、これまで回覧していた保安電文の電文発行番号の値よりも少ない場合は、既に古い保安電文と識別して、それを棄却するのに利用できる。
【００５０】
電文更新番号２０７に記載の値は、保安電文が機器間で回覧される都度インクリメントされる値である。この値から、電文発行番号２０６に記載の値と組み合わせて、ある保安電文が何回回覧されたかを知ることができる。
【００５１】
本実施例に係る信号保安システムの基本動作を図３を用いて説明する。図３では、システムの動作を監視状態３０２と回復実行状態３０３の２つの状態間の遷移で記している。尚、図３では、個別のメンバー機器や復旧装置の状態遷移とは区別している点に注意されたい。これら各々の状態は後述する。
【００５２】
開始点３０１において保安電文の回覧による信号保安が開始されると、まずは監視状態３０２に移行する。
【００５３】
監視状態３０２は、保安電文１０９の健全性を監視している状態である。保安電文１０９の異常を検出しないうち（つまり正常に回覧されているうち）は、本状態を維持する。保安電文１０９の異常を検出すると、後述の回復実行状態３０３に移行する。
【００５４】
ここで、本実施例では、保安電文の異常を、保安電文の回覧が途中で止まるような状況として規定する。これは、後述する通り、保安電文を回覧するための通信がタイムアウトしたことをもって検出できる。尚、保安電文が異常であるとする状態の種類はこれに限らず、その異常を検出する方法もこれに限らない。例えば、保安電文の中にチェックコードが付されているとき、チェックコードとデータとの不整合が検出された場合に異常とすることができる。
【００５５】
回復実行状態３０３は、復旧装置１１０によって新しい保安電文が発行されるまでの一連の処理を実行している最中の状態である。この一連の処理の中身については後述する。保安電文の再発行を完了したときに、監視状態３０２へと移行する。
【００５６】
以上より、本実施例の信号保安システムは、保安電文１０９の健全性の状況に関する２つの状態３０２と３０３を行き来することを示した。
【００５７】
回復状態３０３において実施される一連の処理の概要を図４を用いて説明する。開始点４０１は、処理の開始点を指す。続いて処理４０３と処理４０４に移る。これらは、処理の順序についての制約は不要で、両方を完了した後に処理４０５へ移れば良い。尚、後に図１２で示す通り、本実施例では実装の都合上、処理４０４が処理４０５の直前に実行される例を示す。
【００５８】
処理４０４は、メンバー機器のうち、故障している機器を特定する処理である。故障機器の情報は、後の処理４０５で新しい保安電文を生成する際に、その回覧先（メンバーリスト）を決定するために用いられる。本実施例では、この処理で、通信が不能な状態を故障として検出する。通信が不能な状態では、そもそも保安電文を回覧できず、本実施例の信号保安システムの制御に参加できない。したがって、処理４０５では、新しい保安電文の回覧先から故障機器を除外するように設定し、残りの機器で保安電文が健全に回覧できるようにしたいからである。
【００５９】
なお、ここで検出する故障は、通信の不能に限定されない。例えば、自走不能な故障が生じたような列車は、通信が可能でエリア内の新しい進路を確保できたところで、他のメンバー機器が新しい進路を確保するのを妨げるだけである。したがって、自走不能というような種類の故障も、ここでの検出対象に含んでもよい。そのような場合は、待機指令への応答として、故障情報も含めで伝送すればよい。
【００６０】
処理４０３は、メンバー機器に回覧していた保安電文を無効化させ、記憶している保安情報を復旧装置に集めさせる処理である。本処理は、後の新しい保安電文を作成する処理４０５に保安情報をインプットする。
【００６１】
このとき、単にいずれか一つのメンバー機器が記憶している保安情報を持って来て処理４０５にインプットすれば良いわけではなく、原則全てのメンバー機器の持っている保安情報の中から、保安を実現できる情報を選別する必要がある。なぜなら、メンバー機器間では保安電文を回覧しながら保安情報を共有するという性質上、それぞれのメンバー機器がある時点で記憶している保安情報は、必ずしも一致しないからである。このためには、例えば、図２を用いて説明した保安電文のフォーマットにある電文更新番号２０７を参照して番号が最も大きい保安電文（すなわち最新の保安電文）の保安情報を採用するという方法が可能である。
【００６２】
あるいは、全てのメンバー機器から改めて今の状態（転てつ器なら鎖錠状態の情報、列車なら占有しているブロックの情報）を収集し直しても良い。保安情報の足りないところは、その足りない情報に安全側が定義できるのであれば、ひとまずその情報を採用しても良い。例えば転てつ器状態は、正位・反位のどちらかに鎖錠されていない限りはその転てつ器を含む進路を確保できず列車がそこへ進入できないため、ブラが安全側である。
【００６３】
処理４０５は、上記で取得した保安情報を記載した新しい保安電文を作成し、メンバー機器のいずれかに送信して新しく回覧させる処理である。このとき、処理４０４で特定した故障機器は、新しいメンバーリストから除く。この処理は、処理の終了点４０６へ続く。
【００６４】
以上が本実施例の信号保安システムにおいて保安電文を再発行するための処理の概要である。以下ではこれを実現するためのメンバー機器、復旧装置の中央演算部１１１（以下、単に「復旧装置」と呼ぶ）それぞれの処理を区別しながら説明する。まず、図５、図６を用いてそれぞれの処理要求を示す。図５は、図３を用いて説明した信号保安システムの状態のうち、監視状態３０２の処理の中身を、メンバー機器と復旧装置それぞれを区別しながら記したものである。尚、メンバー機器は複数あるが、以下で説明する処理５０１〜５０７は、そのそれぞれで実施される。このうち処理５０７は、復旧装置１１０へ信号（回復要求）を送信する処理である。監視状態３０２の一連の処理は復旧装置１１０の処理５０８においてメンバー機器からの信号（回復要求）を受信した後に終了点５０９へ至り終了するが、これはいずれのメンバー機器からの信号（回復要求）でも良い。
【００６５】
監視状態３０２の開始点５０１には、処理５０３が続く。処理５０３は、保安電文の受信を確認する処理である。「受信あり」の場合、処理５０５へ続く。ここで、保安電文の受信があったとしても、図２の電文発行番号２０６に関して既に説明した通り、その保安電文が古い保安電文だと識別されれば、それを棄却して、ここでいう「受信あり」とは扱わない。「受信あり」でなければ、処理５０６へ続く。
【００６６】
処理５０５は、保安電文を用いた保安制御と保安電文の回覧を行う処理である。この処理は、図１の電文処理部１１９にあたる。処理５０５の後、保安電文が再び回覧されてくるのを待つため、処理５０３へ戻る。
【００６７】
処理５０６は、保安電文の受信がない状態が規定の時間を越えたかどうか（タイムアウト）を判定する処理である。まだ規定の時間を越えていない場合（タイムアウト未発生の場合）は、処理５０３へ戻る。規定の時間を越えている場合は、処理５０７へ移る。
【００６８】
処理５０７は、前述した通り、復旧装置１１０へ信号（回復要求）を送信する処理である。本実施例では、このとき、復旧装置に全てのメンバー機器を知らせる目的で、メンバーリストを添えて送信する。
【００６９】
復旧装置１１０の処理５０８は、処理５０７で送信された回復要求を受信する処理である。受信後、終了点５０９へ至り、図３における監視状態３０２から回復実行状態３０３へ遷移する。
【００７０】
尚、処理５０３、５０６で成る一連の処理は、図１の電文監視部１１３の処理に相当する。
【００７１】
続いて図６を説明する。図６は、図３を用いて説明した信号保安システムの状態のうち、回復実行状態３０３の処理の中身を、メンバー機器と復旧装置それぞれを区別しながら記したものである。回復実行状態３０３の開始点６０１は、図５で示した監視状態の終了点５０９から続いている。
【００７２】
回復実行状態３０３の開始点６０１は、処理６０４へ続く。処理６０４は、全てのメンバー機器に向かって、保安情報を通知させる指令（待機指令）を送信する。
【００７３】
メンバー機器の処理６０５は、待機指令を受信し、処理６０６へ続く。処理６０６は、これまで回覧していた保安電文を、以降は受け付けないようにする処理である。具体的には、受け付ける電文発行番号（図２の２０６参照）の値（最新発行番号）をインクリメントする方法が考えられる。このとき、保安電文を受け取る度にその電文発行番号を最新発行番号と比較し、電文発行番号が最新発行番号よりも小さければその保安電文を棄却するようにすることで、これまで回覧していた保安電文を再び受け付けることがないようにできる。本処理は、処理６０７へと続く。
【００７４】
処理６０７は、待機指令への応答として、記憶している保安情報を復旧装置に対して送信する処理である。
【００７５】
復旧装置の処理６０８は、メンバー機器から保安情報を受信する処理である。ここでは原則、複数あるメンバー機器の全てから保安情報を受信し、それら複数の保安情報を、続く６０９へ渡す。いずれかのメンバー機器が故障している場合などには、全てのメンバー機器から保安情報を受信することは期待できないので、実際にはタイムアウト時間を設けたり、メンバー機器同士で故障している機器を検出できる場合はその情報を得て故障機器を除外したりするなど、本処理を終了する条件を設ける。その後、複数の保安情報から一つの保安情報を構築する処理６０９と、待機指示への応答が無かった装置を故障機器として登録する処理６１０を実行する。これらの処理６０９、６１０の順序は、どちらが先行しても構わない。両方が完了したときに、処理６１１へ移る。
【００７６】
尚、待機指令を送信してから保安情報を収集して構成するまでの処理６０４、６０８、６０９は図１で示した情報収集部１１５の処理に相当する。処理６１０はそれぞれ、図１で示した情報収集部１１５、故障特定部１１６の処理に相当する。
【００７７】
処理６１１は、処理６０９と６１０で得た情報から新しい保安電文を作成する処理である。そのフォーマットは図２に示される。このとき、電文発行番号２０６には、先述の処理６０６で定めた最新発行番号と整合がとれる値（インクリメントされた値）を設定する。また、電文更新番号は初期値（例えば０）にしておく。メンバーリスト２０２は、処理６１０で特定した故障機器を除いて構成する。
【００７８】
処理６１２は、処理６１１で作成した新しい保安電文を、そのメンバーリストにあるメンバー機器のいずれかへ送信する処理である。この時の送信先は、２つ以上の送信先へ送信しないようにさえすれば、いずれでもよい。ここで、処理６１１、６１２は、図１で示した電文作成部１１７に相当する。
【００７９】
処理６１２の後、終了点６１３に移り、監視状態３０２へと再び遷移する。すなわち、図５の開始点５０１へ続くことになる。
【００８０】
以上、図５、図６を用いて、メンバー機器と復旧装置それぞれの処理要求を示した。続いて図７〜図１２を用いて、それぞれの処理要求がどのように実装されるかを示す。図７〜図９はメンバー機器の処理、図１０〜図１２は復旧装置の処理について記述する。
【００８１】
図７は、保安電文の復旧手段に係る、各メンバー機器の状態を定義するものである。２つの状態７０２、７０３があり、それぞれ監視状態、待機状態と呼ぶ。開始点７０１において保安電文の回覧による信号保安が開始されると、まずは監視状態７０２に移行する。
【００８２】
監視状態７０２は、復旧装置１１０からの待機指令を受信したとき、待機応答を返して待機状態７０３へ移る。待機状態７０３は、復旧装置１１０が再発行した保安電文（新規保安電文）を受信したときに、監視状態７０２へ移る。すなわち、メンバー機器においては、監視状態７０２と待機状態７０３が繰り返されることになる。
【００８３】
図８は、監視状態７０２で実行される処理を示したフローチャートである。このフローチャートの処理は、繰り返し実行される。すなわち、開始処理８０１から始まり終了処理８０９へ至ると、再び開始処理８０１から処理が始められる。但し、途中で待機状態へ遷移する条件が成立した場合は、終了処理８０９の後、後述する待機状態の処理フローへと移行する。
【００８４】
本処理フローで開始処理８０１から処理が繰り返し実行されるタイミングは、実装上の事項であり、周期的であっても、あるいは終了処理８０９へ到達してから一定時間後であっても良い。本実施例では便宜上、後者を前提とする。すなわち、一連の処理フローが中断されることは無いものとして考える。
【００８５】
開始点８０１に続く処理８０２は、待機指令を受信したかどうかの判定処理である。待機指令は、図６の処理６０４の説明で前記した通り、復旧装置から送信されて来る、メンバー機器に記憶している保安情報を通知させることを目的とした指令である。これを受信したときは処理８０３へ、受信していないときは処理８０４へ移る。尚、処理８０３へ移る際には、後で処理８０７のところで説明するタイムアウトカウンタをリセットする。
【００８６】
処理８０３は、待機指令を受信したときに実行する処理であり、記憶している受け入れるべき保安電文の発行番号（最新発行番号）をインクリメントし、保安情報を復旧装置へ送信した後、待機状態へと移行する。本フローチャートでは、ここで送信した保安情報が復旧装置へ届いたかどうかを確認する処理を明記していないが、より確実を図るために、復旧装置からの確認応答（以下、ＡＣＫと記す）を待ち、確認が得られない場合は再送し続けるなどの処理を、追加しても良い。待機モードへ遷移した後、終了処理８０９へ移る。すなわち、後述するところの待機状態のフローチャートへ移ることになる。
【００８７】
処理８０４は、保安電文を受信したかどうかを判定する処理である。保安電文を受信した場合は処理８０５へ、受信していない場合は処理８０７へ移る。ここで、図５の処理５０３の説明においては、受信した保安電文が古い場合は「受信あり」としないようにしたが、ここでは異なり、受信した保安電文が古いかどうかは区別なく、受信あり／なしを判定する。保安電文が古いかどうかの判定は、あらためて処理８０５として具体的に記しているためである。
【００８８】
処理８０５は、処理８０４で保安電文を受信したときに移る処理であり、その受信した保安電文が古いかどうかを判定する処理である。具体的には、受信した保安電文の電文発行番号（図２の２０６を参照）が、現在記憶している最新発行番号よりも大きいか、または等しいとき、これを真として判定する。
【００８９】
判定結果が真であれば、処理８０６へ移る。このとき、後に処理８０７で説明するタイムアウトカウンタをリセットする。判定結果が真でない（偽）のときは、この保安電文を破棄して、処理８０７へ移る。保安電文を破棄する理由は、なぜなら、電文発行番号は、図６の処理６１１のところで説明したように、保安電文が発行される度にインクリメントされるという性質から、偽の条件が成り立つときは、どこかで回覧が滞留していた既に有効性を失った古い保安電文が回覧されてきたと考えられるためである。尚、電文発行番号が最新発行番号よりも大きい場合には、真を判定すると同時に、記憶している最新発行番号を、その電文発行番号へと更新する。
【００９０】
処理８０６は、保安電文の制御や保安電文の回覧を行う処理である。これは、図１の電文処理部１１９や図５の処理５０５にあたるもので、保安電文の回覧に信号保安を実現するも処理である。この処理を終えた後、終了処理８０９へ移る。
【００９１】
処理８０７は、タイムアウトカウンタをインクリメントして、その値が「規定値」よりも大きいかどうかを判定する処理である。この判定の目的は、保安電文を前に回覧へ送信してから次に受信するまでの間に、規定の時間よりも長く経過していたとき、回覧の途中で保安電文が失われたと考え、これを検出することである。タイムアウトカウンタは、保安電文を受信・処理して次のメンバー機器に送信したとき、または一度タイムアウトが検出されたときにリセットされ、どちらでもなければ加算される。これと比較する「規定値」は、タイムアウトまでの長さを決める数値で、大きいほどタイムアウトまでの時間が長くなる。この値は、例えば、保安電文が一周回覧するために平均的に必要な時間にいくらか余裕分を加えて決めることができる。タイムアウトカウンタが「規定値」よりも大きいとき、すなわち、タイムアウトが検出されたときは、タイムアウトカウンタをリセットして、処理８０８へ移る。これ以外の時は、終了処理８０９へ移る。
【００９２】
ここで、「規定値」は保安電文が一周回覧するために通常考えられる時間を元に決められると説明したが、保安電文が一周回覧する時間はメンバー機器の数に依存する。メンバー機器がエリアにより多く存在する場合には、保安電文が一周回覧する平均的な時間は長くなるため、合わせて「規定値」もより大きくすることで、不要なタイムアウトが発生する事象を防止できる。エリアに存在するメンバー機器の数は刻々と変化するため、これに合わせて「規定値」を動的に変更しても良い。
【００９３】
処理８０８は、タイムアウトが検出されたときに行う処理であり、復旧装置へ保安電文の再発行を開始させるための回復要求を送信する。このとき、復旧装置へ、どの列車とどの転てつ器が現在メンバー機器として保安電文の回覧に関わっているかを知らせる目的で、メンバーリストも合わせて送信する。この処理の後、終了処理８０９へ移る。
【００９４】
以上が監視状態７０２の処理である。次に、図９を用いて、待機状態７０３の処理フローを説明する。
【００９５】
図９は、待機状態７０３の処理を示したフローチャートである。開始処理９０１から終了処理９０６に至るまでの処理が、状態の遷移が発生しない限り、繰り返される。
【００９６】
処理９０２は、開始処理９０１に続く処理であり、保安電文を受信したかどうかを判定する処理である。保安電文を受信した場合は処理９０３へ、受信していない場合は終了処理９０６へ続く。これは、図８の処理８０４のところで説明した処理と同様の処理である。
【００９７】
処理９０３は、受信した保安電文の電文発行番号（図２の２０６参照）が、記憶している最新の電文発行番号よりも大きい、または等しいときに真を判定する処理である。真であれば処理９０４へ、偽であれば終了処理９０６へ移る。この処理は、図８の処理８０５のところで説明した処理と同様の処理である。電文発行番号が最新発行番号よりも大きい場合には、真を判定すると同時に、記憶している最新発行番号を、その電文発行番号へと更新する。
【００９８】
処理９０４は、保安電文の制御と回覧を行う処理であり、図８の８０４と同様である。
【００９９】
処理９０５は処理９０４に続く処理であり、監視状態７０２へ遷移する処理である。この処理は終了処理９０６へ続き、すなわち既に説明した監視状態７０２のフローチャートの開始処理８０１へと続く。
【０１００】
以上、メンバー機器の２つの状態と、各状態の処理フローについて説明した。以降では、復旧装置の処理について説明する。
【０１０１】
図１０は、保安電文の復旧手段に係る、復旧装置の状態を定義するものである。２つの状態１００２、１００３があり、それぞれ復旧スタンバイ状態、復旧実行状態と呼ぶ。開始点１００１において保安電文の回覧による信号保安が開始されると、まずは復旧スタンバイ状態１００２に移行する。
【０１０２】
復旧スタンバイ状態１００２は、メンバー機器からの回復要求を受信したとき、復旧実行状態１００３へ移る。復旧実行状態１００３は、新規保安電文の発行を完了したときに、復旧スタンバイ状態１００２へ移る。すなわち、復旧装置においては、復旧スタンバイ状態１００２と復旧実行状態１００３が繰り返されることになる。
【０１０３】
図１１は、復旧スタンバイ状態１００２で実行される処理を示したフローチャートである。このフローチャートの処理は、繰り返し実行される。すなわち、開始処理１１０１から始まり終了処理１１０５へ至ると、再び開始処理１１０１から処理が始められる。但し、途中で復旧実行状態へ遷移する条件が成立した場合は、終了処理１１０５の後、後述する復旧実行状態の処理フローへと移行する。
【０１０４】
開始点１１０１に続く処理１１０２は、回復要求を受信したかどうかの判定処理である。回復要求は、図６の処理６０２の説明で前記した通り、メンバー機器から送信されて来る、保安電文の再発行手順に移行することを求めることを目的とした要求である。これを受信したときは処理１１０３へ、受信していないときは終了処理１１０５へ移る。
【０１０５】
処理１１０３では、回復要求と共に受信したメンバーリストを読み出し、記憶する処理である。この情報は、後述する復旧実行状態の処理の中で利用する。回復要求と共にメンバーリストが送られてくることは、図８の処理８０８の説明で既に記した通りである。
【０１０６】
処理１１０４は、処理１１０３に続く処理であり、復旧実行状態へ遷移する処理である。この処理は終了処理１１０５へ続き、すなわち後述する復旧実行状態の処理フローへと続く。
【０１０７】
以上が復旧スタンバイ状態１００２の処理である。次に、図１２を用いて、復旧実行状態１００３の処理フローを説明する。
【０１０８】
図１２は、復旧実行状態１００３の処理を示したフローチャートである。開始処理１２０１から終了処理１２０７に至るまでの処理が、状態の遷移が発生しない限り、繰り返される。
【０１０９】
処理１２０２は、開始処理１２０１に続く処理であり、待機指令をエリア内の全てのメンバー機器へブロードキャストする処理である。図８の処理８０２、８０３で説明した通り、待機指令を受信したメンバー機器は、保安情報を送信する。本処理ではこれを待ち、受信することも行う。
【０１１０】
全てのメンバー機器が保安情報を返して来たときには、続く処理１２０３へ移る。全てのメンバー機器から保安情報を受信できたかどうかは、復旧スタンバイ状態について説明した処理１１０３で取得したメンバーリストを利用して、知ることができる。ただし、メンバー機器の中のいずれかの機器で通信が恒久的に故障しているような場合を考えると、全てのメンバー機器が応答して保安情報を返してくるとは限らないので、ある程度の時間が経てば、無条件で次の処理１２０３へ移るような条件も合わせて持たせる。本処理では、後の処理で利用するために、待機指令を送信した回数も管理・記憶しておく。
【０１１１】
処理１２０３は、処理１２０２で送信した待機指令に対して、全ての機器から待機指令への応答を得られたかどうかを判定する処理である。全ての機器から得られていなければ処理１２０４へ、得られていれば処理１２０６へ移る。
【０１１２】
処理１２０４は、前述した待機指令送信回数の管理・記憶された値が「規定回数」を越えたかどうかを判定する処理である。越えていれば処理１２０５へ、越えていなければ処理１２０７へ移る。越えていない場合に処理１２０７へ移った後は、再び開始処理１２０１の実行へと移ることから、再び処理１２０２で待機指令をブロードキャストすることになる。
【０１１３】
ここで「規定回数」は、ノイズ等の偶発的な要因で復旧装置へ待機指令への応答を送達できなかったメンバー機器へ、再送の機会を与えるために設けたものである。大きくするほど、何度も再送を試みさせるため、保安電文の再発行までに時間がかかる。逆に小さ過ぎると、偶発的な要因で待機指令への応答を送達できなかったメンバー機器が即、故障と判定され、後述するように、再発行された保安電文のメンバーリストから除かれることになる。本実施例ではこの値を１、すなわち一回だけ再送を試みることとするが、１以外の値を用いてもよい。
【０１１４】
処理１２０５は、待機指令送信回数が「規定回数」を越えたときに実行される処理であり、結局待機指令への応答が得られなかったメンバー機器を、故障機器として登録する処理である。この処理は、処理１２０６へ続く。
【０１１５】
処理１２０６は、処理１２０２で取得した保安情報と、必要によっては処理１２０５で特定された故障機器の登録情報から、新規保安電文を作成し、再発行する処理である。保安情報は、複数のメンバー機器から複数得られているので、図４の処理４０３の説明で記した一例のように、電文更新番号（図２の２０７参照）が最も大きいものを選定して決めることができる。また、後で図１３の説明で述べるように、決めることができない情報がある場合、安全側の情報を仮に記載しておくこともできる。
【０１１６】
こうして決めた保安情報と、故障機器に登録されたメンバー機器を除いた新しいメンバーリストとを用いて、新しい保安電文を作成する。図６の処理６１１のところで説明したように、このとき、保安電文のフォーマットは図２で説明したものに従い、電文発行番号２０６には、先述のメンバー機器側の処理８０５、９０３での判定処理に利用できるように、インクリメントされた値を設定する。また、電文更新番号２０７は初期値（例えば０）にしておく。このようにして作成した新規保安電文を、そのメンバーリストのいずれかの機器に送信する。ここでの送信先は、２つ以上の機器に送信しない条件で、メンバーリストのどの機器でも良い。以上が完了したとき、復旧スタンバイ状態へ移行し、終了処理１２０７へ移る。
【０１１７】
以上、復旧装置の２つの状態と、各状態の処理フローについて説明した。続いて図１３を用いて、保安電文が回覧できなくなったときのシステムの振る舞いの一例を説明する。
【０１１８】
図１３は、保安電文の復旧処理の一例を示すシーケンス図である。図の最上部に、保安電文の復旧に関わる演算部として、左から復旧装置の中央演算部１１１、列車制御演算装置１０２、転てつ器制御演算装置１０４、１０６、１０８が並ぶ。各部の処理シーケンスは、上から下に向かって発展する。説明の便利のため、図の最左部に、上から下へ向かって進む時間軸と共に、ｔ１〜ｔ７の具体的な時刻を示した。また、中央演算部１１１と、メンバー機器を代表して転てつ器制御演算部１０８について、シーケンスの脇に、その時点での状態名を記している。以下、シーケンスを順に追っていく。
【０１１９】
時刻ｔ１において列車制御演算部１０２から送信された保安電文は、次々と転てつ器制御演算部１０４、１０６、１０８、そして再び１０２へと回覧されて行く。このとき、中央演算部１１１は復旧スタンバイ状態、転てつ器制御演算部１０８は監視状態である。この回覧の途中、時刻ｔ２に、転てつ器制御演算部１０４の通信機能に恒久的な故障が発生した想定である。
【０１２０】
すると、転てつ器制御演算部１０６には保安電文がしばらく回覧されて来ない状態が続き、やがて時刻ｔ３に、最初にタイムアウトを検出し、中央演算部１１１へ回復要求を発信する。中央演算部１１１は、これを受けて、復旧実行状態へと遷移する。尚、中央演算部１１１はこのとき、メンバーリストも一緒に受信している。
【０１２１】
この実施例では列車制御演算部１０２、転てつ器制御演算部１０８にも、転てつ器制御演算部１０６と同様のタイムアウト時間を設けているため、中央演算部１１１は立て続けにこれらからも回復要求を受信するが、復旧実行状態に遷移した後は、これらを受信しても何も処理はされない。
【０１２２】
復旧実行状態となった中央演算部１１１は、まず時刻ｔ４において、待機指令をブロードキャストする。列車制御演算部１０２、転てつ器制御演算部１０６、１０８はこの待機指令を受信し、回覧していた保安電文を以降は受け付けないように最新発行番号をインクリメントし、記憶している保安情報を返信し、待機状態へと移行する。しかし、転てつ器制御演算部１０４は、通信機能が不能のままのため、待機指令を受信して保安情報を返信することは無い。この結果、中央演算部１１１は、予め規定された時間が経った時刻ｔ５において、受信バッファにはまだ全てのメンバー機器の保安情報がそろっていないことを検出し、再び待機指令をブロードキャストする。
【０１２３】
この待機指令は、列車制御演算部１０２、転てつ器制御演算部１０６、１０８に再び送達するが、これらのメンバー機器は既に待機状態に移行しているため、この待機指令を受信しても何も処理することはない。転てつ器制御演算部１０４は、通信機能が不能のままのため、再び待機指令を受信できない。中央演算部１１１は、再び規定の時間が経った時刻ｔ６に、やはり全てのメンバー機器から待機指令を得られていないままであることを検出するが、待機指令の再送回数が上限に達しているため、保安情報を返して来なかった転てつ器制御演算部１０４を故障機器として登録する。
【０１２４】
続いて中央演算部１１１は、列車制御演算部１０２、転てつ器制御演算部１０６、１０８から得られた保安情報のうち、電文更新番号（図２の２０７を参照）の最も大きいものを選択し、新しい保安電文の作成に用いる。
【０１２５】
次に、メンバーリストを、故障機器に登録された転てつ器制御演算部１０４を除いた列車制御演算部１０２、転てつ器制御演算部１０６、１０８で構成する。こうして作成した保安情報を記載し、電文発行番号（図２の２０６参照）をインクリメントした保安電文を、新しい保安電文として、時刻ｔ７に、列車制御演算装置１０２に送信する。
【０１２６】
尚、新しい保安電文の保安情報を決める際、故障機器に登録された転てつ器制御演算装置１０４を備える転てつ器１０３の情報は、その鎖錠状態が不明の場合、安全側の情報として「ブラ」を書き、転てつ器方向指示情報を「故障中」としても良い。こうしておけば、転てつ器１０３が有るブロックを含む進路は、新たに確保することができず、当該の転てつ器が万一鎖錠されていなかったとしても、安全を保てると期待できる。
【０１２７】
あるいは、転てつ器１０３が保安電文喪失時の状態で鎖錠されていることが確かな場合は、転てつ器の状態情報を実態と合わせた正位または反位の鎖錠とし、その転てつ器を含むブロックが未占有の場合はそのままとしておくことで、鎖錠された方向へのみであるが、その転てつ器を含む新たな進路を確保することができる。本実施例では転てつ器の制御装置の故障を考えたが、仮に列車の制御装置が故障した場合は、その列車が占有していたブロックを「占有あり」の状態のままにすることで、たとえその列車が通信不能となったまま走行を継続していたとしても、安全を確保できる。
【０１２８】
時刻ｔ７に新規保安電文を送信したことで、中央演算部１１１は復旧スタンバイ状態に戻る。列車制御演算部１０２、転てつ器制御演算部１０６、１０８は、それぞれ新規保安電文の回覧を受け取ったとき、その回覧を再開し、監視状態に戻る。以上のようにして、保安電文の再発行が実現される。
【０１２９】
尚、転てつ器制御演算部１０４は、通信機能が故障しただけであるため、時刻ｔ２からタイムアウト時間経った先は、繰り返し回復要求を送信しようとしていることになる。このため、やがて通信機能が回復すると、中央演算部１１１へ回復要求が送達し、中央演算部１１１は復旧実行状態となり、再び保安電文の再発行の処理が開始される。この結果、今度は再び全てのメンバー機器が参加した新しい保安電文が回覧され始める。
【０１３０】
以上、本実施例の信号保安システムによれば、エリア内の列車、転てつ器の間で保安電文を回覧して排他制御を実現する信号保安システムにおいて、メンバー機器の通信機能の故障などの原因で保安電文の回覧が滞った時、保安電文を再発行できる。このとき、保安電文の回覧が停滞する原因となった機器を故障機器として特定し、その故障機器を除くメンバー機器の間だけで保安電文を回覧させるようにすることで、故障機器が干渉することのないブロックで成る進路であれば、新たに確保することが可能になり、その範囲で運転を継続できる。
【０１３１】
本実施例においては、電文監視部１１３を列車及び転てつ器に持たせたが、これを復旧装置１１０が持つことも可能である。その場合、保安電文１０９の健全性は、例えば中央演算部１１１がメンバー機器のいずれかに定期的に問い合わせ、保安電文１０９に記された電文更新番号２０７が増えていなければ異常である、という様に判定することもできる。この場合の問い合わせの周期は、保安電文の回覧周期にこだわらず、比較的長くとっても良い。あるいは、メンバー機器が、保安電文を送信した時に必ず復旧装置に通知するような仕組みにしておけば、復旧装置は、その通知の中断を監視することで、保安電文の回覧の異常を検知できる。
【０１３２】
本実施例では、ひとつの保安電文１０９を使って制御される単一のエリアのみを考えたが、このエリアに隣接するエリアなど、他にも同様の制御を実施しているエリアがあれば、復旧装置１１０は、本実施例で示した処理を、複数のエリアへ提供しても良い。復旧装置１１０の処理は、保安電文が健全に回覧されている限りにおいては、図１１で説明した復旧スタンバイ状態で回復要求を待つのみであり、高い処理負荷を要求されるわけではないため、複数のエリアを管轄することは、比較的容易に実現できる。このとき、復旧装置１１０がある一つのエリアで復旧処理を実施している間に別のエリアから回復要求を受け付けた場合、後から回復要求を送ってきたエリアへの復旧処理は後まわしにしてもよい。そのエリアの列車運行の稼働率は低下するが、信号保安システムが第一の目的とする安全性を損なうことなく、システム全体のコストを低減させることができる。
【０１３３】
尚、本実施例においては、復旧装置１１０の設置場所をメンバー機器とは異なり沿線に設置された機器と説明したが、例えばメンバー機器が、これと同様の機能を持っても良い。その場合、そのメンバー機器の制御演算部の処理がより複雑・大規模になるが、しかし、復旧用の新たな機器を沿線に設置することが無くなり、その分のハードウェアが安価に済む。本実施例のように、復旧装置１１０をメンバー機器とは分けて沿線に設置した場合には、既に説明した通り列車運行が稼働中でも比較的容易に復旧装置を保守交換ができることや、複数のエリアにある列車や転てつ器と通信可能に構成することで複数のエリアを同時に管轄し得ることが、利点である。
【実施例２】
【０１３４】
以下、第二の実施例について説明する。第二の実施例では、エリア内で保安電文の回覧先とその順番を特定するメンバーリストを管理するための専用の手段を設ける点が、第一の実施例と大きく異なる。
【０１３５】
第二の実施例の信号保安システムの構成を図１４を用いて説明する。列車１４０１、列車制御演算部１４０２、転てつ器１４０３、１４０５、１４０７、転てつ器制御演算部１４０４、１４０６、１４０８、電文監視部１４１３、電文処理部１４１９、復旧装置１４１０、中央演算装置１４１１、情報収集部１４１５、電文作成部１４１７について、これらの構成や処理内容は、第一の実施例（図１）における列車１０１、列車制御演算部１０２、転てつ器１０３、１０５、１０７、転てつ器制御演算部１０４、１０６、１０８、電文監視部１１３、電文処理部１１９、復旧装置１１０、中央演算装置１１１、情報収集部１１５、電文作成部１１７の処理内容と同様である。
【０１３６】
但し、この中で列車制御演算部１４０２、転てつ器制御演算部１４０４、１４０６、１４０８、中央演算部１４１１が行っていたメンバーリストを特定するための処理について、第一の実施例では保安電文１０９に記載の情報を読み出したり書き込んだりすることで実現していたが、本実施例では、それぞれの演算部がメンバーリストを記憶するメモリ領域を備え、後に説明する運行管理装置１４２０からメンバーリストを受信し、その情報をこのメモリ領域に書き込み、それを読み出すことで実現させる。列車制御演算部１４０２、転てつ器制御演算部１４０４、１４０６、１４０８がそれぞれ備えるメンバーリスト記憶部１４２３が、この処理を行う部分に当たる。
【０１３７】
メンバーリスト記憶部１４２３は、後に説明する運行管理装置１４２０から通信によってメンバーリストを受信し、その情報を保持する。電文処理部１４１９は、保安電文１４０９を用いた制御と保安電文１４０９の回覧を扱う処理であったが、この際、保安電文１４０９を回覧する宛先と順番は、メンバーリスト記憶部１４２３から読み出した情報を用いて特定する。尚、転てつ器制御演算部１４０４、１４０６、１４０８も、列車制御演算部１４０２と同様の構成である。
【０１３８】
本実施例では、メンバー機器と復旧装置１４１０の間での通信に係る経路が、第一の実施例とは異なる。本実施例では、運行管理装置１４２０が、メンバー機器と無線通信するための通信制御部１４１２を備え、また復旧装置１４１０と通信するための通信手段１４２２を備える。したがって、メンバー機器と復旧装置１４１０の間は、運行管理装置１４２０を介して通信が可能である。ここで、通信手段１４２２は、保安電文１４０９程度の情報量を伝送できる手段であれば、無線であっても有線であってもよい。
【０１３９】
運行管理装置１４２０は、鉄道システムにおいて一般に知られているところの、エリアの線形情報やエリア内に存在する列車や転てつ器の位置を把握し、運転計画を持ち、それに従って列車に進路を指示する機能を持った、運行管理システムを構成する装置である。
【０１４０】
本実施例の運行管理装置１４２０は、運行管理の用途を実現するためのソフトウェア・プログラムを実行可能なCPUとメモリで成る中央演算部１４２６を備え、その上で実現される機能の一つとして、メンバーリスト管理部１４２１を備える。メンバーリスト管理部１４２１は、前述したメンバーリスト記憶部１４２３に、エリア内に存在するメンバー機器の情報と保安電文の回覧順の情報を与える処理部である。メンバーリスト管理部１４２１は、エリアの線形情報と、エリア内の転てつ器を特定する情報とを、予め有している。また、運行中の列車と定期的に通信することで、どの列車がどこにいるかを追跡し、把握している。
【０１４１】
したがって、メンバーリスト管理部１４２１は、本実施例で考えている図１４のエリアについて、列車１４０１、転てつ器１４０３、１４０５、１４０７の存在を把握しており、また、これらの機器の間で保安電文１４０９を回覧する順序を一つ定めることができる。このとき、保安電文１４０９を回覧する順序は、どのように決めても良い。
【０１４２】
運行管理装置１４２０はまた、中央演算部１４２６の上で実現される別の機能として、故障特定部１４１６を備える。故障特定部１４１６は、第一の実施例における故障特定部１１６と同様、通信による指令に対して応答しないメンバー機器を故障機器として登録するが、これに限らず、運行管理装置１４２０が運行管理の目的で取得する機器の情報があれば、それを用いて故障機器を特定しても良い。
【０１４３】
メンバーリスト管理部１４２１は、メンバーリスト記憶部１４２３に与えるメンバーリストを作成する際、故障特定部１４１６で故障機器と登録した機器を除くように、メンバーリストを構成する。
【０１４４】
以上のような通信構成のもと、中央演算部１４１１の処理について説明する。第一の実施例における中央演算部１１１では、その待機指示部１１４、情報収集部１１５、電文作成部１１７は、通信の宛先となるメンバー機器を、最初、メンバー機器から回復要求と共に受信したメンバーリストによって、特定していた。これに対して、本実施例における待機指示部１４１４、情報収集部１４１５、電文作成部１４１７は、これら各々が通信の宛先となるメンバー機器を管理するのではなく、メンバー機器との通信経路上にある運行管理装置１４２０において、メンバーリスト管理部１４２１が、その保有するメンバーリストに基づいて、中央演算部１４１１とメンバー機器との間の通信の宛先を、適切に制御する。
【０１４５】
また、本実施例では、第一の実施構成で考えてきたブロック１１８をはじめとした複数のブロックで構成されるエリア（以下、これを特に基準エリアと呼ぶ）と、これに隣接するエリア１４２４との関係を考える。隣接エリア１４２４に在線する列車１４２５は、基準エリアへ進入しようとしている。列車１４２５は、運行管理装置１４２０との無線通信手段を備え、メンバーリスト管理部１４２１は、この通信手段を利用して、列車１４２５から進入要求を受信したときに、基準エリアのメンバー機器に、新たに列車１４２５を加えさせることができる。あるいは、進入要求を受信したかどうかに関わらず、運行管理装置１４２０は、運行管理の目的で取得する機器の情報から、列車の進入を予測して、その列車をメンバーリストに加えても良い。
【０１４６】
なお、図１４においては、運行管理装置１４２０と復旧装置１４１０とが異なる装置である場合を説明したが、１つの装置で構成してもよい。例えば、メンバーリスト管理部１４２１、故障特定部１４１６、情報収集部１４１５、電文作成部１４１７の処理を実行可能な中央演算部と、通信制御部１４１２を備えた復旧装置によっても本実施例による処理は実現可能である。
【０１４７】
以上、図１４の構成について、保安電文１４０９を除く機器や処理について説明してきた。以下、保安電文１４０９の構成を、図１５を用いて説明する。
【０１４８】
図１５に、保安電文１４０９のフォーマットを示す。保安電文１４０９のフォーマットは、第一の実施例の保安電文１０９について記した図２のフォーマットから、メンバーリスト２０２を除いたものである。メンバーリスト２０２に相当する情報は、代わりに、図１を用いて既に説明したところの、メンバーリスト管理部１４２１とメンバーリスト記憶部１４２３によって実現される。以下、中央演算部１４１１の状態と処理について説明する。
【０１４９】
中央演算部１４１１の状態の定義と遷移条件を図１６に示す。これは、第一の実施例における中央演算部１１１のそれを示した図１０と同様である。すなわち、復旧スタンバイ状態１６０２のときに回復要求を受信すると復旧実行状態１６０３へ移る。復旧実行状態１６０３のときに新規保安電文の発行を完了すると、復旧スタンバイ状態１６０２に移る。
【０１５０】
復旧スタンバイ状態１６０２の処理を、図１７を用いて説明する。復旧スタンバイ状態は、起点となる開始処理１７０１から終点となる終了処理１７０５までの一連の処理を、周期的に実行する。
【０１５１】
開始処理１７０１に続いて実行される処理１７０２は、運行管理装置１４２０から回復要求を受信したかどうかを通信手段１４２２の受信バッファを見て確認し、回復要求を受信していれば処理１７０４へ、受信していなければ終了処理１７０５へ移る。ここで、回復要求は、元はメンバー機器から送信されたものである。運行管理装置１４２０は回復要求を受信すると、通信手段１４２２を用いてこれを復旧装置１４１０へ中継する。
【０１５２】
処理１７０４は、復旧実行状態へ移行する処理である。この処理は、続いて終了処理１７０５へ続き、以降は図１８で説明する復旧実行状態の処理フローへと移る。
【０１５３】
復旧実行状態１６０３の処理フローを、図１８を用いて説明する。図１８において、処理１８０１〜１８０５は復旧実行状態１６０３の処理内容であるが、処理１８０１〜１８０５に関係する運行管理装置１４２０での処理についても併記した。パーティション１８０６の右側は中央演算部１４２６の処理を示している。図１８の中で、点線の矢印はデータの流れを示すが、これはその都度、関係する処理の説明とともに解説する。
【０１５４】
図１８の中では、特に、中央演算部１４２６の処理の中においてメンバー機器の把握と管理に関わる部分のデータの流れを明確にするために、メンバーリスト管理部の中でメンバーリストを記憶しているメモリ領域１８１３を明記した。メモリ領域１８１３は、メンバーリストの情報に加え、そのメンバーリストの特定する機器の故障有無を表す情報を少なくとも記録しており、それらの情報の読み出しと書き込みを行う手段を提供している。そして、この手段によってメンバーリストが読み出されようとする時、故障有りの機器がメンバーリストに含まれていれば、その機器を除外して構成した新たなメンバーリストを、読み出し側の機器へと渡す。図１８において、メモリ領域１８１３から出力される矢印はメンバーリストの読み出しを、メモリ領域１８１３へ入力する矢印はメンバーリストに特定された機器の故障情報の書き込みを表す。
【０１５５】
改めて復旧実行状態１６０３の処理の説明に戻り、開始処理１８０１から順を追って説明する。開始処理１８０１に続く処理１８０２は、運行管理装置１４２０へと待機指令を送信する処理である。この時、宛先のメンバー機器を特定する必要は無い。処理１８０２の後、処理１８０３へ移って、運行管理装置１４２０から保安情報を受信するのを待つ。
【０１５６】
一方、運行管理装置１４２０の中央演算部１４２６では、この待機指令を受けたとき、処理１８０７において、回復要求の発信元の機器が在線するエリアの全てのメンバー機器へ、待機指令をブロードキャストする。この後、中央演算部１４２６は処理１８０８において全てのメンバー機器から保安情報を受信したかどうかを調べ、未受信であれば処理１８０９で待機指令の送信回数が規定回数を越えたかどうかを調べ、まだ越えていなければ処理１８０７へ戻って待機指令を再送信し、いずれ処理１８０８で全てのメンバー機器から待機応答を受信したと判断すれば処理１８１１へ移る。
【０１５７】
あるいは、処理１８０９で待機指令送信回数が規定の回数を越えれば処理１８１０で待機応答を返さない機器を故障機器として登録し、処理１８１１へ移る。ここで、処理１８０８はメモリ領域１８１３から読み出したメンバーリストを利用する。また、処理１８１０はメモリ領域１８１３へ、故障と判定した機器の情報を書き込む。処理１８１１は、メンバー機器から確認応答と共に受信した保安情報を、復旧装置１４１０へ送信する。
【０１５８】
尚、上記で説明した中央演算部１４２６の処理１８０７〜１８１１は、第一の実施例で図１２を用いて説明した処理１２０２〜１２０５に対応するものである。処理１２０６が実現した内容は、本実施例の処理１８１１、１８０３、１８０４、１８１２によって実現される内容に相当する。
【０１５９】
復旧装置１４１０の中央演算部１４１１の処理１８０３は、運行管理装置１４２０からこのようにして保安情報を受信し、処理１８０４でこれに基づいた新規保安電文を作成し、運行管理装置１４２０に送信した後、終了処理１８０５へ移る。
【０１６０】
運行管理装置１４２０の中央演算部１４１１は、こうして新規保安電文を受信したとき、メモリ領域１８１３からメンバーリストを読み出し、それが特定するメンバー機器へ、そのメンバーリストを配信する。このとき、もし隣接エリア１４２４の列車１４２５から進入要求を受信していれば（これは、例えば進入要求専用の受信バッファを設け、そこを読みに行けば分かる）、列車１４２５を新たに加えるようにメンバーリストを更新し、その更新されたメンバーリストが特定するメンバー機器へ、更新されたメンバーリストを配信するようにする。したがって、この後メンバーリストの先頭の機器へ新規保安電文を送信すれば、新規保安電文は、隣接エリア１４２４から進入しようとする列車１４２５も含めて回覧されはじめる。
【０１６１】
ここで、列車１４２５を加えてメンバーリストを再構築する際、列車１４２５はメンバーリストのどの順番に加えても良く、例えば末尾に加えればよい。また、本実施例では新規保安電文の送信先をメンバーリストの先頭の機器としたが、これに限らず、メンバーリストのどの順番の機器に与えても良い。
【０１６２】
本実施例によれば、保安電文が回覧中に消失した時でも、保安電文を新しく発行し直すことができ、信号保安の制御を継続させ、列車の運行を継続させられる。また、保安電文を再発行する処理の途中に、隣接エリアからの列車の進入要求があったとき、新しく発行した保安電文のメンバーにその機器を含めることで、隣接エリアからの列車の進入をより早く許可することができる。
【符号の説明】
【０１６３】
１０１  列車
１０２  列車保安装置
２０１、２１１、２２１  転てつ器
２０２、２１２、２２２  転てつ器保安装置
３０１  保安電文
４０１〜４０４  復旧用電文
【図１】
0006275607.tif 000002
【図２】
0006275607.tif 000003
【図３】
0006275607.tif 000004
【図４】
0006275607.tif 000005
【図５】
0006275607.tif 000006
【図６】
0006275607.tif 000007
【図７】
0006275607.tif 000008
【図８】
0006275607.tif 000009
【図９】
0006275607.tif 000010
【図１０】
0006275607.tif 000011
【図１１】
0006275607.tif 000012
【図１２】
0006275607.tif 000013
【図１３】
0006275607.tif 000014
【図１４】
0006275607.tif 000015
【図１５】
0006275607.tif 000016
【図１６】
0006275607.tif 000017
【図１７】
0006275607.tif 000018
【図１８】
0006275607.tif 000019