横浜シーサイドラインの発表によると、事故の原因はATOの故障ではなく、ATOと列車の制御装置の間の通信不良だった。司令所とATOの通信は問題なく行われていた。司令所は車両のATO装置に対して「進行方向を逆転せよ」と指示。車両側ATOは制御系に指示を伝えた上で「逆転した」と返信。しかし実際には切り替わっていない。司令所は「逆転した」の返信を受け取っているから「発車せよ」と指示する。車両側ATOは制御系に加速を指示。こうして逆走は起こった。
だから「無人運転」による事故ではない。「ATOと制御系間の信号不達」だ。この場合、運転士が乗務していたとしても、ATOスイッチを入れた瞬間に逆走しただろう。クルマに例えると「ドライバーが駐車するためシフトレバーを『R』に入れたところ、その信号が処理されず実際は『D』のままになり、アクセルを踏んだら前進してしまった」という状況だ。
シーサイドラインの場合、前進と後退の切替信号は届かず、加速の信号は届いている。報道によるとATOと制御系の間は約100本の回路があり、前後切替信号の回路だけ切れていたという。どうせ信号回路が切れるなら、いっそ全ての回路を切ってくれたら誤発進は起きなかった。情報量としては光ファイバー1本で済むだろう。シーサイドラインのシステムは古い仕組みか、あるいは「1本の回路が切れていても、他の回路は正常に動作するように」という設計思想かもしれない。後者なら、それがアダとなってしまった。
信号の不達を検知する方法は、私の思い付く限りPING送受信による死活監視しかない。ATO側と制御側の回路間で、実際の制御信号を送り合うだけではなく、常に「応答せよ」「応答した」というやりとりを行う。PING送受信はPCのネットワークでも接続確認や相手先コンピュータの応答確認で使われている。大規模なオンラインシステムの監視も基本はPING送受信だ。相手から応答がなければ、機器の故障か回線の障害である。
通信回線はイーサネットまたは光ファイバーケーブル1本とし、各機器にIPを割り当てる方式にすれば、機器の故障か回線の障害かをすぐに切り分けできる。回線不具合を検知したら緊急停止。切り分けた結果、機器(回線)側に原因があって、制御(通信)系統が冗長化されていれば、副系統に切替えて運行できる。今後はこのような対策が行われるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.