JP2011198205A - 二重系制御システム - Google Patents

二重系制御システム Download PDF

Info

Publication number
JP2011198205A
JP2011198205A JP2010065797A JP2010065797A JP2011198205A JP 2011198205 A JP2011198205 A JP 2011198205A JP 2010065797 A JP2010065797 A JP 2010065797A JP 2010065797 A JP2010065797 A JP 2010065797A JP 2011198205 A JP2011198205 A JP 2011198205A
Authority
JP
Japan
Prior art keywords
computer
processing
control
data
dual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010065797A
Other languages
English (en)
Inventor
Tatsuya Sasaki
達也 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Railway Technical Research Institute
Original Assignee
Railway Technical Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Railway Technical Research Institute filed Critical Railway Technical Research Institute
Priority to JP2010065797A priority Critical patent/JP2011198205A/ja
Publication of JP2011198205A publication Critical patent/JP2011198205A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

【課題】 鉄道の保安装置の制御端末として利用するための安全性を確保しつつ、コストを低減することが可能な二重系制御システムを提供する。
【解決手段】 同一の処理プログラムを実装したコンピュータを2台接続して二重系制御システム1を構成する。また、A系及びB系のコンピュータの制御出力の論理積を制御対象とする機器に出力する。また、A系及びB系間で互いにデータを送受信し、各系において自系の保持するデータと他系から伝送されたデータとを照合するとともに、各系において自系のコンピュータの処理が円滑に実行されているか否かを監視する。照合及び監視の結果、自系または他系に異常が検出された場合は処理を停止し、制御対象とする機器への出力を安全側とする。
【選択図】図1

Description

