IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-制御装置および制御方法 図1
  • 特開-制御装置および制御方法 図2
  • 特開-制御装置および制御方法 図3
  • 特開-制御装置および制御方法 図4
  • 特開-制御装置および制御方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170137
(43)【公開日】2024-12-06
(54)【発明の名称】制御装置および制御方法
(51)【国際特許分類】
   G06F 11/16 20060101AFI20241129BHJP
   B61L 1/00 20060101ALI20241129BHJP
【FI】
G06F11/16 629
B61L1/00
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023087140
(22)【出願日】2023-05-26
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】大森 尉久
【テーマコード(参考)】
5B034
5H161
【Fターム(参考)】
5B034CC01
5B034DD06
5H161AA01
5H161FF01
5H161FF07
(57)【要約】      (修正有)
【課題】同期ずれ異常の発生原因が軽微な場合には、2重系装置に係るシステムの停止を回避して、システムの稼働率を向上させる制御装置及び方法を提供する。
【解決手段】2つ以上のマイコンを備えるフェールセーフCPUである制御装置は、2つ以上のマイコンA系及びB系の動作間で生じた同期ずれ異常を検知する異常検知部と、異常検知部が同期ずれ異常を検知した場合に、マイコンの各々の動作を夫々異常処理モード42a、42bへと移行させ、当該モードにおいて、同期ずれ異常を解消するための再同期フラグ43a、43bを有効にし、再同期フラグが有効ならば、マイコンの各々が実行する処理を夫々ループ処理46a、46bへと移行させ、当該ループ処理内で、2つ以上のマイコンの動作同士について再び同期を確立したときに、マイコンの各々が実行する処理を夫々メイン処理41a、41bへと復帰させる処理を行う処理部と、を有する。
【選択図】図5
【特許請求の範囲】
【請求項1】
2つ以上のマイコンを備えるフェールセーフCPUからなる制御装置であって、
前記2つ以上のマイコンの動作間で生じた同期ずれ異常を検知する異常検知部と、
前記異常検知部が前記同期ずれ異常を検知した場合に、
前記2つ以上のマイコンの各々の動作をそれぞれ異常処理モードへと移行させ、
前記異常処理モードにおいて、前記同期ずれ異常を解消するための再同期フラグを有効にし、
前記再同期フラグが有効ならば、前記2つ以上のマイコンの各々が実行する処理をそれぞれループ処理へと移行させ、
当該ループ処理内で、前記2つ以上のマイコンの動作同士について再び同期を確立したときに、当該2つ以上のマイコンの各々が実行する処理をそれぞれメイン処理へと復帰させる
処理を行う処理部と
を有することを特徴とする制御装置。
【請求項2】
前記制御装置は、2つのマイコンを備える2重系装置である、請求項1に記載の制御装置。
【請求項3】
前記制御装置は、鉄道システムにおいて地上装置の動作を制御する鉄道保安用の電子連動装置である、請求項1に記載の制御装置。
【請求項4】
前記地上装置は、信号灯である、請求項3に記載の制御装置。
【請求項5】
前記地上装置は、転てつ機である、請求項3に記載の制御装置。
【請求項6】
2つ以上のマイコンを備えるフェールセーフCPUを用いた制御方法であって、
前記フェールセーフCPUは、
前記2つ以上のマイコンの動作間で生じた同期ずれ異常を検知する異常検知部と、
前記異常検知部が前記同期ずれ異常を検知した場合に、
前記2つ以上のマイコンの各々の動作をそれぞれ異常処理モードへと移行させ、
前記異常処理モードにおいて、前記同期ずれ異常を解消するための再同期フラグを有効にし、
前記再同期フラグが有効ならば、前記2つ以上のマイコンの各々が実行する処理をそれぞれループ処理へと移行させ、
当該ループ処理内で、前記2つ以上のマイコンの動作同士について再び同期を確立したときに、当該2つ以上のマイコンの各々が実行する処理をそれぞれメイン処理へと復帰させる
処理を行う処理部と
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、鉄道保安装置のような、安全に現場機器を制御する保安装置に関する。
【背景技術】
【0002】
機器を制御する制御装置のなかには、例えば保安装置のように、高い安全性や信頼性が求められる使途に用いられるものも少なからず存在する。そのような制御装置の一例として、同一構成のマイコン回路が並列に設けられることで少なくとも2以上の処理系統を備え、各処理系統にそれぞれ同一の演算処理を同時に実行させる、2重系、または多重系の制御装置(以下、「2重系装置」と総称する)が挙げられる(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018-106472号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、正常に動作中の2重系装置では、上述したように、全ての処理系統で同一の処理が、互いに同期された状態、すなわち、同じ速度且つ同じタイミングで実行される。しかしながら、こうした正常動作中の2重系装置であっても、互いに同期された状態で実行されている処理同士について、不意に、ずれが生じる場合がある。
【0005】
そのような異常(以下、「同期ずれ異常」と称する)が不意に生じた場合に、従来の2重系装置は、同期がずれた状態で実行されている処理同士を再び同期させて、正常な動作へと復帰させることができなかった。そのため、従来は、同期ずれ異常が不意に生じた場合には、当該2重系装置を含むシステム全体の安全性や信頼性への配慮から、当該2重系装置において実行中の処理を中止したり、当該2重系装置の動作自体を停止させたりすることが一般的であった。また、従来は、このような場合に、専ら、当該2重系装置を手動で操作して再び電源を投入したり、当該2重系装置の動作を遠隔操作によってリセットしたりするといった方法によって、当該2重系装置が再び正常に動作可能な状態となるように、当該2重系装置の状態を回復させていた。
【0006】
しかしながら、例えば鉄道保安装置のように、その動作を頻繁に停止させると、社会経済上、甚大な損失や不利益等が発生しうる2重系装置については、同期ずれ異常が生じる度に実行中の処理を中止したり、当該2重系装置の動作自体を停止させたりすることは好ましくない。
【0007】
本発明は、上記の課題に鑑みてなされたものであり、同期ずれ異常の発生原因が軽微な場合には、当該2重系装置に係るシステムの停止を回避して、当該システムの稼働率を向上させることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明による制御装置は、2つ以上のマイコンを備えるフェールセーフCPUからなる装置であって、2つ以上のマイコンの動作間で生じた同期ずれ異常を検知する異常検知部と、異常検知部が同期ずれ異常を検知した場合に、2つ以上のマイコンの各々の動作をそれぞれ異常処理モードへと移行させ、当該異常処理モードにおいて、当該同期ずれ異常を解消するための再同期フラグを有効にし、再同期フラグが有効ならば、2つ以上のマイコンの各々が実行する処理をそれぞれループ処理へと移行させ、当該ループ処理内で、2つ以上のマイコンの動作同士について再び同期を確立したときに、当該2つ以上のマイコンの各々が実行する処理をそれぞれメイン処理へと復帰させる処理を行う処理部とを有することを特徴とする。
【0009】
その他、本願が開示する課題、およびその解決方法は、発明を実施するための形態の欄、および図面により明らかにされる。
【発明の効果】
【0010】
本発明によれば、同期ずれ異常の発生原因が軽微な場合には、当該2重系装置に係るシステムの停止を回避して、当該システムの稼働率を向上させることができる。
【図面の簡単な説明】
【0011】
図1】実施形態に係る制御装置のハードウェア構成の一例を示す図である。
図2】従来技術に係る制御装置が、同期ずれ異常を検知後、システム停止となるまでの流れの一例を示す図である。
図3】同期ずれ異常が生じる仕組みを示すシーケンス図である。
図4】同期ずれ異常が生じた場合に、実施形態に係る制御装置が実行する同期化処理および比較処理の流れの一例を示すシーケンス図である。
図5】実施形態に係る制御装置が、同期ずれ異常から復帰し、再び正常に動作するまでの流れの一例を示す図である。
【発明を実施するための形態】
【0012】
以下の説明では、「I/O」は、一つ以上のI/O(Input/Output)インターフェースデバイスでよい。当該一つ以上のI/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスでよい。表示用計算機に対するI/Oインターフェースデバイスは、一つ以上の通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザーインターフェースデバイス、例えば、キーボードおよびポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
【0013】
また、以下の説明では、「通信インターフェースデバイス」は、一つ以上の通信インターフェースデバイスでよい。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
【0014】
すなわち、以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、一つ以上のI/O(Input/Output)インターフェースデバイスと、一つ以上の通信インターフェースデバイスとのうちの少なくとも一つでよい。
【0015】
また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
【0016】
また、以下の説明では、「永続記憶装置」は、一つ以上の記憶デバイスの一例である一つ以上の永続記憶デバイスでよい。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよく、具体的には、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、NVME(Non-Volatile Memory Express)ドライブ、または、SCM(Storage Class Memory)でよい。
【0017】
また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
【0018】
また、以下の説明では、「マイコン」は、一つ以上のプロセッサデバイスでもよいし、一つ以上のプロセッサデバイスを含むマイクロコントローラ(Micro Controller Unit; MCU)でもよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよいが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部または全部を行うハードウェア記述言語によりゲートアレイの集合体である回路(例えばFPGA(Field-Programmable Gate Array)、CPLD(Complex Programmable Logic Device)またはASIC(Application Specific Integrated Circuit))といった広義のプロセッサデバイスでもよい。
【0019】
また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGAまたはASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置および/またはインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
【0020】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。また、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。
【0021】
以下、図面を参照しつつ、本実施形態を詳細に説明する。
【0022】
なお、以下の説明においては、同一の、または類似する構成に共通の符号を付すことにより、重複した説明を省略することがある。
【0023】
また、同一あるいは同様の機能を有する要素が複数存在する場合に、当該複数の要素を区別するために、同一の符号に異なる添字を付して説明することがある。他方、当該複数の要素を区別する必要がない場合には、添字を省略して説明することがある。
【0024】
(制御装置100の構成例)
まず、本実施形態に係る制御装置100の構成例について、図1を参照して説明する。図1は、制御装置100のハードウェア構成の一例を示した図である。
【0025】
本実施形態の制御装置100は、信号灯や転てつ機等といった、鉄道システムを構成する各種地上装置(以下、「鉄道地上装置」とも称する)の動作を制御する電子連動装置であり、後述の各構成を備えるコンピュータ装置および/または制御基板によって実現される。
【0026】
図1に示したように、制御装置100は、A系回路5aと、B系回路5bという、回路構成が同一な2系統のマイコン回路を備える、フェールセーフCPUである。
【0027】
信号灯や転てつ機を制御する電子連動装置では、装置の故障が重大事故につながる可能性がある。従って、装置が故障した場合においても、装置全体を安全側に制御するフェールセーフな構成が不可欠となる。ここで、「フェールセーフ」とは、部品等の故障により、重大事故を招くような危険側制御とならないことをいう。危険側制御にならないようにするため、故障を確実に検出する回路を付加することにより、安全側制御となるような構成としている。よく用いられる構成としては、同一回路や同一部品を多重系構成とすることで、1つの系の回路や部品に異常が起きた場合に、別な系との違いにより故障を検知する方式が多い。その中でも代表的なフェールセーフ構成の1つに、図1に示した制御装置100のように、2つのマイコン(1a、1b)で冗長構成を取るフェールセーフCPUがある。すなわち、このフェールセーフCPUは、2つのマイコン(1a、1b)がそれぞれ同一周波数、同一プログラムで且つ同一ステップで動作し、比較器11によりこれら2つのマイコン(1a、1b)の動作を常時監視することで、一方のマイコン(1aまたは1b)に異常が起きたかどうかを検知するものである。
【0028】
一般的なマイコン回路では、プログラムの保存および演算動作をさせるためのプログラム格納領域やワーク領域として使用するメモリ、外部との通信などデータ入出力を行うためのI/O等、いろいろなインターフェースを持つものが殆どである。制御装置100のようなフェールセーフCPUでは、この構成が2系統存在し、更にこの2系統のマイコン回路(5a、5b)がそれぞれ同一周波数、同一プログラムで且つ同一ステップで動作する事を前提に、それぞれのマイコン(1a、1b)より入出力するアドレス信号、データ信号、制御信号をある時間単位で比較し、異なる状態を検出すると一方が故障と判断し比較不一致として異常動作報告をする。
【0029】
上記内容についての具体的な説明を、図1を参照しつつ行う。図1は、フェールセーフCPUである制御装置100のハードウェア構成の一例を示す図である。なお、図1は、説明上必要な個所に着目した図であるため、不要な個所については図示を省略している。
【0030】
上述したように、制御装置100はフェールセーフCPUであるため、図1に示したように、A系回路5aと、B系回路5bという、回路構成が同一な2系統のマイコン回路を備えている。
【0031】
このうち、A系マイコン1aは、A系マイコンバス4aを介して、A系メモリ2a、およびA系I/O3aと接続される。同様に、B系マイコン1bは、B系マイコンバス4bを介して、B系メモリ2b、およびB系I/O3bと接続される。
【0032】
A系メモリ2aは、自身の状態を報告するA系ステータス信号21aを出力する。同様に、B系メモリ2bは、自身の状態を報告するB系ステータス信号21bを出力する。
【0033】
A系I/O3aは、I/O制御状態を報告するA系割込信号23aを出力する。同様に、B系I/O3bは、I/O制御状態を報告するB系割込信号23bを出力する。
【0034】
制御装置100のようなフェールセーフCPUにおいては、A系マイコンバス4aとB系マイコンバス4bとが、それぞれ比較器11に接続されている。この比較器11は、A系マイコン1aおよびB系マイコン1bが、それぞれ同一周波数、同一プログラムで且つ同一ステップで動作する事を前提に、各マイコンバス(4a、4b)の状態を常時監視して、2系統のマイコン回路(5a、5b)の動作に異常が発生した場合には、当該異常を検知する。
【0035】
マイコンバス(4a、4b)は、アドレス信号、データ信号、および制御信号の伝送経路である。そのため、比較器11は、各マイコンバス(4a、4b)の状態を常時監視して、これら信号の電圧レベルを所定の時間単位毎に比較する。そして、比較器11は、1本でも異なる状態を検出すると、A系回路5aと、B系回路5bとのどちらか一方が故障したと判断して、異常動作報告を行う。
【0036】
(同期ずれ異常の概要)
フェールセーフCPUにおいて、比較器11によって異常として検知される要因(以下、「異常検知要因」と称する)の主な類型の一つが、前述した同期ずれ異常である。
【0037】
この同期ずれ異常は、前述したように、2系統のマイコン(1a、1b)が正常動作時には同一ステップで動作し、同期状態が保たれるのに対し、何らかの理由で、各マイコン(1aまたは1b)がそれぞれ別の処理を実行してしまうことにより、2系統のマイコン(1a、1b)の各々が、それぞれ異なるステップで動作している状態のことである。
【0038】
なお、別の異常検知要因の類型の一つに、比較不一致異常と呼称されるものがある。この比較不一致異常とは、同一ステップで動作している状態(同期状態)で生じる、部品のばらつきによるアドレス信号、データ信号、制御信号の電圧レベルの不一致が、異常として検出されたものである。この比較不一致異常については、本実施形態の制御装置100が対象とする同期ずれ異常とは、異常検知要因の類型が異なるため、ここでは説明を省略する。
【0039】
比較器11は、同期ずれ異常や比較不一致異常等の異常検知要因を検出した場合には、異常動作として報告する。
【0040】
具体的には、同期ずれ異常が発生すると、同一ステップで動作していたA系マイコン1aとB系マイコン1bが異なるステップで動作してしまうため、前述したそれぞれのマイコンバス(4a、4b)のアドレス信号、データ信号、制御信号の電圧レベルは、比較する同一時刻で見た場合、全てが異なる状態になる。比較器11は、このような状態が発生した場合には、同期ずれ異常が生じたものとして、異常動作報告を行う。
【0041】
(同期ずれ異常の発生要因)
ここで、上述した同期ずれ異常の発生要因を説明する。なお、システムの構成等により要因は異なるため、以下に示す2つの例について、図1を参照しながら説明する。
【0042】
なお、この2つの例についての以下の説明は、いずれも、専らA系回路5aを題材に行っており、B系回路5bについては、適宜、言及を省略している。しかしながら、A系回路5aを題材とした以下の説明は、実際には、B系回路5bについても同様に該当することは言うまでもない。
【0043】
1つ目は、2つのマイコン(1a、1b)の各々に対して入力される割込信号(23a、23b)に係る例を、A系割込信号23aに主眼を置いて説明する。
【0044】
A系I/O3aは、I/O制御において何らかの事象が発生したことを、A系割込信号23aを使用して、A系マイコン1aへ報告をする。一般的に、割込信号がマイコンに入力されると、割込処理プログラムへ分岐する。2重系装置におけるマイコン(1a、1b)の場合は、それぞれの割込信号(23a、23b)を、同時に、A系マイコン1aおよびB系マイコン1bへと入力させなければならない。同時に入力させないと、A系マイコン1aと、B系マイコン1bとが、同一ステップを確保できなくなるためである。A系I/O3aから出力されるA系割込信号23aも、部品の製造プロセスや個々のばらつき、経年劣化等により、時間的な長さが変わることがある。このことが、A系割込信号23aとB系割込信号23bとの入力タイミングに差を生じさせて、A系マイコン1aとB系マイコン1bとの間で同期ずれ異常を引き起こしてしまう要因である。
【0045】
2つ目は、2つのマイコン(1a、1b)の各々に対して入力されるステータス信号(21a、21b)に係る例を、A系ステータス信号21aに主眼を置いて説明する。
【0046】
A系メモリ2aは、A系マイコン1aがA系メモリ2aに対して書込や読込を行う時に、A系メモリ2a自身の状態を示すA系ステータス信号21aを出力する。このA系ステータス信号21aは、A系マイコン1aが書込や読込を行った際に、A系メモリ2aの内部状態によって、A系メモリ2aがアクセス可能な状態か、不可能な状態かを示すステータス信号である。もし、このA系ステータス信号21aが、A系メモリ2aがアクセス不可能な状態であることを示している場合、A系メモリ2aがアクセス可能な状態となるまで処理を待たせたり、分岐させたりすることができる。その際の所要時間も、製造プロセスや個々のばらつき、経年劣化等により、時間的な長さが変わる。そのため、この状態が蓄積されると、同期ずれ異常を引き起こす要因となる。
【0047】
これらの、同期ずれ異常を発生させる2つの要因は、どちらも、マイコン回路(5a、5b)を構成している各部品の製造プロセスで生じた当該部品のばらつきや、当該部品の経年劣化等によるものである。こうしたマイコン回路(5a、5b)の構成部品のばらつきや経年劣化等といった原因は、部品交換を伴う修理の要否という点で、当該部品の物理的な故障とは明確に異なる。しかしながら、従来のフェールセーフCPUでは、こうした当該部品の物理的な故障ではない、マイコン回路(5a、5b)の構成部品の軽微な不具合に起因して生じた同期ずれ異常についても、当該部品の物理的な故障に起因して生じた同期ずれ異常と区別せずに同列に扱っており、同期ずれ異常が発生した場合には、その根本的な発生原因を区別することなく、一律に当該システムを停止させていた。
【0048】
すなわち、上述したように、フェールセーフCPUにおいては、平常動作時には2つのマイコン(1a、1b)が同一ステップで同期状態を保ちながら動作するが、同期ずれ異常が生じた場合には、異なる動作をすることがある。この同期ずれ異常が、例えばマイコン回路(5a、5b)の構成部品のばらつきに起因する一過性故障によるものである場合には、当該部品のばらつきにより異なるが、A系マイコン1aとB系マイコン1bの処理の差が1バスサイクル以上になってしまうことがある。更に、A系マイコン1aとB系マイコン1bとが割込処理によって全く異なる処理をする場合には、更に大きな同期ずれ状態に陥ってしまうこともある。このように、マイコン回路(5a、5b)の構成部品が物理的に故障したわけでないにもかかわらず、同期ずれ異常が生じてしまうことがあり、かねてより問題となっていた。
【0049】
また、特に、この同期ずれ異常が生じたケースにおいては、2つのマイコン(1a、1b)の動作を再度同期させることが非常に困難である。そのため、従来のフェールセーフCPUにおいては、同期ずれ異常が発生した場合には、上述したように、専ら、当該システムの稼働を停止させる対処法がとられてきた。こうした事情から、同期ずれ異常が発生した場合に、当該システムの稼働停止を回避する手段は、これまで見出されてこなかった。
【0050】
(従来技術における処理)
次に、図2を参照しながら、従来技術に係るフェールセーフCPUが、同期ずれ異常を検知後、システム停止となるまでの流れについて説明する。
【0051】
なお、図2は、上述したメカニズムによって同期ずれ異常が発生した場合に、従来技術に係るフェールセーフCPUが実行する処理の一例を図示しており、本実施形態に係る制御装置100が実行する処理とは、同期ずれ異常が生じるメカニズムは同じであるが、同期ずれ異常が発生した場合に実行する処理の内容が大きく異なる。本実施形態の制御装置100が実行する処理は図5に関連して後述する。
【0052】
A系マイコン1aのメイン処理41a動作と、B系マイコン1bのメイン処理41b動作は、いずれも正常に動作していれば、同一ステップで動作する。従って、図2の図示内容で見たときに、A系マイコン1aのメイン処理41aと、B系マイコン1bのメイン処理41bとの処理位置は、左右で水平な状態を保つ。
【0053】
同期ずれ異常が発生すると、図2の図示内容で見たときに、A系マイコン1aのメイン処理41aと、B系マイコン1bのメイン処理41bとが左右水平ではなく、どちらか一方の処理が先に進み、水平ではない状態となる。図2に例示した場合では、A系マイコン1aのメイン処理41aが先行している。
【0054】
また、同期ずれ異常を検知するタイミングは、A系マイコン1aとB系マイコン1bの処理進行にずれが発生した時点では検知されない。同期ずれ異常は、A系マイコン1aの動作とB系マイコン1bの動作とについて比較処理を実行した際に検知される。この比較処理は、本実施形態の制御装置100においても、この従来技術に係るフェールセーフCPUと同様に実行される。比較処理の詳細については、図3に関連して後述する。
【0055】
なお、詳細は後述するが、本実施形態の制御装置100においては、このタイミングで同時にA系マイコン1aとB系マイコン1bとの同期化処理も行われ、同期が取れた後に、データの比較が行われる。この同期化処理の詳細は、図4に関連して後述する。
【0056】
従来技術に係るフェールセーフCPUにおいては、図2に示したように、この状態で同期ずれ異常を検知すると、比較器11からA系マイコン1aとB系マイコン1bに対して、A系異常割込25aとB系異常割込25bとがそれぞれ同時に発行されて、A系異常処理42a、B系異常処理42bが実行される。異常処理後は、各異常処理内でA系永久ループ33aと、B系永久ループ33bとがそれぞれ行われ、通電中であるうちは復帰することはない。
【0057】
(比較処理と同期化処理)
ここで、本実施形態の制御装置100において実行される、比較処理と同期化処理について、図3図4を参照しながら説明する。
【0058】
図3は、同期ずれ異常が生じる仕組みを示すシーケンス図である。図3は、比較処理が行われた際に、同期ずれが発生している状態を示している。
【0059】
また、図4は、同期ずれ異常が生じた場合に、本実施形態に係る制御装置100が実行する同期化処理および比較処理の流れの一例を示すシーケンス図である。図4は、図3で発生している同期ずれを、同期化処理によって合わせこむ動作を示している。
【0060】
前述したように、フェールセーフCPUである制御装置100においては、A系マイコン1aとB系マイコン1bが、同一クロック、同一プログラム、同一ステップで処理を実行する。この時に、重要なデータの入出力(22a、22b)を行う前に、A系マイコン1aとB系マイコン1bでそのデータを比較し、同一ならば正常と判断、もし不同ならば異常と判断する。これにより、誤ったデータではないということを保証する。
【0061】
具体的に比較処理を実行する場合、ある比較対象領域(図3および図4ではA系メモリ2aおよびB系メモリ2b)を設けておき、フェールセーフCPUである制御装置100から入出力(22a、22b)する重要なデータをその領域へアクセスさせることでデータ比較を行う。その過程で行われるデータの比較が、比較処理である。この動作は、図3図4のA系マイコン1aおよびB系マイコン1bのそれぞれの比較処理1と、比較処理2および比較処理4で示す動作が該当する。
【0062】
比較処理は、A系マイコン1aとB系マイコン1bが同期している状態が前提であり、それぞれのマイコンがアクセスしたタイミングで実行される。よって、A系マイコン1aとB系マイコン1bの同期がずれている状態では、比較はできない。もし比較処理を実行した際に同期がずれている場合、比較をする前に同期を合わせる処理を実行する。これが同期化処理である。この動作は、図3図4のA系マイコン1aおよびB系マイコン1bのそれぞれの比較処理3で示す動作が該当する。
【0063】
同期化処理を説明するため、A系マイコン1aの処理が数サイクル先行している状態(B系マイコン1bが数サイクル遅れた状態)を例にする。この時に比較処理を実行すると、A系マイコン1aとB系マイコン1bは数サイクルの同期ずれが発生している状態であるため比較はできない。そのため、処理が先行しているA系マイコン1aに対して、「WAIT(動作停止)」させるWAIT制御を行う。このWAIT制御は、A系マイコン1aとB系マイコン1bを監視する、比較器11が行う。WAITさせることで、A系マイコン1aの処理を停止させて、A系マイコン1aと同じ処理までB系マイコン1bの処理を進めさせる。B系マイコン1bの処理がA系マイコン1aの処理まで到達すると、A系マイコン1aへのWAIT制御を解除し、処理を進める。
【0064】
以上が、本実施形態に係る制御装置100が実行する、比較処理と同期化処理である。
【0065】
なお、同期ずれの状態は、数サイクル程度の小さなずれならば、同期化処理で同期合わせをすることが可能である。また、定期的な同期化処理により、数サイクル程度の小さなずれであるうちに同期させておき、大きなずれとなる前に同期ずれの程度を最小限抑えることができる。しかしながら、定期的な同期化は全体の処理負荷が軽い余裕のある状態で行われる処理のため、処理負荷が重い状態では、再同期化処理は行われない。そうなると、数サイクル程度であった同期ずれ状態が蓄積されて、大きな同期ずれ状態となり、A系マイコン1aとB系マイコン1bで比較処理が行われたときに、同期化処理ができない程の同期ずれを起こしてしまうことになる。
【0066】
(制御装置100における処理)
同期ずれ異常が生じた場合に、本実施形態に係る制御装置100が実行する処理の一例を、図1図5を用いて説明をする。
【0067】
なお、図1は、本実施形態に係る制御装置100のハードウェア構成の一例であり、詳細は前述の通りであるため、ここでは説明を省略する。
【0068】
図5は、本実施形態に係る制御装置100が、同期ずれ異常から復帰し、再び正常に動作するまでの流れの一例を示す図である。
【0069】
なお、図5に示した場合においては、A系マイコン1aの動作とB系マイコン1bの動作とについて、同期化で同期合わせできない程の同期ずれ異常が発生した状態であるものとする。
【0070】
A系マイコン1aのA系メイン処理31aとB系マイコン1bのB系メイン処理31bは、同期ずれ状態にあり比較処理が実行されてから、同期合わせができない程のずれが生じているため同期ずれ異常として、比較器11よりA系マイコン1a、B系マイコン1bに対してそれぞれA系異常割込25a、B系異常割込25bが発行され、それぞれA系異常処理32a、B系異常処理32bに分岐する。
【0071】
なお、ここで、従来技術に係るフェールセーフCPUでは、前述したように、異常処理の実行後は当該異常処理内で永久ループし、通電状態にあるうちは復帰することがない。
【0072】
これに対して、本発明では、A系異常処理42a内にA系再同期フラグ43aを、B系異常処理42b内にB系再同期フラグ43bをそれぞれ設け、同期ずれ異常でA系異常処理42aと、B系異常処理42bとに分岐した場合に、このA系再同期フラグ43a、および、B系再同期フラグ43bをそれぞれ有効にし、各系の処理をそれぞれA系メイン処理41a、および、B系メイン処理41bに復帰させる。
【0073】
復帰したA系メイン処理41a内、および、B系メイン処理41b内には、A系再同期フラグ43aをチェックするA系同期フラグチェックポイント44aと、B系再同期フラグ43bをチェックするB系同期フラグチェックポイント44bとを設け、そのA系同期フラグチェックポイント44a、および、B系同期フラグチェックポイント44bで、A系再同期フラグ43a、および、B系再同期フラグ43bがそれぞれ有効であった場合には、A系メイン処理41a内のA系ループ処理46aと、B系メイン処理41b内のB系ループ処理46bへと分岐する。
【0074】
A系ループ処理46a、B系ループ処理46b内では、A系異常割込25a、B系異常割込25bをマスクして同期化処理を何度も実行し、同期が取れることを待つ。なお、本実施形態の制御装置100においては、2つの系の処理について同期が取れているか否かのチェックを、ハードレジスタを用いて行う。
【0075】
遅れた系が進んでいる系に追いつくと、2つの系の間で同期を合わせることができ、A系メイン処理リターン47a、および、B系メイン処理リターン47bで戻ることができる。この時には、A系マイコン1aのA系メイン処理41aと、B系マイコン1bのB系メイン処理41bとでは同期が取れている状態となり、オンライン動作に復帰することが可能になる。
【0076】
なお、以上の本実施形態の説明は、制御装置100が2つのマイコン(1a、1b)を備える2重系装置であるものとして行ったが、制御装置は多重系のフェールセーフCPUであればよく、冗長化の具体的な度合は、適宜に変更されてよい。例えば、上述の各種処理を実行する制御装置は、3重系のフェールセーフCPUであってもよいし、4重系以上のフェールセーフCPUであってもよい。鉄道保安装置である制御装置の冗長性を高めた場合には、当該鉄道システムの安全性や信頼性をより高くすることができる。
【0077】
以上説明した本発明の実施形態は、以下のように総括される。
【0078】
(1)制御装置100は、2つ以上のマイコン(1a、1b)を備えるフェールセーフCPUからなる装置であって、2つ以上のマイコン(1a、1b)の動作間で生じた同期ずれ異常を検知する異常検知部と、異常検知部が同期ずれ異常を検知した場合に、2つ以上のマイコン(1a、1b)の各々の動作をそれぞれ異常処理モード(42a、42b)へと移行させ、当該異常処理モード(42a、42b)において、当該同期ずれ異常を解消するための再同期フラグ(43a、43b)を有効にし、再同期フラグ(43a、43b)が有効ならば、2つ以上のマイコン(1a、1b)の各々が実行する処理をそれぞれループ処理(46a、46b)へと移行させ、当該ループ処理(46a、46b)内で、2つ以上のマイコン(1a、1b)の動作同士について再び同期を確立したときに、当該2つ以上のマイコン(1a、1b)の各々が実行する処理をそれぞれメイン処理(41a、41b)へと復帰させる処理を行う処理部とを有することを特徴とする。制御装置100は、多重系装置であることによって、制御対象であるシステムの安全性や信頼性を高くすることができる。また、このようにしたので、制御装置100は、同期ずれ異常の発生原因が軽微な場合には、制御装置100の制御対象であるシステムの停止を回避して、当該システムの稼働率を向上させることができる。その結果、当該システムにおいて、安全性や信頼性の高さと、稼働率の高さとを両立することができる。
【0079】
(2)制御装置100は、2つのマイコン(1a、1b)を備える2重系装置である。このようにしたので、制御装置100は、制御装置100の制御対象であるシステムについて高い安全性や信頼性を実現しつつ、制御装置100の物理的な大きさをコンパクトにすることができる。その結果、制御装置100をさまざまな箇所に設置することができるとともに、制御装置100の製造コストを低廉にすることができる。
【0080】
(3)制御装置100は、鉄道システムにおいて地上装置の動作を制御する鉄道保安用の電子連動装置である。このようにしたので、制御装置100は、同期ずれ異常の発生原因が軽微な場合には、制御装置100の制御対象である、当該鉄道システム中の各地上装置の停止を回避して、当該鉄道システムの稼働率を向上させることができる。その結果、当該鉄道システムにおいて、安全性や信頼性の高さと、稼働率の高さとを両立することができる。
【0081】
(4)地上装置は、信号灯である。このようにしたので、制御装置100は、同期ずれ異常の発生原因が軽微な場合には、制御装置100の制御対象である、当該鉄道システム中の信号灯の停止を回避して、当該鉄道システムの稼働率を向上させることができる。その結果、当該鉄道システムにおいて、安全性や信頼性の高さと、稼働率の高さとを両立することができる。
【0082】
(5)地上装置は、転てつ機である。このようにしたので、制御装置100は、同期ずれ異常の発生原因が軽微な場合には、制御装置100の制御対象である、当該鉄道システム中の転てつ機の停止を回避して、当該鉄道システムの稼働率を向上させることができる。その結果、当該鉄道システムにおいて、安全性や信頼性の高さと、稼働率の高さとを両立することができる。
【0083】
なお、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、任意の構成要素を用いて実施可能である。
【0084】
上記の実施形態や実施例、変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や実施例、変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【0085】
上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0086】
また、以上に説明した制御装置100の各機能部の配置形態は一例に過ぎない。各機能部の配置形態は、制御装置100が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【符号の説明】
【0087】
100:制御装置(フェールセーフCPU)
1a A系マイコン
1b B系マイコン
2a A系メモリ
2b B系メモリ
3a A系I/O
3b B系I/O
4a A系マイコンバス
4b B系マイコンバス
5a A系回路
5b B系回路
21a A系ステータス
21b B系ステータス
22a A系入出力
22b B系入出力
11 比較器
23a A系割込信号
23b B系割込信号
24a A系ウェイト
24b B系ウェイト
25a A系異常割込
25b B系異常割込
31a、41a A系メイン処理
31b、41b B系メイン処理
32a、42a A系異常処理
32b、42b B系異常処理
33a A系永久ループ
33b B系永久ループ
46a A系ループ処理
46b B系ループ処理
45a A系ループ処理分岐
45b B系ループ処理分岐
44a A系再同期フラグチェックポイント
44b B系再同期フラグチェックポイント
47a A系メイン処理リターン
47b B系メイン処理リターン
43a A系再同期フラグ
43b B系再同期フラグ
図1
図2
図3
図4
図5