(57)【要約】【課題】複数のＣＰＵを用いる保安装置において、複数のＣＰＵの処理ずれを許容し、かつ、処理違いであることを正確に把握し、信頼性、可用性、保守性及び安全性を確保し得る保安装置、保安システム及び保安方法を提案する。【解決手段】複数のＣＰＵとアクセス調停照合部とを備える保安装置において、複数のＣＰＵは、アクセス要求の種別が照合対象であるか否かを区別し、区別した種別に応じてアクセス要求を発行し、アクセス調停照合部は、一のＣＰＵから発行された第１のアクセス要求の種別を判断し、照合対象外の場合、第１のアクセス要求の内容に応じた処理を実行し、照合対象の場合、他のＣＰＵから種別が照合対象である第２のアクセス要求が発行されるまで待機し、第２のアクセス要求の内容と、第１のアクセス要求の内容とを照合し、一致する場合はアクセス要求の内容に応じた処理を実行し、一致しない場合は処理の実行を停止することを特徴とする。【選択図】図１
2015133029.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵとアクセス調停照合部とを備える保安装置において、
前記複数のＣＰＵは、
アクセス要求の種別が照合対象であるか否かを区別し、
区別した種別に応じてアクセス調停照合部にアクセス要求を発行し、
前記アクセス調停照合部は、
前記複数のＣＰＵのうちの一のＣＰＵから第１のアクセス要求が発行されると、発行された前記第１のアクセス要求の種別を判断し、
前記第１のアクセス要求の種別が照合対象外の場合、前記複数のＣＰＵのうちの他のＣＰＵからアクセス要求が発行されることを待たずに前記第１のアクセス要求の内容に応じた処理を実行し、
前記第１のアクセス要求の種別が照合対象の場合、前記他のＣＰＵから種別が照合対象である第２のアクセス要求が発行されるまで待機し、前記他のＣＰＵから前記第２のアクセス要求が発行されると、発行された前記第２のアクセス要求の内容と、既に受領済みの前記第１のアクセス要求の内容とを照合し、一致する場合は前記第１及び第２のアクセス要求の内容に応じた処理を実行し、一致しない場合は前記第１及び第２のアクセス要求の内容に応じた処理の実行を停止する
ことを特徴とする保安装置。
【請求項２】
前記複数のＣＰＵは、
前記アクセス要求の発行先のアドレスと、前記アクセス要求の発行先の対象機器と、前記アドレスが照合対象であるか否かを示す情報とを対応付けたメモリマップを備え、前記メモリマップを参照して、前記アクセス要求の種別を区別し、
前記アクセス調停照合部は、
前記メモリマップを備え、前記メモリマップを参照して、前記第１及び前記第２のアクセス要求の種別を判断する
ことを特徴とする請求項１に記載の保安装置。
【請求項３】
前記複数のＣＰＵからアクセス可能に接続される共有メモリと、
前記共有メモリに格納される情報を表示画面に表示するマンマシンインタフェース部とを備え、
前記アクセス調停照合部は、
前記保安装置において前記第１及び第２のアクセス要求を含むイベントが発生した時刻と、前記イベントの動作主体と、前記イベントの動作内容とを対応付けて時系列的に記録した動作ログを作成し、
前記共有メモリは、
前記動作ログを格納し、
前記マンマシンインタフェース部は、
前記共有メモリに格納される動作ログを前記表示画面に表示する
ことを特徴とする請求項１に記載の保安装置。
【請求項４】
前記アクセス調停照合部は、
前記第１及び第２のアクセス要求が照合対象であるか否かを判断する照合要否回路と、
前記第１及び第２のアクセス要求に含まれるアドレスを照合して一致するか否かを判断するアドレス照合回路と、
前記第１及び第２のアクセス要求がライト要求である場合に前記第１及び第２のアクセス要求に含まれるデータを照合して一致するか否かを判断するデータ照合回路と、
前記照合要否判定回路、前記アドレス照合回路及び前記データ照合回路からの判断結果に基づいて、前記第１及び第２のアクセス要求に応じた処理を実行又は停止する調停回路とを備える
ことを特徴とする請求項１に記載の保安装置。
【請求項５】
複数の保安装置を備える保安システムにおいて、
前記保安装置は、
複数のＣＰＵとアクセス調停照合部とを備え、
前記複数のＣＰＵは、
アクセス要求の種別が照合対象であるか否かを区別し、
区別した種別に応じてアクセス調停照合部にアクセス要求を発行し、
前記アクセス調停照合部は、
前記複数のＣＰＵのうちの一のＣＰＵから第１のアクセス要求が発行されると、発行された前記第１のアクセス要求の種別を判断し、
前記第１のアクセス要求の種別が照合対象外の場合、前記複数のＣＰＵのうちの他のＣＰＵからアクセス要求が発行されることを待たずに前記第１のアクセス要求の内容に応じた処理を実行し、
前記第１のアクセス要求の種別が照合対象の場合、前記他のＣＰＵから種別が照合対象である第２のアクセス要求が発行されるまで待機し、前記他のＣＰＵから前記第２のアクセス要求が発行されると、発行された前記第２のアクセス要求の内容と、既に受領済みの前記第１のアクセス要求の内容とを照合し、一致する場合は前記第１及び第２のアクセス要求の内容に応じた処理を実行し、一致しない場合は前記第１及び第２のアクセス要求の内容に応じた処理の実行を停止する
ことを特徴とする保安システム。
【請求項６】
複数のＣＰＵとアクセス調停照合部とを備える保安装置の保安方法において、
前記複数のＣＰＵが、
アクセス要求の種別が照合対象であるか否かを区別する第１のステップと、
区別した種別に応じてアクセス調停照合部にアクセス要求を発行する第２のステップと、
前記アクセス調停照合部が、
前記複数のＣＰＵのうちの一のＣＰＵから第１のアクセス要求が発行されると、発行された前記第１のアクセス要求の種別を判断する第３のステップと、
前記第１のアクセス要求の種別が照合対象外の場合、前記複数のＣＰＵのうちの他のＣＰＵからアクセス要求が発行されることを待たずに前記第１のアクセス要求の内容に応じた処理を実行する第４のステップと、
前記第１のアクセス要求の種別が照合対象の場合、前記他のＣＰＵから種別が照合対象である第２のアクセス要求が発行されるまで待機し、前記他のＣＰＵから前記第２のアクセス要求が発行されると、発行された前記第２のアクセス要求の内容と、既に受領済みの前記第１のアクセス要求の内容とを照合し、一致する場合は前記第１及び第２のアクセス要求の内容に応じた処理を実行し、一致しない場合は前記第１及び第２のアクセス要求の内容に応じた処理の実行を停止する第５のステップと
を備えることを特徴とする保安方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、保安装置、保安システム及び保安方法に関する。
【背景技術】
【０００２】
特許文献１には、少なくとも２つのＣＰＵから送出される２つのデータの同期ずれを検知し、照合タイミングを調整した後、送出された２つのデータを照合するデータ照合装置、照合方法及びそれを用いた安全保安システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１６１３５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで複数のＣＰＵが動作する場合、各ＣＰＵの起動（例えばリセット解除）のタイミングが同一だったとしても、動作ずれが発生する可能性がある。一例は、タイマを生成する元のクロック素子が各ＣＰＵで異なる場合、クロック信号の微小な周期誤差が蓄積して各ＣＰＵが各々認識している時刻値がずれる可能性がある。
【０００５】
また他の例は、各ＣＰＵが個別のフラッシュメモリにアクセスする場合、各フラッシュメモリの過去の記録回数やメモリ素子の故障箇所の違いにより、各フラッシュメモリの応答タイミングにずれが発生し、ひいては各ＣＰＵの動作がずれる可能性がある。
【０００６】
更に他の例は、各ＣＰＵに微小な動作ずれ（同期ずれ）が発生している状況で、各ＣＰＵがともに割込み禁止処理を行う直前で各ＣＰＵに割込みが発生した場合、あるＣＰＵは割込み禁止処理を行い、別のＣＰＵは発生した割込みに対応する処理を行ったことで、各ＣＰＵの動作（処理）がずれる可能性がある。
【０００７】
このように複数のＣＰＵを用いる保安装置においては、各ＣＰＵの動作がずれた場合でも、ずれの程度に関わらず、信頼性、可用性、保守性及び安全性を確保することが重要である。また一方で、各ＣＰＵの処理（プログラム）が一部でも異なる場合、動作（処理）違いによって各ＣＰＵの動作がずれる可能性がある。
【０００８】
この場合、つまり微小な同期ずれではなく処理に違いが出る場合であっても、動作の異なるＣＰＵがともに正当に動作している（または一部ないし全てに不良が発生している）旨を正確に把握し、信頼性、可用性、保守性及び安全性を確保することが重要である。
【０００９】
本発明は以上の点を考慮してなされたもので、複数のＣＰＵを用いる保安装置において、複数のＣＰＵの処理ずれを許容し、かつ、処理違いであることを正確に把握し、信頼性、可用性、保守性及び安全性を確保し得る保安装置、保安システム及び保安方法を提案するものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するために、本発明においては、複数のＣＰＵとアクセス調停照合部とを備える保安装置において、複数のＣＰＵは、アクセス要求の種別が照合対象であるか否かを区別し、区別した種別に応じてアクセス調停照合部にアクセス要求を発行し、アクセス調停照合部は、複数のＣＰＵのうちの一のＣＰＵから第１のアクセス要求が発行されると、発行された第１のアクセス要求の種別を判断し、第１のアクセス要求の種別が照合対象外の場合、複数のＣＰＵのうちの他のＣＰＵからアクセス要求が発行されることを待たずに第１のアクセス要求の内容に応じた処理を実行し、第１のアクセス要求の種別が照合対象の場合、他のＣＰＵから種別が照合対象である第２のアクセス要求が発行されるまで待機し、他のＣＰＵから第２のアクセス要求が発行されると、発行された第２のアクセス要求の内容と、既に受領済みの第１のアクセス要求の内容とを照合し、一致する場合は第１及び第２のアクセス要求の内容に応じた処理を実行し、一致しない場合は第１及び第２のアクセス要求の内容に応じた処理の実行を停止することを特徴とする。
【００１１】
またかかる課題を解決するために、本発明においては、複数の保安装置を備える保安システムにおいて、保安装置は、複数のＣＰＵとアクセス調停照合部とを備え、複数のＣＰＵは、アクセス要求の種別が照合対象であるか否かを区別し、区別した種別に応じてアクセス調停照合部にアクセス要求を発行し、アクセス調停照合部は、複数のＣＰＵのうちの一のＣＰＵから第１のアクセス要求が発行されると、発行された第１のアクセス要求の種別を判断し、第１のアクセス要求の種別が照合対象外の場合、複数のＣＰＵのうちの他のＣＰＵからアクセス要求が発行されることを待たずに第１のアクセス要求の内容に応じた処理を実行し、第１のアクセス要求の種別が照合対象の場合、他のＣＰＵから種別が照合対象である第２のアクセス要求が発行されるまで待機し、他のＣＰＵから第２のアクセス要求が発行されると、発行された第２のアクセス要求の内容と、既に受領済みの第１のアクセス要求の内容とを照合し、一致する場合は第１及び第２のアクセス要求の内容に応じた処理を実行し、一致しない場合は第１及び第２のアクセス要求の内容に応じた処理の実行を停止することを特徴とする。
【００１２】
またかかる課題を解決するために、本発明においては、複数のＣＰＵとアクセス調停照合部とを備える保安装置の保安方法において、複数のＣＰＵが、アクセス要求の種別が照合対象であるか否かを区別する第１のステップと、区別した種別に応じてアクセス調停照合部にアクセス要求を発行する第２のステップと、アクセス調停照合部が、複数のＣＰＵのうちの一のＣＰＵから第１のアクセス要求が発行されると、発行された第１のアクセス要求の種別を判断する第３のステップと、第１のアクセス要求の種別が照合対象外の場合、複数のＣＰＵのうちの他のＣＰＵからアクセス要求が発行されることを待たずに第１のアクセス要求の内容に応じた処理を実行する第４のステップと、第１のアクセス要求の種別が照合対象の場合、他のＣＰＵから種別が照合対象である第２のアクセス要求が発行されるまで待機し、他のＣＰＵから第２のアクセス要求が発行されると、発行された第２のアクセス要求の内容と、既に受領済みの第１のアクセス要求の内容とを照合し、一致する場合は第１及び第２のアクセス要求の内容に応じた処理を実行し、一致しない場合は第１及び第２のアクセス要求の内容に応じた処理の実行を停止する第５のステップとを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、複数のＣＰＵを用いる保安装置において、複数のＣＰＵの処理ずれを許容し、かつ、処理違いであることを正確に把握し、信頼性、可用性、保守性及び安全性を確保することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態における保安システムの全体構成図である。
【図２】アクセス調停照合部の回路構成図である。
【図３】メモリマップの概念構成図である。
【図４】動作ログの概念構成図である。
【図５】アクセス調停照合処理を示すフローチャートである。
【図６】アクセス調停照合処理の一例を示すタイムチャートである。
【発明を実施するための形態】
【００１５】
以下図面について、本発明の一実施の形態を詳述する。
【００１６】
（１）全体構成
図１は、本実施の形態における保安システム１の全体構成を示す。保安システム１は、複数の保安装置１００Ａ、１００Ｂ及び１００Ｃから構成される。保安装置１００Ａは、保安装置１００Ｂ及び１００Ｃの動作を統括的に制御する制御装置であり、第１のＣＰＵ１０１、第２のＣＰＵ１０２、アクセス調停照合部１０３、共有メモリ１０４、通信部１０５、マンマシンインタフェース部１０６を備えて構成される。
【００１７】
保安システム１を構成する各部は、それぞれ通信線を介して互いに通信可能に接続される。通信線及び通信方式はここでは特に限定しないが、例えばメモリバス及び割込み信号やＰＣＩ（Peripheral Component Interconnect）バス又はＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）を用いたイーサネット（登録商標）通信等がある。
【００１８】
ＣＰＵ１０１及び１０２は、それぞれローカルメモリ１０１１及び１０２１を備え、これらローカルメモリ１０１１及び１０２１に格納されている各種プログラム（図示省略）との協働により、保安装置１００Ａの動作を統括的に制御する。またローカルメモリ１０１１及び１０２１には、各種プログラムの他にメモリマップＭＰが格納される。メモリマップＭＰの詳細については後述する（図３）。
【００１９】
アクセス調停照合部１０３は、例えばＦＰＧＡ（Field Programmable Gate Array）であり、レジスタ１０３Ａを備えて構成される。レジスタ１０３Ａには、メモリマップＭＰが格納される。アクセス調停照合部１０３は、このメモリマップＭＰを参照して、アクセス調停照合処理を実行する（図５）。
【００２０】
共有メモリ１０４は、例えばＲＡＭ（Random Access Memory）であり、動作ログ（イベントトレース情報）１０４１を格納する。動作ログ１０４１は、保安装置１００Ａの各部の動作内容を時系列的に記録した情報である。この動作ログ１０４１の詳細については後述する（図４）。
【００２１】
通信部１０５は、保安装置１００Ａと他の保安装置１００Ｂ及び１００Ｃとの間の通信を制御して保安装置１００Ａ、１００Ｂ及び１００Ｃを連携するインタフェースである。マンマシンインタフェース部１０６は、例えばキーボード、マウス及びディスプレイ等であって、ユーザからの入力を受け付け、一方でユーザに各種情報（例えば動作ログ１０４１）を表示する。
【００２２】
保安装置１００Ｂ及び１００Ｃは、例えば踏切制御装置等であって、内部の基本的構成は保安装置１００Ａと同様であるためここでの説明は省略する。
【００２３】
（２）内部構成
図２は、アクセス調停照合部１０３の回路構成を示す。アクセス調停照合部１０３は、第１の照合要否判定回路１０３１、第２の照合要否判定回路１０３２、アドレス照合回路１０３３、データ照合回路１０３４、調停回路１０３５から構成される。
【００２４】
第１のＣＰＵ１０１から発行されるアクセス調停照合部１０３へのアクセス要求は、第１のＣＰＵ１０１からの信号Ｓ１として、第１の照合要否判定回路１０３１、アドレス照合回路１０３３、データ照合回路１０３４及び調停回路１０３５に入力される。
【００２５】
また第２のＣＰＵ１０２から発行されるアクセス調停照合部１０３へのアクセス要求は、第２のＣＰＵ１０２からの信号Ｓ２として、第２の照合要否判定回路１０３２、アドレス照合回路１０３３、データ照合回路１０３４及び調停回路１０３５に入力される。
【００２６】
一方第１のＣＰＵ１０１から発行されるアクセス調停照合部１０３へのアクセス要求に対するアクセス調停照合部１０３の応答は、第１のＣＰＵ１０１への信号Ｓ３として、調停回路１０３５により出力される。
【００２７】
また第２のＣＰＵ１０２から発行されるアクセス調停照合部１０３へのアクセス要求に対するアクセス調停照合部１０３の応答は、第２のＣＰＵ１０２への信号Ｓ４として、調停回路１０３５により出力される。
【００２８】
アクセス調停照合部１０３と、共有メモリ１０４、通信部１０５及びマンマシンインタフェース部１０６との間のアクセス要求は、それぞれ信号Ｓ１１、Ｓ１２及びＳ１３として、調停回路１０３５に対して入力され、また調停回路１０３５により出力される。
【００２９】
アクセス調停照合部１０３は、ここでは図示していないレジスタ１０３Ａを備える。レジスタ１０３Ａにおいては状態フラグが設定される。この状態フラグは、保安動作可能を意味する「保安動作中」と、保安動作不可（禁止）を意味する「保安動作停止」の２種類の状態をとる。
【００３０】
まずはアクセス調停照合部１０３が「保安動作中」の動作について説明する。第１のＣＰＵ１０１からアクセス要求が発行された場合、第１の照合要否判定回路１０３１は、アクセス要求の内容から照合対象か否かを判定し、判定結果を信号Ｓ２１として調停回路１０３５に出力する。
【００３１】
これに対し、第１のＣＰＵ１０１からのアクセス要求が照合対象外であった場合、調停回路１０３５は、他の処理を行っている最中（ビジー状態）であれば他の処理が完了するのを待ち、他の処理を行っていない（アイドル状態）場合にはアクセス要求を受け付ける。
【００３２】
受け付けたアクセス要求が書き込み（ライト）要求である場合、調停回路１０３５は、アクセス要求に含まれるアドレスに従ってアクセス調停照合部１０３のレジスタ１０３Ａ、第２のＣＰＵ１０２、共有メモリ１０４、通信部１０５及びマンマシンインタフェース部１０６のうちの何れかの適切なアクセス先に対してライト要求を発行するとともに、第１のＣＰＵ１０１に対して応答を返す（受領した旨を伝える）。
【００３３】
一方受け付けたアクセス要求が読み出し（リード）要求である場合、調停回路１０３５は、アクセス要求に含まれるアドレスに従って適切なアクセス先に対してリード要求を発行し、アクセス要求の発行先から読み出しデータを受領し、第１のＣＰＵ１０１に対して受領した読み出しデータとともに応答を返す。
【００３４】
第１のＣＰＵ１０１からのアクセス要求が照合対象であった場合、調停回路１０３５は、第１のＣＰＵ１０１からアクセス要求が発行された時点では処理せず、第２のＣＰＵ１０２から照合対象のアクセス要求が発行されるまで待機する。第２のＣＰＵ１０２からアクセス要求が発行された場合、第２の照合要否判定回路１０３２は、アクセス要求の内容から照合対象か否かを判定し、判定結果を信号Ｓ２２として調停回路１０３５に出力する。
【００３５】
第２のＣＰＵ１０２からのアクセス要求が照合対象外の場合、調停回路１０３５は、前述の第１のＣＰＵ１０１からのアクセス要求を受領した場合と同様に、アクセス要求の内容に応じた処理を実行し、第２のＣＰＵ１０２に対して応答を返す。
【００３６】
第１のＣＰＵ１０１からのアクセス要求と第２のＣＰＵ１０２からのアクセス要求とがともに照合対象の場合、アクセス調停照合部１０３は次の通り照合を行う。アドレス照合回路１０３３は、第１のＣＰＵ１０１からのアクセス要求に含まれるアドレスと、第２のＣＰＵ１０２からのアクセス要求に含まれるアドレスとを照合（一致か不一致かの比較判定）し、照合結果を信号Ｓ２３として調停回路１０３５に出力する。
【００３７】
またデータ照合回路１０３４は、第１のＣＰＵ１０１からのアクセス要求と第２のＣＰＵ１０２からのアクセス要求とがともにライト要求の場合、第１のＣＰＵ１０１からのアクセス要求に含まれるデータと、第２のＣＰＵ１０２からのアクセス要求に含まれるデータとを照合（一致か不一致かの比較判定）し、照合結果を信号Ｓ２４として調停回路１０３５に出力する。
【００３８】
調停回路１０３５は、照合対象のアクセス要求に対して、両アクセス要求がリード要求かライト要求かで一致しているか、アドレスが一致しているか、ライト要求の場合はデータが一致しているか（リードの場合はデータは不問）を判定し、全てが一致している場合にのみアクセス要求の内容に応じた処理を実行し、ＣＰＵ１０１及び１０２のそれぞれに対して応答を返す。
【００３９】
リード要求又はライト要求、アドレス、ライト要求の場合はデータのうち、少なくとも一つが一致していない場合、アクセス要求の内容に応じた処理は行わず、ＣＰＵ１０１及び１０２のそれぞれに対して照合結果不一致の旨の応答（固定データや割込み要求など）を返すとともに、アクセス調停照合部１０３は「保安動作停止」の状態に遷移する。
【００４０】
次にアクセス調停照合部１０３が「保安動作停止」の動作について説明する。ＣＰＵ１０１又はＣＰＵ１０２のうちの何れかからアクセス要求があり、このアクセス要求が照合対象外の場合、調停回路１０３５は、アクセス要求の内容に応じた処理を実行し、アクセス要求を発行したＣＰＵ１０１又は１０２の何れかに対して応答を返す。
【００４１】
一方アクセス要求が照合対象の場合、調停回路１０３５は、他のＣＰＵ１０１又は１０２からのアクセス要求を待たず、アクセス要求の内容に応じた処理は行わず、アクセス要求を発行したＣＰＵ１０１又は１０２に対して保安動作停止のため照合不可の旨の応答（固定データや割込み要求など）を返す。
【００４２】
（３）データ構成
図３は、メモリマップ（アドレス割付け）ＭＰの概念構成を示す。ＣＰＵ１０１及び１０２は、自ＣＰＵのローカルメモリ１０１１及び１０２１や自ＣＰＵのレジスタ（図示省略）の他に、アクセス調停照合部１０３を経由して共有メモリ１０４、通信部１０５又はアクセス調停照合部１０３内のレジスタ１０３Ａにアクセスする。
【００４３】
ＣＰＵ１０１及び１０２のプログラムの内容は、大別して２つあり、保安のための照合が必要か否かをアクセス要求ごとに区別できるものである。ＣＰＵ１０１及び１０２は、メモリマップＭＰに従い、共有メモリ１０４や通信部１０５やアクセス調停照合部１０３にアクセスする場合、保安のための照合が必要な場合は照合対象のアドレス０ｘ９０００００００〜０ｘＢＦＦＦＦＦＦＦに、保安のための照合が不要な場合は照合対象外のアドレス０ｘ１０００００００〜０ｘ３ＦＦＦＦＦＦＦにアクセス要求を発行する。
【００４４】
ＣＰＵ１０１とアクセス調停照合部１０３との間及びＣＰＵ１０２とアクセス調停照合部１０３との間は、それぞれ通信経路で接続されており、ＣＰＵ１０１及び１０２がアクセス調停照合部１０３にアクセスしてアクセス調停照合部１０３が応答したり、アクセス調停照合部１０３がＣＰＵ１０１又は１０２に割込みを要求したり、アクセス調停照合部１０３がローカルメモリ１０１１又は１０２１にいわゆるＤＭＡ（Direct Memory Access）転送したりする。
【００４５】
なおここではアドレスの範囲を用いて保安のための照合が必要か否かを区別したが、これに限らず、例えばＣＰＵ１０１及び１０２とアクセス調停照合部１０３との間又はアクセス調停照合部１０３と通信部１０５との間の通信方式がＴＣＰ／ＩＰを用いたイーサネット（登録商標）通信である場合、ＵＤＰ（User Datagram Protocol）を使用し、ＵＤＰポート番号を用いて保安のための照合が必要か否かを区別するとしてもよい。
【００４６】
図４は、動作ログ１０４１の概念構成を示す。動作ログ１０４１はアクセス調停照合部１０３により作成されて共有メモリ１０４に格納される。アクセス調停照合部１０３は、ＣＰＵ１０１及び１０２や通信部１０５からのアクセス要求と、アクセス調停照合部１０３自身が受領や認識した結果を、動作ログ１０４１として共有メモリ１０４に格納する。動作ログ１０４１は、発生時刻、動作主体及び動作内容から構成される。
【００４７】
この動作ログ１０４１を参照すると、時刻「０ｘ１２３４５６７８」のときに第１のＣＰＵ１０１が、時刻「０ｘ１２３４５６７Ａ」のときに第２のＣＰＵ１０２が、つまり時差２の動作ずれを伴って、通信部１０５に対してアクセス調停照合部１０３による照合有りのアクセス要求を発行したことが示されている。
【００４８】
そしてアクセス調停照合部１０３は、時刻「０ｘ１２３４５６７Ａ」のときに照合を終え、両アクセス要求に不一致がないことを確認した後に通信部１０５に対してアクセス要求を発行したことが示されている。またアクセス調停照合部１０３及び通信部１０５は、時刻「０ｘ１２３４５６７Ｃ」のときに送信処理を開始し、ＣＰＵ１０１及び１０２の各ローカルメモリ１０１１及び１０２１からの送信データの転送（いわゆるＤＭＡ）を照合有りで開始し、時刻「０ｘ１２３４５６７Ｅ」のときに終了したことが示されている。
【００４９】
転送開始から終了まで間、アクセス調停照合部１０３が不一致を検知した旨が動作ログ１０４１に記録されていないことから、照合有りの送信データの転送は不一致なく正当に行われたことが示されている。
【００５０】
その後時刻「０ｘ１２３４５６８２」のときに第１のＣＰＵ１０１が第１のＣＰＵ１０１の動作を共有メモリ１０４に記録するようにアクセス調停照合部１０３に要求し、アクセス調停照合部１０３はこの要求を受領して共有メモリ１０４に記録したことが示されている。
【００５１】
第１のＣＰＵ１０１が記録するように要求した内容は、「第１のＣＰＵ１０１における時刻０ｘ１２３４５６８０にメモリエラーが発生」であったことが示されている。その後時刻「０ｘ１２３４５６８３」のときに第１のＣＰＵ１０１は、通信部１０５に対してアクセス調停照合部１０３による照合有りのアクセス要求を発生させたが、アクセス調停照合部１０３は、第２のＣＰＵ１０２から同一のアクセス要求が発行されていないため、アクセス要求を受領していないことが示されている。
【００５２】
時刻「０ｘ１２３４５６８７」〜「０ｘ１２３４５６８Ａ」にかけて、通信部１０５、アクセス調停照合部１０３及び第２のＣＰＵ１０２の動作によって、照合無しのアクセス要求及びＤＭＡを用いて、第２のＣＰＵ１０２は受信データを受け取り、次の受信に備えていることが示されている。
【００５３】
時刻「０ｘ１２３４５６９１」のときに第２のＣＰＵ１０２は、共有メモリ１０４に対してアクセス調停照合部１０３による照合有りのアクセス要求を発行したが、アクセス調停照合部１０３は、時刻「０ｘ１２３４５６８３」から行われている第１のＣＰＵ１０１のアクセス要求と照合し、不一致であることを共有メモリ１０４の動作ログ１０４１に残して保安動作を停止したことが示されている。
【００５４】
このような保安動作を停止するという不測の動作は本来発生しないことが望ましい。しかしＣＰＵ１０１及び１０２のプログラムのバグ、ＣＰＵ１０１及び１０２に用いられているメモリのソフトエラー（一過性のデータ化け）、通信経路に対するノイズ、構成要素が経時変化したことによる故障、装置外部からの規定外通信又は人的操作ミス等の原因で発生し得るのが事実である。
【００５５】
本実施の形態における保安装置１００Ａでは、共有メモリ１０４に記録された動作ログ１０４１を、人間がマンマシンインタフェース部１０６を介して取得し、解析することができる。ＣＰＵ１０１及び１０２が異なる動作を行っても、動作ログ１０４１を参照することにより各構成要素の動作を共通の時間軸で確認することができるため、原因究明や改善（原因の除去）の可能性や機会を高め、高い信頼性、可用性、保守性及び安全性を提供することができる。
【００５６】
なお保安装置１００Ａを構成するＣＰＵは、ＣＰＵ１０１及び１０２の２つに限らず、３つないしはそれ以上であってもよい。前述の通りＣＰＵが１０１及び１０２の２つの場合、アクセス調停照合部１０３は照合が必要なアクセス要求に対して照合を行い、不一致の場合は保安動作を停止する。
【００５７】
一方３個以上のＣＰＵの構成とした場合、アクセス調停照合部１０３は照合が必要なアクセス要求に対して多数決に基づく照合を行い、多数派のＣＰＵに対してはアクセスを受領して以降も保安動作中の状態を継続し、少数派のＣＰＵに対しては保安動作を停止するようにしてもよい。
【００５８】
以上の通り、両ＣＰＵ１０１及び１０２は処理ずれが発生することがある。しかし動作が正当であることを確認して、不測の動作が発生した場合はその動作を捕捉して原因対策することができれば、処理ずれが原因で信頼性、可用性、保守性及び安全性を損なう可能性を防止することができる。よって保安装置１００Ａは、各ＣＰＵ１０１及び１０２やアクセス調停照合部１０３の動作を動作ログ１０４１として共有メモリ１０４に記録するようにしている。
【００５９】
（４）フローチャート
図５は、アクセス調停照合処理の処理手順を示す。このアクセス調停照合処理は、ＣＰＵ１０１又は１０２からアクセス要求が発行されたことを契機として、アクセス調停照合部１０３により実行される。
【００６０】
まずアクセス調停照合部１０３は、ＣＰＵ１０１又は１０２からアクセス要求が発行されたか否かを判断する（ＳＰ１）。アクセス調停照合部１０３は、ステップＳＰ１の判断で否定結果を得ると、何れかのＣＰＵ１０１又は１０２からアクセス要求が発行されるまで待機する。これに対し、アクセス調停照合部１０３は、ステップＳＰ１の判断で肯定結果を得ると、メモリマップＭＰを参照して、発行されたアクセス要求が照合対象であるか否かを判断する（ＳＰ２）。
【００６１】
アクセス調停照合部１０３は、ステップＳＰ２の判断で否定結果を得ると、アクセス要求の内容（例えばリード要求又はライト要求）に応じて、個別に処理を実行し（ＳＰ３）、アクセス要求元のＣＰＵ（例えばＣＰＵ１０１）に応答を返して（ＳＰ４）、本処理を終了する。
【００６２】
これに対し、アクセス調停照合部１０３は、ステップＳＰ２の判断で肯定結果を得ると、レジスタ１０３Ａ内の状態フラグを参照して、保安動作の状態が「保安動作中」であるか否かを判断する（ＳＰ５）。アクセス調停照合部１０３は、ステップＳＰ５の判断で否定結果を得ると、保安動作の状態が「保安動作停止」であることをアクセス要求元（例えばＣＰＵ１０１）に通知して（ＳＰ６）、本処理を終了する。
【００６３】
これに対し、アクセス調停照合部１０３は、ステップＳＰ５の判断で肯定結果を得ると、他のＣＰＵ（例えばＣＰＵ１０２）からアクセス要求が発行されるまで待機する（ＳＰ７）。その後アクセス調停照合部１０３は、他のＣＰＵからアクセス要求が発行されると、発行されたアクセス要求が照合対象であるか否かを判断する（ＳＰ８）。
【００６４】
アクセス調停照合部１０３は、ステップＳＰ８の判断で否定結果を得ると、アクセス要求の内容に応じて、個別に処理を実行し（ＳＰ４）、アクセス要求元のＣＰＵ（例えばＣＰＵ１０２）に応答を返して（ＳＰ１０）、本処理を終了する。
【００６５】
これに対し、アクセス調停照合部１０３は、ステップＳＰ８の判断で肯定結果を得ると、２つのＣＰＵ１０１及び１０２から発行されたアクセス要求の内容（例えばリード要求又はライト要求、アドレス及びライト要求の場合はデータ）が全て一致しているか否かを判断する（ＳＰ１１）。
【００６６】
アクセス調停照合部１０３は、ステップＳＰ１１の判断で否定結果を得ると、照合が不一致であることを２つのアクセス要求元であるＣＰＵ１０１及び１０２に通知し（ＳＰ１２）、レジスタ１０３Ａ内の状態フラグを「保安動作停止」に設定して保安動作を停止し（ＳＰ１３）、本処理を終了する。
【００６７】
これに対し、アクセス調停照合部１０３は、ステップＳＰ１１の判断で肯定結果を得ると、アクセス要求の内容に応じて、処理を実行し（ＳＰ１４）、アクセス要求元のＣＰＵ１０１及び１０２に応答を返して（ＳＰ１５）、本処理を終了する。
【００６８】
図６は、アクセス調停照合処理の一例を示す。ここではアクセス調停照合部１０３は予め、照合対象のアクセス要求を照合する「保安動作中」の状態にあるものとする。
【００６９】
アクセス調停照合部１０３は、保安動作中の状態の場合、第１のＣＰＵ１０１から第１の照合対象のアクセス要求Ｓ１００が発行されると、第２のＣＰＵ１０２から同一の内容のアクセス要求Ｓ２００が発行されるのを待ち、ＣＰＵ１０１及び１０２の両方からのアクセス要求Ｓ１００及びＳ２００が揃う（アクセス対象のアドレスやデータが一致する）と受領する。
【００７０】
また第１の照合対象外のアクセス要求Ｓ１０１や第２の照合対象外のアクセス要求Ｓ２０１のような照合対象外のアクセス要求が発行された場合、各ＣＰＵ１０１及び１０２からのアクセス要求が揃うのを待たずに、ＣＰＵ１０１又は１０２から個別にアクセス要求を受領する。
【００７１】
第１のＣＰＵ１０１から第２の照合対象のアクセス要求Ｓ１０２が発行され、第２のＣＰＵ１０２から第２の照合対象のアクセス要求Ｓ１０２の内容とは異なる第３の照合対象のアクセス要求Ｓ２０２が発行された場合、アクセス調停照合部１０３はアクセス要求が不一致と判断し、保安動作を停止し、もはや照合対象のアクセス要求を受領しなくなり、危険な動作を抑止する。
【００７２】
保安のための照合が必要なアクセス要求については、目的通りにＣＰＵ１０１及び１０２が処理し、アクセス調停照合部１０３が照合を行うのに対して、保安のための照合が不要なデータも保安装置１００Ａの中には存在する。
【００７３】
一例としては、人間が状態確認するためのＬＥＤ点灯やモニタ表示は、直接的に保安を確保することは不要である。そのような処理については、負荷分散のために、例えば一方のＣＰＵ１０１がその処理を実行し他方のＣＰＵ１０２は行わない、反面、後者のＣＰＵ１０２は他の処理を実行し前者のＣＰＵ１０１は行わないようにする。
【００７４】
例えばＣＰＵ１０１のログを動作ログ１０４１に記録するような処理の場合、直接的に保安を確保することは不要であり、一方のＣＰＵ１０１で発生したハードウェア故障の情報をアクセス調停照合部１０３に照合させるのは不適切である。反面、信頼性、可用性、保守性及び安全性を確保するためにはハードウェア故障が発生した旨をいずれ人間に伝達することが重要である。
【００７５】
（５）本実施の形態による効果
以上のように本実施の形態における保安システムによれば、複数のＣＰＵからのアクセス要求について、照合対象であるか否かを判断し、照合対象外の場合にはアクセス要求に応じた処理を個別に実行することができ、一方で照合対象である場合には保安動作を行うことができる。保安動作においては、照合結果が一致する場合にはアクセス要求に応じた処理を実行し、照合結果が不一致の場合には処理の実行を停止することができる。よって保安システム全体の信頼性、可用性、保守性及び安全性を確保することができる。
【００７６】
また保安装置内のイベントを動作ログ１０４１として共有メモリ１０４に格納するようにしたので、不測の動作が発生した場合、各構成要素の動作を共通の時間軸で確認することができる。なお不測の動作が発生する原因は、ＣＰＵプログラムのバグ、ＣＰＵが用いているメモリのソフトエラー（一過性のデータ化け）、通信経路に対するノイズ、構成要素が経時変化したことによる故障、装置外部からの規定外通信及び人的操作ミス等様々ある。これらの原因究明を、各構成要素の動作を共通の時間軸で確認することにより、一部の構成要素を確認したり別々の時間軸で確認するのと比べて容易化でき、改善（原因の除去）の可能性や機会が高まる。よって保安システム全体の信頼性、可用性、保守性及び安全性を確保することができる。
【符号の説明】
【００７７】
１      保安システム
１００  保安装置
１０１  第１のＣＰＵ
１０２  第２のＣＰＵ
１０３  アクセス調停照合部
１０４  共有メモリ
【図１】
2015133029.tif 000003
【図２】
2015133029.tif 000004
【図３】
2015133029.tif 000005
【図４】
2015133029.tif 000006
【図５】
2015133029.tif 000007
【図６】
2015133029.tif 000008