本発明は、鉄道の保安装置制御端末として利用可能な二重系制御システムに関する。
従来より、鉄道の保安装置制御端末においてはハードウエア及びソフトウエアを専用に開発し、高い安全性を確保していた。また、例えばプロセッサ及びその周辺を二重系として構成し、互いの系の動作を照合することにより誤動作の発生を防止していた。例えば、特許文献1には、プロセッサ、メモリ、リカバリメモリ、バスライン、デジタル入出力部、及び入出力部を二重系とし、各系に同一のソフトウエアを実装して、照合回路にて両系のデータをバスレベルで比較照合し、照合結果が一致する場合にのみ正常に稼動させ、照合結果が不一致のときは、プロセッサを停止させて誤動作を防ぐことが記載されている。
また、実装されるソフトウエア自体にバグがある場合は上述の照合回路にて不一致が検出されないため、特許文献2のように、プロセッサシステムの稼動状態を所定の判断基準を用いて診断する診断装置をプロセッサシステム外部に設けることが提案されている。
しかし、上述のような専用のハードウエア及びソフトウエアは、その開発及び導入に高額のコストが必要であった。また、装置に搭載される部品の製造が終了するなど保全のための部品管理が容易ではなかった。
一方、近年コンピュータの発達により、高性能なパーソナルコンピュータやオペレーションシステム(OS)が開発されており、各種装置の動作制御にパーソナルコンピュータを利用する例が知られている。
特開平5−189325号公報 特開2004−86795号公報
しかしながら、汎用のパーソナルコンピュータは複数の処理の輻輳によるメモリ不足や多数の割り込み処理による応答待ち等の諸要因により、意図しない動作をしたり、動作停止が起こることが懸念され、鉄道の保安装置の制御端末として利用することは長い間見送られていた。しかし汎用製品を導入する場合の問題点を洗い出し、これを解決できれば、安全性を確保しつつ、より低コストに鉄道の保安装置の制御端末を提供できるはずである。
本発明は、鉄道の保安装置の制御端末として利用するための安全性を確保しつつ、コストを低減することが可能な二重系制御システムを提供することを目的とする。
前述した目的を達成するために第1の発明は、外部装置からデータを受信し、受信したデータを基に所定の処理プログラムに従って制御対象とする機器の制御情報を生成し、出力するコンピュータをA系及びB系にそれぞれ備えた二重系制御システムであって、前記A系のコンピュータと、前記B系のコンピュータとを互いに通信接続する接続手段と、前記A系にて生成された制御情報と前記B系にて生成された制御情報との論理積を前記制御対象とする機器に対して出力する論理積出力手段と、前記接続手段を介して、前記A系及び前記B系間で互いにデータを送受信し、各系において自系の保持するデータと他系から伝送されたデータとを照合する照合手段と、各系において自系のコンピュータの処理が円滑に実行されているか否かを監視する監視手段と、前記照合手段による照合の結果、前記A系及びB系のデータが不一致の場合、または前記監視手段による監視の結果、いずれかの系において処理が円滑に実行されていないと判断された場合に、処理を停止し、前記制御対象とする機器への出力を安全側とする処理停止手段と、を備えることを特徴とする二重系制御システムである。
この二重系制御システムによれば、同一の処理プログラムを実装したコンピュータを2台接続して二重系制御システムを構成する。また、A系及びB系のコンピュータの制御出力の論理積を制御対象とする機器に出力する。また、接続手段を介して、A系及びB系間で互いにデータを送受信し、各系において自系の保持するデータと他系から伝送されたデータとを照合するとともに、各系において自系のコンピュータの処理が円滑に実行されているか否かを監視し、照合の結果、A系及びB系のデータが不一致の場合、または監視の結果、いずれかの系において処理が円滑に実行されていないと判断された場合に、処理を停止し、制御対象とする機器への出力を安全側とする。
従って、当該二重形制御システムをセルフチェックすることが可能となり、コンピュータを制御端末として利用する場合の安全性を確保できる。その結果、専用のハードウエア及びソフトウエアによらなくとも、汎用のコンピュータにて鉄道の保安装置の制御端末のような高い安全性が必要とされる装置を構成できるようになり、また汎用製品の導入による低コスト化が可能となる。
また、前記照合手段は、自系のコンピュータが前記外部装置から受信したデータと、他系のコンピュータが前記外部装置から受信したデータとを照合する第1照合手段と、自系のコンピュータにおいて実行される前記処理プログラムによる処理結果と他系のコンピュータにおいて実行される前記処理プログラムによる処理結果とを照合する第2照合手段と、自系の制御出力と自系に対して制御対象とする機器から入力された表示状態とを照合する第3照合手段と、自系の制御出力と他系に対して制御対象とする機器から入力された表示状態とを照合する第4照合手段と、他系の表示状態と自系の表示状態とを照合する第5照合手段と、のうち、少なくともいずれか一つを含むことが望ましい。
第1照合手段によれば外部装置から受信したデータの伝送エラーをチェックでき、第2照合手段によれば自系と他系においてそれぞれ実行される同一の処理プログラムの処理結果について整合性をチェックでき、第3照合手段によれば自系の出力した制御情報と自系に入力された機器の制御状態とを照合することによりインタフェース故障をチェックでき、第4照合手段によれば自系の出力した制御情報と他系に入力された機器の制御状態とを照合することによりインタフェース故障をチェックでき、第5照合手段によれば、自系と他系における表示状態を互いに確認して、インタフェース故障をチェックできる。
また、前記監視手段は、コンピュータに備えられるハードウエアタイマを用いて自系コンピュータの作動状態を監視する第1監視手段と、前記ハードウエアタイマの作動状態をソフトウエアにて監視する第2監視手段と、を備えることが望ましい。
これにより、各コンピュータの動作停止や応答待ち等の異常を確実に検出できる。
また、前記A系コンピュータと前記B系コンピュータとで、異なるオペレーティングシステムを塔載することが望ましい。
これにより、オペレーティングシステムのバグによる同時誤りを検出でき、更に安全性を向上できる。
また、外部または他系から受信したデータの誤りを判定するデータ誤り判定手段と、前記データ誤り判定手段によりデータの誤りがあると判定された場合に、データの再送を送信元に要求する再送要求手段と、を更に備えることが望ましい。
これにより、データの伝送故障を検知でき、また再送要求を円滑に行なえるようになる。
また、前記処理プログラムが予め定められた順序どおりに実行されているか否かを判定する実行順序診断手段を更に備え、前記実行順序診断手段により前記処理プログラムの実行順序が誤っている場合は、前記処理停止手段によって、当該コンピュータにおける処理を停止し、前記制御対象とする機器への出力を安全側とすることが望ましい。
これにより、各コンピュータにて実行される処理プログラムが予想外の順序で処理を行っていないか確認できる。
また、前記処理プログラムにて使用するメモリエリアについて、異常があるか否かを判定するメモリ診断を実行するメモリ診断手段を更に備え、メモリ診断手段によって前記メモリエリアに異常を検知した場合は、前記処理停止手段によって、当該コンピュータにおける処理を停止し、前記制御対象とする機器への出力を安全側とすることが望ましい。
これにより、定められているメモリエリアを超越するような意図しない動作に繋がる恐れのある事象を検出できる。
また、各系のコンピュータにて前記外部装置から受信したデータをそれぞれリカバリ情報として記録するリカバリ情報記録手段と、前記処理停止手段による処理停止後、正常な系は異常が発生した系に対してリカバリを要求するリカバリ要求手段と、リカバリ要求を受けた前記異常が発生した系は、正常な系に記録されている前記リカバリ情報を取得し、取得したリカバリ情報に基づいて自系のコンピュータをリカバリ処理するリカバリ処理実行手段と、を備えることが望ましい。
これにより、異常検出による処理停止後、安全なリカバリを行なうことで、円滑な再立ち上げを行なって、制御システムの停止による支障を低減することが可能となる。
本発明の二重系制御システムによれば、鉄道の保安装置の制御端末としての安全性を確保しつつ、コストを低減することが可能となる。
本発明に係る二重系制御システム1の装置構成を示すブロック図 二重系制御システム1に使用されるコンピュータPC_A,PC_Bの内部構成を示すブロック図 二重系制御システム1の各コンピュータPC_A,PC_Bにて実行される自己診断処理の流れを説明するフローチャート 照合処理の詳細な流れを説明するフローチャート 二重系制御システム1の各コンピュータPC_A,PC_Bにて実行される自己診断処理のウォッチドッグタイマによる監視処理の流れを説明するフローチャート ウォッチドッグタイマによる監視処理を監視するソフトカウンタによる監視処理の流れを説明するフローチャート 二重系制御システム1にて検出される異常状態の一覧 二重系制御システム1を各種鉄道保安装置の制御端末に利用した鉄道保安制御システム100の全体図
以下、図面に基づいて本発明の好適な実施形態について詳細に説明する。
まず、図1及び図2を参照して、本発明に係る二重系制御システム1の構成について説明する。
図1は二重系制御システム1の装置構成を示すブロック図、図2は二重系制御システム1に使用されるコンピュータPC_A,PC_Bの内部構成を示すブロック図である。
本実施の形態では、一例として鉄道の転てつ機4の制御端末として、本発明に係る二重系制御システム1を利用する例を説明する。
図1に示すように、本発明の二重系制御システム1は、2台のコンピュータPC_A,PC_Bが通信回線2によって接続されて構成される。各コンピュータPC_A,PC_Bには、それぞれ車上装置9との通信を行うための通信部18A,18Bが設けられる。以下、コンピュータPC_A及び通信部18Aを備えて構成される系をA系、コンピュータPC_B及び通信部18Bを備えて構成される系をB系と呼ぶ。
A系及びB系のコンピュータPC_A,PC_Bは、ともに汎用のパーソナルコンピュータが使用される。
通信回線2は2台のコンピュータPC_A,PC_Bを通信接続する回線であり、例えばLAN(Local Area Network)等により構成される。コンピュータPC_A,PC_B間の通信は確実に行なわれる必要があるため有線接続されることが望ましいが、無線で接続してもよい。
また、図1に示すように、A系及びB系のコンピュータPC_A,PC_Bの出力(OUT_A1とOUT_B1、OUT_A2とOUT_B2)は、論理積演算回路7に入力され、論理積が演算され、演算結果が制御対象となる機器(例えば、転てつ機4)に出力される。すなわち、両系で一致する出力(制御情報)のみが制御対象となる機器に出力される。
図1に示す論理積演算回路7では、PC_Aからの出力OUT_A1とPC_Bからの出力OUT_B1との論理積が演算され、PC_Aからの出力OUT_A2とPC_Bからの出力OUT_B2との論理積が演算される。また、後述するウォッチドッグタイマ(WDT_A、WDT_B)からの出力も、上述の出力OUT_A1とOUT_B1、OUT_A2とOUT_B2との論理積が演算される。これにより、A系及びB系からの制御情報の出力タイミングの同期が取られるとともに、処理結果の一致が検査される。
図1において、OUT_A1,OUT_A2はPC_Aから出力される制御情報で、それぞれ、例えば転てつ機4の定位側、反位側を表す。また、OUT_B1,OUT_B2はPC_Bから出力される制御情報で、それぞれ、例えば転てつ機4の定位側、反位側を表す。転てつ機4では常時開通している方向を定位という。
OUT_Nは、OUT_A1とOUT_B1との論理積とした結果、転てつ機4を定位側へ制御する信号であり、ONで制御となるものである。OUT_Rは、OUT_A2とOUT_B2との論理積とした結果、転てつ機4を反位側へ制御する信号であり、ONで制御となるものである。ただし、OUT_NとOUT_Rとが両方ともONとなる場合は異常とする。
NKR,RKRは、転てつ機4の制御状態を表す表示情報であり、NKRが定位側、RKRが反位側である。転てつ機4の表示情報NKR,RKRは、PC_A及びPC_Bに入力される。
WDT_AはPC_Aのウォッチドックタイマの出力であり、正常リレー8Aに接続される。WDT_BはPC_Bのウォッチドックタイマの出力であり、正常リレー8Bに接続される。
正常リレー8A,8Bはウォッチドックタイマの出力により作動し、異常が発生した場合はウォッチドックタイマの出力が停止して落下する。これにより、接点10A,10Bを接続または開放のいずれかの状態に作動させる。接点10A,10Bは異常が発生した場合、開放される。
図2に示すように、A系及びB系のコンピュータPC_A,PC_Bは、それぞれCPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入力部14、表示部15、記憶装置16、他系との通信部17、車上装置との通信部18、周辺機器I/F部19等がバス20を介して接続されて構成される。
CPU11は、ROM12、記憶装置16、記録媒体等に格納される処理プログラムをRAM13上のワークメモリ領域に呼び出して実行し、バス20を介して接続された各部を駆動制御する。本実施の形態において、CPU11は鉄道の保安装置(例えば、転てつ機4)の制御に関する処理プログラムの実行中、図3に示す自己診断処理を実行する。自己診断処理については後述する。
ROM12は、コンピュータのブートプログラム、BIOS等の基本的なプログラム、データ等を恒久的に保持する。RAM13は、ロードしたプログラムやデータを一時的に保持するとともに、CPU11が各種処理を行うために使用するワークエリアを備える。
記憶装置16は、HDD(ハードディスクドライブ)等であり、コンピュータのOS(オペレーティングシステム)や各種アプリケーションプログラム、プログラム実行に必要なデータ等が格納されている。アプリケーションプログラムには、制御対象とする機器(例えば、転てつ機4)の制御に関する処理プログラム、図3〜図4に示す自己診断処理プログラム(照合処理を含む)、図5〜図6に示す作動状態監視プログラム等を含む。これらのプログラムに含まれる各プログラムコードは、CPU11により必要に応じて読み出されてRAM13に展開され、CPU11にて実行される。記憶装置16は、更に、フロッピー(登録商標)ディスク、CD、DVD、メモリカード等の各種記録メディアを駆動するドライブ装置や入出力装置を含むものとしてもよく、記録メディア内のデータの入出力を行う。
なお、上述のアプリケーションプログラムのうち、制御対象とする機器(例えば、転てつ機4)の制御に関する処理プログラム、自己診断処理プログラム、作動状態監視プログラムに関しては、各系で同一のプログラムが塔載される。これは、同一の処理を各系で実行し、照合することでそれらの整合性を確認し、処理の異常を検知するためである。
また、オペレーティングシステムについては、各系で同一としてもよいし、異なるものとしてもよい。各系で異なるオペレーティングシステムを塔載する場合には、オペレーティングシステムのバグによる同時誤りを防止することができる。
入力部14は、例えば、キーボード、マウス等のポインティング・デバイス、テンキー等の入力装置であり、入力されたデータをCPU11へ出力する。
表示部15は、例えば液晶パネル、CRTモニタ等のディスプレイ装置と、ディスプレイ装置と連携して表示処理を実行するための論理回路で構成され、CPU11の制御により入力された表示情報をディスプレイ装置上に表示させる。
他系との通信部17は、通信制御装置、通信ポート等を有し、自系と他系と(A系及びB系)のデータ送受信を媒介する通信インタフェースである。
車上装置9との通信部18は、通信制御装置、通信ポート等を有し、車上制御装置9とのデータ送受信を媒介する通信インタフェースである。
周辺機器I/F部19は、周辺機器とのインタフェースである。例えば、制御対象とする機器(例えば、転てつ機4)とのインタフェースを含む。
次に、本発明の二重系制御システム1の自己診断について説明する。
本発明の二重系制御システム1では、当該二重系制御システム1自体の故障の検出を積極的に行い、誤った制御出力を防止するようにしている。
誤った制御出力の要因としては、以下のものが考えられる。
すなわち、誤った制御出力の要因は、大別すると(1)ソフトウエアによる誤りと、(2)ハードウエアによる誤りとなる。ソフトウエアによる誤りには、(1−1)メモリデータの誤り、(1−2)オペレーティングシステムのバグ、(1−3)アプリケーションのバグ、(1−4)アプリケーションのプログラム入力ミス、(1−5)アプリケーションのプログラム設計ミス等が含まれる。また、ハードウエアによる誤りには、(2−1)インタフェースの故障、(2−2)CPUの故障、(2−3)メモリ故障、(2−4)コンピュータの設計不良、(2−5)配線故障、(2−6)外来ノイズによる誤り等が含まれる。
本発明の二重系制御システム1では、上述の要因を鑑みて異常な制御出力を防ぐとともに、処理プログラム実行中に自己診断を行うことにより故障の検出を行う。
具体的には、まず、二重系制御システム1は、コンピュータを2台備えた二重系構成としている。また、A系とB系の各系から出力される制御情報(制御出力)の論理積演算回路7を備え、両系で不一致となる制御出力を破棄するようにしている。このような構成により、同一の被制御情報に対する処理結果を二重に生成して、A系とB系とで異なる処理結果を得た場合には、制御出力を行わず、安全側となる。
また、A系とB系とで、保持するデータを互いに送受信し、ソフトウエアによる照合を行う。これにより、いずれかの系に異常があることを互いに検知できる。照合処理では、例えば、(1)自系のコンピュータが車上装置9から受信したデータ(被制御情報)と、他系のコンピュータが車上装置9から受信したデータ(被制御情報)との不一致(被制御情報不一致)、(2)自系及び他系のコンピュータにおける処理プログラムによる処理結果の不一致(制御出力の不一致)、(3)自系の制御出力と自系に対して制御対象とする機器から入力された表示状態との不一致(系内ループバック不一致)、(4)自系の制御出力と他系に対して制御対象とする機器から入力された表示状態との不一致(系間ループバック不一致)、(5)他系の表示状態と自系の表示状態との不一致(系間表示不一致)を検出する。
また、各系のコンピュータPC_A,PC_Bのハードウエアタイマカウンタをウォッチドッグタイマとして使用し、コンピュータの作動状態を監視するとともに、ウォッチドッグタイマの作動状態を更にソフトウエアカウンタにて監視する。これにより、いずれかの系のコンピュータの動作が異常に遅れたり、停止していることを互いに検知できる。
また、上述の照合または監視の結果、いずれか一方の系のコンピュータにおける異常を他方の系のコンピュータにて検出した場合には、正常な系が異常となった系に対して再立ち上げの処理を指示する。各系では、正常な状態では常に被制御情報をリカバリ情報として記録しており、一方に異常が発生して再立ち上げを指示した場合には、互いの系にて保持しているリカバリ情報を照合することにより、異常が発生した時点を検出する。また、正常な系は異常な系に対して異常が発生した時点またはその周辺の時点でのリカバリ情報を送信する。異常が発生した系は、正常な系からリカバリ情報を受信して、リカバリ処理を開始する。リカバリ処理を開始する際、異常が発生した時点までの履歴を正常系と照合し、正常系において新たな被制御情報の受信が行われていないことを照査した上で安全な処理復旧を行う。
また、各系のコンピュータPC_A,PC_Bは、搭載されている処理プログラムをシングルスレッドと呼ばれる逐次的な処理で実行するものとする。そして、当該処理プログラムが予め定められた順序どおりに実行されているか否かを判定する実行順序診断を、例えば処理プログラムの各モジュールの冒頭で行うことが望ましい。いずれかの系で実行順序が誤っていると診断された場合は、異常と見做し、処理を停止する。
また、更に、処理プログラムにて使用するRAM13のメモリエリア(プログラム領域)を、例えば検査符号等を用いて検査することが望ましい。いずれかの系でメモリが故障していると診断された場合は異常と見做し、処理を停止する。
二重系制御システム1では、上述の照合、監視、実行順序診断、及びメモリ診断のうちいずれか一つを実行するようにしてもよいし、これらの一部または全部を適宜組み合わせて実行するようにしてもよい。
次に図3〜図7を参照して、本発明の二重系制御システム1における処理の流れを説明する。
二重系制御システム1の各系のコンピュータPC_A,PC_Bは、それぞれ図3の処理プログラム実行時の自己診断処理、図4の照合処理、図5及び図6の監視処理を行なう。
まず、図3を参照して、全体の流れを説明する。
なお、図3の処理を実行するに際し、二重系制御システム1には、図1に示すように、車上装置9から定期的または非定期的に被制御情報が送信されているものとする。各時点で送信される各被制御情報には、それぞれ識別情報が付与されている。識別情報としては、例えば車上装置9が発行するシリアル番号等が採用される。二重系制御システム1の各系のコンピュータPC_A,PC_Bに送信され、各コンピュータPC_A,PC_BのCPU11によってそれぞれ同一の処理が施される。すなわち、二重系制御システム1では、各系のコンピュータPC_A,PC_Bにて受信した同一の被制御情報に基づいて、同一の処理プログラムがそれぞれ実行され、例えば転てつ機4等の制御対象とする機器についての制御情報(OUT_A1,OUT_A2、OUT_B1,OUT_B2)が生成される。各系からの制御出力(制御情報)は、論理積演算回路7に入力され、論理積の演算結果が転てつ機4に対して出力される。
また、前提として、コンピュータPC_A,PC_BのCPU11は、電源を投入した時点からアプリケーション(処理プログラム)の動作開始までの間に、オペレーティングシステムの立ち上げ等を行うため処理時間を有する。この間については、以下説明する自己診断処理を実行することができない。そのため、まず、コンピュータは電源投入によりオペレーティングシステムの初期化処理実行後、コンピュータPC_A,PC_Bを処理装置として初期化するため初期化アプリケーションを起動する。この時点では、まだ正常リレー8A,8B及び制御出力は制御なし側とする。次に、コンピュータの作動状況を検出できるようにするために、CPU11は周期の設定を行う。例えば、本実施の形態の処理プログラムはシングルスレッドの処理を行うこととしているので、その処理プログラムの動作周期を基本周期とする。基本周期は例えば100ms程度であるが、これに限定されるものではなくどのような値としてもよい。また、CPU11は、ウォッチドッグタイマをセットし、作動を開始する。以降は、何らかの異常により上述の周期または所定周期数内に処理プログラムから正常な出力を得られない場合は、正常リレー8A,8Bを落下させ、安全側の処理を行うものとする。
定周期動作が開始されると、PC_A,PC_Bは、それぞれ他系に対して自系の保持するデータを送信する。また、他系から送信されるデータを受信し、保持する。他系と自系とのデータの送受信は通信回線2を介して行なわれる。
図3の処理において、まず、コンピュータPC_A,PC_Bはそれぞれ、車上装置9から被制御情報を受信する(ステップS101)。
コンピュータPC_A,PC_Bは、それぞれ車上装置9から被制御情報(車上装置9からの制御要求)を受信し、RAM13に保持する。この時点では、自系が受信した「つもり」の状態にすぎない。
コンピュータPC_A,PC_Bは、受信した被制御情報に対して伝送故障のチェックを行った後、RAM13のメモリエリアに登録する。伝送故障のチェックは、例えば、データ長チェック、フレームチェックシーケンス、ヘッダのシグネチャチェック、前回受信データの識別番号が異なるかのチェック(初回受信情報は除く)等を含む。これらのチェックの結果、データに損失や故障がなければ、その情報を採用し、データの損失や故障があれば破棄する。なお、最後にデータを採用してから伝送断許容時間(データ伝送が滞る時間として許容できる時間範囲)連続して新たな採用がない場合は、伝送故障と判定する。
コンピュータPC_A,PC_Bは、他系からデータを受信する(ステップS102)。他系から受信するデータには、他系被制御情報、他系処理結果情報、他系診断結果情報等が含まれる。
コンピュータPC_A,PC_Bは、受信したデータに対して伝送故障のチェックを行った後、RAM13のメモリエリアに登録する。伝送故障のチェックは、ステップS101と同様に、例えば、データ長チェック、フレームチェックシーケンス、ヘッダのシグネチャチェック、前回受信データの識別番号が異なるかのチェック(初回受信情報は除く)等を含む。これらのチェックの結果、データに損失や故障がなければ、その情報を採用し、データの損失や故障があれば破棄する。なお、最後にデータを採用してから伝送断許容時間(例えば、3周期程度)連続して新たな採用がない場合は伝送故障と判定する。
コンピュータPC_A,PC_Bは、自系データと他系データとを照合する(ステップS103)。ステップS103では、RAM13に保持されている自系で採用した被制御情報(自系被制御情報)と他系から伝送された被制御情報(他系被制御情報)とを照合する。
照合処理の詳細な流れを図4に示す。
図4に示すように、照合処理において、各コンピュータPC_A,PC_BのCPU11は、RAM13から最新の自系被制御情報と他系被制御情報とを読み出し(ステップS201)、比較照合する(ステップS202)。自系被制御情報と他系被制御情報とが一致する場合は(ステップS203;Yes)、更に、他系における当該被制御情報についての診断結果情報を取得して、他系の診断でも「一致」と判定されていれば(ステップS204;Yes)、次のステップへ進む。他系の診断結果が「不一致」であれば(ステップS204;No)、ステップS201へ戻り、再度自系被制御情報と他系被制御情報とを照合する。
自系被制御情報と他系被制御情報とが一致しない場合は(ステップS203;No)、他系へ照合対象となっている情報の再送要求を送信する(ステップS206;No→ステップS207)。そして、ステップS201〜ステップS203を繰り返し、最新の他系被制御情報と被制御情報とを比較する。既定回数(N回;Nは正整数)繰り返しても一致しない場合は(ステップS206;Yes)、自系のコンピュータを再立ち上げし、再立ち上げ後は、リカバリ処理を実行する(ステップS208)。
ステップS103の照合処理によって自系被制御情報と他系被制御情報との整合性が確認できると、各PC_A,PC_Bは、ここではじめて被制御情報を確定し、RAM13の被制御情報を更新する(ステップS104)。
被制御情報が確定すると、各PC_A,PC_Bは被制御情報を基に処理プログラムを実行して制御情報を生成し、生成した制御情報を処理結果としてRAM13に保持する。この処理プログラムは、被制御情報にて要求される処理であり、例えば、転てつ機4の制御出力を生成する処理とする。すなわち、ステップS104で確定した被制御情報に基づいて転てつ機4の制御情報が生成される。
この時点では自系が転てつ機4を制御「したい」状態にすぎない。
また、各PC_A,PC_BはRAM13に保持されている自系の処理結果(自系制御情報)と他系から伝送された処理結果(他系制御情報)とを照合する(ステップS106)。ステップS106の照合処理も図4に示す照合処理と同様である。
すなわち、ステップS106の照合処理において、各コンピュータPC_A,PC_BのCPU11は、RAM13から最新の自系処理結果と他系処理結果とを読み出し(ステップS201)、比較照合する(ステップS202)。自系処理結果と他系処理結果とが一致する場合は(ステップS203;Yes)、更に、他系における当該処理結果についての診断結果情報を取得して、他系の診断でも「一致」と判定されていれば(ステップS204;Yes)、次のステップへ進む。他系の診断結果が「不一致」であれば(ステップS204;No)、ステップS201へ戻り、再度自系処理結果と他系処理結果とを照合する。
自系処理結果と他系処理結果とが一致しない場合は(ステップS203;No)、他系へ照合対象となっている情報の再送要求を送信する(ステップS206;No→ステップS207)。そして、ステップS201〜ステップS203を繰り返し、最新の他系処理結果と自系処理結果とを比較する。既定回数(N回;Nは正整数)繰り返しても一致しない場合は(ステップS206;Yes)、自系のコンピュータを再立ち上げし、再立ち上げ後は、リカバリ処理を実行する(ステップS208)。繰り返しの既定回数は例えば3回とするが、これに限定されるものではない。
ステップS106の照合処理によって自系処理結果と他系被処理結果との整合性が確認できると、各PC_A,PC_Bは、ここではじめて処理結果(転てつ機4の制御出力)を確定し、RAM13の処理結果情報を更新する(ステップS107)。
各PC_A,PC_Bは、転てつ機4から制御状態を示す表示情報(以下、表示状態という)NKR、RKRの入力を受け付けている。また、他系に転てつ機4から入力された表示状態NKR、RKRを取得している。各PC_A,PC_BのCPU11は、自系の制御出力と転てつ機4から入力された表示状態との照合(系内ループバック不一致)や、自系の制御出力と他系に対して転てつ機4から入力された表示状態との照合(系間ループバック不一致)を行う(ステップS108)。ステップS108の照合処理も図4に示す照合処理と同様である。
各PC_A,PC_Bは、上述の照合処理に加え、例えば、実行順序診断、メモリ診断、系間表示診断等のその他の診断処理を適宜実行する。
なお、実行順序診断は、各モジュールの冒頭で行なわれるものとし、ステップS108の後に行なわれるものではないが「その他の診断」として追記する。
実行順序診断は、想定外の順序で処理プリグラムの各モジュールが実行されていないかをチェックするためのものである。実行順序診断では、各モジュールをコールする親処理からモジュール毎にユニークな「呼出識別値」を引数として渡す。コールされたモジュールは渡された呼出識別値が自モジュールのものであるか否かをチェックする。呼出識別値が不一致であれば、故障と判断する。
メモリ診断は、自プログラムのプロセスメモリ(.exe及び読み込まれたdll)を診断する。自exeを含むロードされた全てのdllのコードセグメント領域の例えばSHA256メッセージダイジェストを演算し、他系診断情報内の同一情報と比較を行なう。
系間表示診断では、自系と他系のコンピュータPC_A,PC_Bにおける表示情報の照合を行う。表示情報には、転てつ機4から入力された制御状態が含まれる。
「その他の診断」の結果、故障を検知した場合は、そのコンピュータの処理を停止して無力化し、制御出力を安全側とする。
次に、ハードウエア及びソフトウエアの作動の監視について説明する。
図3、図4に示す自己診断処理を実行中、各コンピュータPC_A,PC_Bは、ウォッチドッグタイマによる監視(図5)、ソフトカウンタによる監視(図6)を行い、正常に各コンピュータPC_A,PC_Bが作動しているかを監視している。
図5に示すように、コンピュータPC_A及びPC_Bはハードウエアタイマカウンタをウォッチドッグタイマとして利用する。所定周期毎(例えば、上述の基本周期;100ms等)にカウントアップしている(ステップS301)。そして所定周期内に各処理から正常な出力が得られた場合は(ステップS302;Yes)、カウンタをリセットし(ステップS303)、出力されたデータをRAM13の所定のメモリエリアへ登録する(ステップS304)。例えば、ステップS101の伝送チェックやステップS106の照合処理では、3周期(N周期)をカウンタの上限値としている。所定周期内に正常出力が得られない場合は(ステップS302;No)、異常とみなして、正常リレー8A,8Bを落下させ(ステップS305)、処理結果の出力を遮断して安全側の処理を行う。例えば、コンピュータPC_AまたはPC_Bが応答待ち及び強制終了の動作を行なった場合は、このウォッチドッグタイマによる監視によりリレー8A,8Bが落下され、安全側の処理が行われる。
また、図6に示すように、ソフトウエアカウンタを用いてウォッチドッグタイマの出力を監視し、ウォッチドッグタイマの動作不良を検知することが望ましい。
コンピュータPC_A及びPC_Bは、ソフトウエアカウンタを所定期間毎にカウントアップしている(ステップS401)。CPU11は、ソフトウエアのカウンタが次にカウントアップするまでの期間にウォッチドッグタイマがカウントアップしたか否かを判定し(ステップS402)、ウォッチドッグタイマのカウントアップが検出されない場合は(ステップS402;No)、ウォッチドッグタイマの異常を検出する。異常の場合は、リレー8A,8Bを落下させ、処理結果の出力を遮断して安全側の処理を行う。
以上説明した自己診断処理(照合処理、その他診断を含む)、ウォッチドッグタイマ等による監視処理の結果、本発明の二重系制御システム1では、図7に示すような異常を検出することが可能となる。
すなわち、ウォッチドッグタイマ、及び図3のステップS101とステップS102とにおけるデータチェックにより「他系情報伝送故障」、「被制御情報伝送故障」が検出される。
また、ステップS103の照合処理により、「被制御情報不一致」が検出される。また、ステップS106の照合処理により、「処理結果不一致」が検出される。
また、ウォッチドッグタイマ、及び図3のステップS108により「系間ループバック不一致」、「系内ループバック不一致」が検出される。
また、ステップS109のその他診断内の実行順序診断により、「実行順序異常」が検出される。また、ステップS109のその他診断内のメモリ診断により、「メモリ異常」が検出される。
また、図3のステップS109のその他診断内の系間表示診断により「系間表示不一致」が検出される。
転てつ機4等へ処理結果を出力したが、制御処理完了の表示情報を得られない場合には、「制御不能」とされる。
以上説明したように、本実施の形態の二重系制御システム1は、車上装置9から被制御情報を受信し、受信した被制御情報を基に所定の処理プログラムに従って制御対象とする機器(例えば、転てつ機4)の制御情報を生成し、出力するコンピュータをA系及びB系にそれぞれ備え、A系コンピュータPC_Aと、B系のコンピュータPC_Bとを互いにLAN等の通信回線2により通信接続する。そして、A系コンピュータPC_Aにて生成された制御情報とB系コンピュータPC_Bにて生成された制御情報との論理積を論理積演算回路7にて演算し、制御対象とする機器に対して出力する。また、通信回線2を介してA系コンピュータPC_A及びB系コンピュータPC_B間で互いにデータを送受信し、各系において自系データと他系データとを照合する。また、各系において自系コンピュータの処理が円滑に実行されているか否かを監視する。照合の結果、A系及びB系のコンピュータが保持または出力するデータが不一致の場合、または監視の結果、いずれかの系において処理が円滑に実行されていないと判断された場合は、処理を停止し、当該制御システム1を無力化し、制御対象とする機器への出力を安全側とする。
このように、本実施の形態の二重系制御システム1では、自系及び他系のデータや処理結果に対してソフトウエアにてセルフチェックを実施し、RAM及びROM等のメモリ内のデータを積極的に比較照合する。また、定期的に正常な出力が行われているか等の監視を行って、コンピュータの作動の異常を積極的に検出する。また、各系からの出力は論理積が演算されるため、両系のデータが一致しない場合には、転てつ機4に対して制御出力が行われず、破棄される。
その結果、ソフトウエアのバグやハードウエアの故障を検知でき、故障の場合には、装置を無力化して安全側の処理を行える。従って、専用のハードウエア及びソフトウエアによらなくとも、汎用のコンピュータにて鉄道の保安装置の制御端末のような高い安全性が必要とされる装置を構成できるようになる。また、その場合にも充分な安全性が確保できる。また、汎用製品の導入による低コスト化が可能となる。
なお、上述の実施の形態では、転てつ機4の制御端末として本発明の二重系制御システム1を適用する例を示したが、これに限定されるものではなく、他の保安装置の制御端末として利用してもよい。例えば、図8に示す鉄道の保安装置の制御システム100には、転てつ機4の遠隔制御端末101の他に、閉塞管理装置102や踏切5の遠隔制御端末103等も含まれるが、閉そく管理装置102や踏切5の遠隔制御端末103等にも本発明の二重系制御システム1を適用できる。
以上、添付図面を参照しながら、本発明に係る二重系制御システムの好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
1・・・・・・二重系制御システム
PC_A・・・A系コンピュータ
PC_B・・・B系コンピュータ
2・・・・・・通信回線
7・・・・・・論理積演算回路
8A,8B・・正常リレー
9・・・・・・車上装置
10A,10B・・接点
18A・・・・車上装置とのA系の通信部
18B・・・・車上装置とのB系の通信部
3・・・・・・列車
4・・・・・・転てつ機
5・・・・・・踏切
6・・・・・・線路
100・・・・鉄道保安制御システム
101・・・・転てつ機の遠隔制御端末(二重系制御システム1を適用)
102・・・・閉塞管理装置(二重系制御システム1を適用)
103・・・・踏切の遠隔制御端末(二重系制御システム1を適用)

Claims (8)

  1. 外部装置からデータを受信し、受信したデータを基に所定の処理プログラムに従って制御対象とする機器の制御情報を生成し、出力するコンピュータをA系及びB系にそれぞれ備えた二重系制御システムであって、
    前記A系のコンピュータと、前記B系のコンピュータとを互いに通信接続する接続手段と、
    前記A系にて生成された制御情報と前記B系にて生成された制御情報との論理積を前記制御対象とする機器に対して出力する論理積出力手段と、
    前記接続手段を介して、前記A系及び前記B系間で互いにデータを送受信し、各系において自系の保持するデータと他系から伝送されたデータとを照合する照合手段と、
    各系において自系のコンピュータの処理が円滑に実行されているか否かを監視する監視手段と、
    前記照合手段による照合の結果、前記A系及びB系のデータが不一致の場合、または前記監視手段による監視の結果、いずれかの系において処理が円滑に実行されていないと判断された場合に、処理を停止し、前記制御対象とする機器への出力を安全側とする処理停止手段と、
    を備えることを特徴とする二重系制御システム。
  2. 前記照合手段は、
    自系のコンピュータが前記外部装置から受信したデータと、他系のコンピュータが前記外部装置から受信したデータとを照合する第1照合手段と、
    自系のコンピュータにおいて実行される前記処理プログラムによる処理結果と他系のコンピュータにおいて実行される前記処理プログラムによる処理結果とを照合する第2照合手段と、
    自系の制御出力と自系に対して制御対象とする機器から入力された表示状態とを照合する第3照合手段と、
    自系の制御出力と他系に対して制御対象とする機器から入力された表示状態とを照合する第4照合手段と、
    他系の表示状態と自系の表示状態とを照合する第5照合手段と、
    のうち、少なくともいずれか一つを含むことを特徴とする請求項1に記載の二重系制御システム。
  3. 前記監視手段は、
    コンピュータに備えられるハードウエアタイマを用いて自系コンピュータの作動状態を監視する第1監視手段と、
    前記ハードウエアタイマの作動状態をソフトウエアにて監視する第2監視手段と、を備えることを特徴とする請求項1に記載の二重系制御システム。
  4. 前記A系コンピュータと前記B系コンピュータとで、異なるオペレーティングシステムを塔載することを特徴とする請求項1に記載の二重系制御システム。
  5. 外部または他系から受信したデータの誤りを判定するデータ誤り判定手段と、
    前記データ誤り判定手段によりデータの誤りがあると判定された場合に、データの再送を送信元に要求する再送要求手段と、
    を更に備えることを特徴とする請求項1に記載の二重系制御システム。
  6. 前記処理プログラムが予め定められた順序どおりに実行されているか否かを判定する実行順序診断手段を更に備え、
    前記実行順序診断手段により前記処理プログラムの実行順序が誤っている場合は、前記処理停止手段によって、当該コンピュータにおける処理を停止し、前記制御対象とする機器への出力を安全側とすることを特徴とする請求項1に記載の二重系制御システム。
  7. 前記処理プログラムにて使用するメモリエリアについて、異常があるか否かを判定するメモリ診断を実行するメモリ診断手段を更に備え、
    メモリ診断手段によって前記メモリエリアに異常を検知した場合は、前記処理停止手段によって、当該コンピュータにおける処理を停止し、前記制御対象とする機器への出力を安全側とすることを特徴とする請求項1に記載の二重系制御システム。
  8. 各系のコンピュータにて前記外部装置から受信したデータをそれぞれリカバリ情報として記録するリカバリ情報記録手段と、
    前記処理停止手段による処理停止後、正常な系は異常が発生した系に対してリカバリを要求するリカバリ要求手段と、
    リカバリ要求を受けた前記異常が発生した系は、正常な系に記録されている前記リカバリ情報を取得し、取得したリカバリ情報に基づいて自系のコンピュータをリカバリ処理するリカバリ処理実行手段と、
    を備えることを特徴とする請求項1に記載の二重制御システム。
JP2010065797A 2010-03-23 2010-03-23 二重系制御システム Pending JP2011198205A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010065797A JP2011198205A (ja) 2010-03-23 2010-03-23 二重系制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010065797A JP2011198205A (ja) 2010-03-23 2010-03-23 二重系制御システム

Publications (1)

Publication Number Publication Date
JP2011198205A true JP2011198205A (ja) 2011-10-06

Family

ID=44876282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010065797A Pending JP2011198205A (ja) 2010-03-23 2010-03-23 二重系制御システム

Country Status (1)

Country Link
JP (1) JP2011198205A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197307A (ja) * 2013-03-29 2014-10-16 グリー株式会社 監視処理方法、監視処理装置及び監視処理システム
JP2015222520A (ja) * 2014-05-23 2015-12-10 株式会社日立製作所 フェールセーフ演算処理装置
JP2016058011A (ja) * 2014-09-12 2016-04-21 富士電機株式会社 制御システムおよび中継装置
JP2017005483A (ja) * 2015-06-10 2017-01-05 三菱電機株式会社 データ処理装置、データ処理システム及びデータ処理方法
WO2017195356A1 (ja) * 2016-05-13 2017-11-16 三菱電機株式会社 データ処理装置、データ処理方法及びデータ処理プログラム
CN110134000A (zh) * 2018-02-09 2019-08-16 横河电机株式会社 控制***、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质
JP2020008048A (ja) * 2018-07-05 2020-01-16 本田技研工業株式会社 水素ステーション
JP2021086359A (ja) * 2019-11-27 2021-06-03 株式会社デンソーウェーブ 産業機器の制御装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197307A (ja) * 2013-03-29 2014-10-16 グリー株式会社 監視処理方法、監視処理装置及び監視処理システム
JP2015222520A (ja) * 2014-05-23 2015-12-10 株式会社日立製作所 フェールセーフ演算処理装置
JP2016058011A (ja) * 2014-09-12 2016-04-21 富士電機株式会社 制御システムおよび中継装置
JP2017005483A (ja) * 2015-06-10 2017-01-05 三菱電機株式会社 データ処理装置、データ処理システム及びデータ処理方法
WO2017195356A1 (ja) * 2016-05-13 2017-11-16 三菱電機株式会社 データ処理装置、データ処理方法及びデータ処理プログラム
JPWO2017195356A1 (ja) * 2016-05-13 2018-09-13 三菱電機株式会社 データ処理装置、データ処理方法及びデータ処理プログラム
CN110134000A (zh) * 2018-02-09 2019-08-16 横河电机株式会社 控制***、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质
JP2020008048A (ja) * 2018-07-05 2020-01-16 本田技研工業株式会社 水素ステーション
JP7038016B2 (ja) 2018-07-05 2022-03-17 本田技研工業株式会社 水素ステーション
JP2021086359A (ja) * 2019-11-27 2021-06-03 株式会社デンソーウェーブ 産業機器の制御装置

Similar Documents

Publication Publication Date Title
JP2011198205A (ja) 二重系制御システム
US8006129B2 (en) Detecting and preventing the split-brain condition in redundant processing units
CN100383747C (zh) 通信***中失效隔离的***和方法
EP2518627B1 (en) Partial fault processing method in computer system
CN104267713B (zh) 双机热备结构的ato设备的故障检测和切换方法
US10921871B2 (en) BAS/HVAC control device automatic failure recovery
JP6222362B2 (ja) 電力変換装置
CN111538624A (zh) 一种服务器电源的维修方法、装置、设备及介质
US5712967A (en) Method and system for graceful recovery from a fault in peripheral devices using a variety of bus structures
CN115826393A (zh) 一种飞控***的双余度管理方法及装置
CN115617550A (zh) 处理设备、控制单元、电子设备、方法和计算机程序
KR100279204B1 (ko) 자동제어시스템에서현장제어장치의콘트롤러이중화제어방법및그장치
JP4613019B2 (ja) コンピュータシステム
JPS62236056A (ja) 情報処理システムの入出力制御装置
JP2015106226A (ja) 二重化システム
WO2023223940A1 (ja) 車載装置、プログラム及び情報処理方法
JPH1196033A (ja) 情報処理装置
JPS5931738B2 (ja) 計算機システムの並列三重系構成方法
US20230001939A1 (en) Vehicle mounted electronic control apparatus
WO2022224897A1 (ja) デジタル出力装置およびデジタル出力の生成方法
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
JP6553493B2 (ja) 車両用電子制御装置
JP3424916B2 (ja) 汎用インタフェース制御装置及び汎用インタフェース制御方法
CN111857312A (zh) 一种基于x86平台的多设备复位方法及装置
JPH0454747A (ja) データ転送システム