(57)【要約】【課題】  異なるアーキテクチャのハードウェア，ソフトウェアによって二重化された安全信号Ｉ／Ｆ装置であっても、入力処理にて同一タイミングの入力データを読み出すことができるようにする。【解決手段】  外部からの二重化された安全信号を受信する1対の入力回路２１、２２とこれに対応する１対のＣＰＵ１１、１２との間にそれぞれ入力ラッチ回路８１、８２を接続し、ラッチのためのストローブ信号Ｓｃ１、Ｓｃ２は両ＣＰＵ１１、１２から出力された信号Ｓａ１、Ｓａ２の論理和として入力されており，各ＣＰＵ１１、１２にて入力処理の同期を取った後，それぞれのＣＰＵ１１、１２から双方の入力ラッチ回路８１、８２に対し，同時にストローブ出力を行って，その後ラッチされた入力信号を読み込むという手順で処理する。【選択図】図１
2006178730.tif 000002
【特許請求の範囲】
【請求項１】
二重化された安全信号を入力する１対の入力回路（２１、２２）と、その１対の入力回路（２１、２２）が出力する安全信号を読み取ると同期信号線（４０）を介して互いに同期を取るとともに読み取った前記安全信号を照合する１対のＣＰＵ（１１、１２）と、読み取った前記安全信号の状態をネットワーク（９４）に送信する通信回路（３０）とを備えた安全信号Ｉ／Ｆ装置（９０）において、
前記１対のＣＰＵ（１１、１２）の同期が取れたらＯＮが出力される前記一対のＣＰＵ（１１、１２）のストローブ出力を入力するＯＲ回路と、
前記１対のＣＰＵ（１１、１２）の同期が取れたらＯＦＦが出力される前記一対のＣＰＵ（１１、１２）のストローブ出力を入力するＡＮＤ回路と、
前記ＯＲ回路の出力がＯＮであれば第１入力回路（２１）が出力する安全信号をラッチして第１ＣＰＵ（１１）に出力する第１ラッチ回路（８１）と、
前記ＡＮＤ回路の出力がＯＦＦであれば第２入力回路（２２）が出力する安全信号をラッチして第２ＣＰＵ（１２）に出力する第２ラッチ回路（８２）とを備え、
前記ＯＮのストローブ出力と前記ＯＦＦのストローブ出力が前記１対のＣＰＵ（１１、１２）から同時に出力されることを特徴とする安全信号Ｉ／Ｆ装置。
【請求項２】
二重化された安全信号を入力する１対の入力回路（２１、２２）と、その１対の入力回路（２１、２２）が出力する安全信号を読み取ると同期信号線（４０）を介して互いに同期を取るとともに読み取った前記安全信号を照合する１対のＣＰＵ（１１、１２）と、読み取った前記安全信号の状態をネットワーク（９４）に送信する通信回路（３０）とを備えた安全信号Ｉ／Ｆ装置（９０）において、次の手順で安全信号を出力することを特徴とする安全信号Ｉ／Ｆ装置の二重化信号入力処理方法。
（１）前記１対のＣＰＵ（１１、１２）が同期を取る。
（２）前記１対のＣＰＵ(１１、１２)はそれぞれ請求項１記載のＯＲ回路に対してＯＮのストローブ出力、請求項１記載のＡＮＤ回路に対してＯＦＦのストローブ出力を同時に行う。ＯＲ回路の出力がＯＮ、ＡＮＤ回路の出力がＯＦＦし、それぞれの安全信号がラッチされる。
（３）前記１対のＣＰＵ(１１、１２)はそれぞれラッチされた安全信号をチェックした後、請求項１記載のＯＲ回路に対してＯＦＦのストローブ出力、請求項１記載のＡＮＤ回路に対してＯＮのストローブ出力を同時に行う。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全信号Ｉ／Ｆ装置に関するものであり、特に、安全のために非常停止信号などの信号を二重化した二重化信号の入力処理方法に関する。  
【背景技術】
【０００２】
非常時における制御機器の安全化のためにEN954-1という規格があり、電子安全保護装置の機械保護使用目的に係る構造がカテゴリＢ、２、３及び４に分類されている。カテゴリ３と４では２つの入出力と２つのＣＰＵに関するものが対象となっており、市販のバスシステム（CAN-BusやAS-Interfaceなど）が使われ実現されている（例えば、特許文献１参照）。
安全システムは安全事象に対してある確定した時間間隔で反応する必要があり、遅延が重なった最悪のケースを算定しておかなければならない。そのため、入力機器で入力信号をフィルタ処理し、加工処理してバスプロトコルに送り、ケーブルで伝送する、という構成がとられることが多い。そして、最悪のケースの時間を算出するときは、ネットサイクル全体の時間が考慮される。入力信号はネットワーク経由で制御用のプロセッサに伝送されるので、そのときのネットワークのアクセス時間が入力機器の複数の伝送経路について同じように考慮される。データを受信する時は制御システムでフィルタ処理され、走査エラーがチェックされて走査エラーがないことが保証される。また通常の加工処理とプロトコルの処理にかかる時間も考慮される。サイクル開始直後にデータが到達する可能性があるので、２通りのプロセッササイクル時間が考慮される（例えば、非特許文献１参照）。
【０００３】
また、安全ネットワーク上の機器は、安全メッセージ到着時のクロスチェックのため、２チャンネル構造の設計を必要としている。安全ネットワークのプロトコルは、すべての安全データが通常データと反転データとしてそれぞれ１回ずつの合計２回転送される。ネットワークプロトコルに、データ冗長性が組み込まれているので、２つのチャンネルはそれぞれメッセージを受け取り、正確さを確実なものにするためにお互いの結果をクロスチェックする（例えば、非特許文献２参照）。
このように、二重化されたＣＰＵが入力信号を読み出すときは、様々な遅延時間が考慮されている。従来の安全信号の入力処理方法は、装置内部品の故障による危険状態の発生を避けるため二重化された回路構成を採り、一方のＣＰＵが一方の入力回路から安全信号を読み込み、他方のＣＰＵが他方の入力回路から安全信号を読み込み，その入力結果を照合チェックすることによって、自装置の故障監視を行うようになっている。このため、入力処理のタイミングを両者一致させる必要があり、両ＣＰＵ間に接続された同期通信線を使って同期処理されている。
【０００４】
図４は、上記のような従来の安全信号Ｉ／Ｆ装置の構成を示すブロック図である。図において、９０’が安全信号Ｉ／Ｆ装置であり、２つの入力回路２１、２２と、２つのＣＰＵ１１、１２、通信回路３０から構成されている。このように、入力回路とＣＰＵが２つ設けられて二重化されている。ＣＰＵ１１とＣＰＵ１２の間は同期通信線４０で接続されており、ＣＰＵ間の同期や入力信号の照合チェックに使われる。
入力回路２１、２２は非常停止スイッチ９３の接点１０１、１０２に接続されており、非常停止スイッチ９３が押されると、１対の接点が同時にＯＦＦされ、入力信号変化が入力回路２１、２２に同時に入力される。ＣＰＵ１１、１２がその信号を入力回路２１、２２から取り込むと、同期通信線４０を使って相互にチェックしてから入力信号データを編集し、通信回路３０に出力する。通信回路３０は入力した信号をネットワーク９４に送信する。これをネットワーク９４に接続されたアクチュエータ制御装置９５が受信すると、受信した値に応じてアクチュエータ９６の非常停止に必要なシーケンスを実行する。
【０００５】
図５（ａ）はＣＰＵ１ｉ（ｉ＝１、２）の入力処理フローを示しており、次のように処理される。
（Ｓ５００ｉ）相手ＣＰＵとの間で同期処理ｉを実施し、入力タイミングを一致させる。
（Ｓ５０１ｉ）対応する入力回路２ｉから入力データを読み込む。
（Ｓ５０２ｉ）読み込んだ入力データの値を比較し、正常に読み込めたかどうかをクロスチェックする。
このように、従来の安全信号Ｉ／Ｆ装置９０’は入力処理の開始タイミングで同期をとってから入力データを読み込み、その結果を照合している。
【特許文献１】特表２００１−５２５２６３号公報（第５４−５５頁、図２、図３）
【非特許文献１】田中紘一訳「オートメーション用安全バスシステム」、オートメレビュー社、平成１５年９月２４日、p.11-18、p.28、p.92-93
【非特許文献２】ODVA日本支部著「CIP  safety白書」、ODVA日本支部発行、ｐ.４
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、従来の安全信号Ｉ／Ｆ装置の二重化信号入力処理方法でも、特に高い安全性を要求されるような場合には、次のような問題があった。
すなわち、例えばIEC61508第４部と第５部に記載されているように、安全設計の原理に即して多様性、いわゆるダイバーシティの観点から、ＣＰＵ１１とＣＰＵ１２の二重化部分について異なるアーキテクチャのハードウェアとソフトウェアを採用することにより、同時に同じ原因でハードウェアの故障やソフトウェアのバグの発生を引き起こさないよう構成することが求められている。このため同じ処理フローの同じ処理ステップについて同期をとって実行したとしても、両者が異なるアーキテクチャのＣＰＵチップと異なるソフトウェアによって実行するため、処理時間の差が少なからず生じてしまい、図５（ｂ）のタイミングチャートに示すように、入力処理のわずかなずれの間にたまたま入力データの変化が発生していれば、続く入力チェック処理ｉ（Ｓ５０２ｉ）でデータ不一致を検出してしまうという問題があった。
【０００７】
これを回避する手段として一般に公開されている技術があるわけではないが、極めて一般的なエラー回避策としてのリトライ処理を容易に考案することができる。しかしデータ不一致であれば、一致するまで入力処理を繰り返すというリトライ処理は、二重化データの不一致による異常検出という本来の二重化による相互監視の目的からはずれてしまい、二重化データを一致させるための処理を追加するという矛盾した結果を招いていた。特に入力データが複数あって定常的に変化しているような場合には各入力信号変化のタイミングもばらつくため、入力データのいずれかが一致しない危険性が高まるという問題があった。
また本来ＣＰＵ１１、１２が相互にチェックをする目的は二重化回路の故障監視であるので、入力信号の不一致は安全信号Ｉ／Ｆ装置９０’による故障の誤検出を意味しており、このような事態が生じることは安全システムとして極めて重大な問題となる。
本発明はこのような問題点に鑑みてなされたものであり、異なるアーキテクチャのハードウェアとソフトウェアによって二重化された安全信号Ｉ／Ｆ装置であっても、入力処理によって同一タイミングの入力データを読み出すことができる方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、第１の本発明は、二重化された安全信号を入力する１対の入力回路と、その１対の入力回路が出力する安全信号を読み取ると同期信号線を介して互いに同期を取るとともに読み取った安全信号を照合する１対のＣＰＵと、読み取った安全信号の状態をネットワークに送信する通信回路とを備えた安全信号Ｉ／Ｆ装置において、１対のＣＰＵの同期が取れたらＯＮが出力される一対のＣＰＵのストローブ出力を入力するＯＲ回路と、１対のＣＰＵの同期が取れたらＯＦＦが出力される一対のＣＰＵのストローブ出力を入力するＡＮＤ回路と、ＯＲ回路の出力がＯＮであれば第１入力回路が出力する安全信号をラッチして第１ＣＰＵに出力する第１ラッチ回路と、ＡＮＤ回路の出力がＯＦＦであれば第２入力回路が出力する安全信号をラッチして第２ＣＰＵに出力する第２ラッチ回路とを備え、前記ＯＮのストローブ出力と前記ＯＦＦのストローブ出力が前記１対のＣＰＵから同時に出力されることを特徴としたのである。
また第２の本発明は、二重化された安全信号を入力する１対の入力回路と、その１対の入力回路が出力する安全信号を読み取ると同期信号線を介して互いに同期を取るとともに読み取った安全信号を照合する１対のＣＰＵと、読み取った安全信号の状態をネットワークに送信する通信回路とを備えた安全信号Ｉ／Ｆ装置において、次の手順で安全信号を出力することを特徴としたのである。（１）１対のＣＰＵが同期を取る。（２）前記１対のＣＰＵはそれぞれＯＲ回路に対してＯＮのストローブ出力、ＡＮＤ回路に対してＯＦＦのストローブ出力を同時に行う。ＯＲ回路の出力がＯＮ、ＡＮＤ回路の出力がＯＦＦし、それぞれの安全信号がラッチされる。（３）前記１対のＣＰＵはそれぞれラッチされた安全信号をチェックした後、ＯＲ回路に対してＯＦＦのストローブ出力、ＡＮＤ回路に対してＯＮのストローブ出力を同時に行う。
【発明の効果】
【０００９】
請求項１、２に記載の発明によると、１対のＣＰＵのいずれか処理の早い方のストローブ出力によって両方の入力回路に同時に入力ラッチがかかり、両ＣＰＵの入力データ読み込みと入力チェック処理が完了するまではラッチ状態を保持することができるので、異なるアーキテクチャのハードウェアとソフトウェアによって二重化された安全信号Ｉ／Ｆ装置であっても同じタイミングで入力データの状態を読み込むことができるのである。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１１】
図１は、本発明の安全信号Ｉ／Ｆ装置の構成を示すブロック図である。図において９０が安全信号Ｉ／Ｆ装置であり、図４と異なっているのは、図４の構成要素に加えて２つの入力ラッチ回路８１、８２とＯＲ回路９１、ＡＮＤ回路９２を備えている点だけである。入力ラッチ回路８１は入力回路２１とＣＰＵ１１の間に設けられ、入力ラッチ回路８２は入力回路２２とＣＰＵ１２の間に設けられている。ＯＲ回路９１はＣＰＵ１１のストローブ出力Ｓａ１とＣＰＵ１２のストローブ出力Ｓａ２の論理和を求め、その結果が入力ラッチ回路８１のストローブ入力Ｓｃ１となる。ストローブ入力Ｓｃ１がＯＮになれば入力ラッチ回路８１は入力回路２１の信号をラッチする。ＡＮＤ回路９２はＣＰＵ１１のストローブ出力Ｓｂ１とＣＰＵ１２のストローブ出力Ｓｂ２の論理積を求め、その結果が入力ラッチ回路８２のストローブ入力Ｓｃ２となる。ストローブ入力Ｓｃ２がＯＦＦになれば入力ラッチ回路８２は入力回路２２の信号をラッチする。
入力回路２１、２２は非常停止スイッチ９３の接点１０１、１０２に接続されており、非常停止スイッチ９３が押されると、１対の接点が同時にＯＦＦされ、入力信号変化が入力回路２１、２２に同時に入力される。ＣＰＵ１１、１２がその信号を入力回路２１、２２から取り込むと、同期通信線４０を使って相互にチェックしてから入力信号データを編集し、通信回路３０に出力する。通信回路３０は入力した信号をネットワーク９４に送信する。そして、ネットワーク９４に接続されたアクチュエータ制御装置９５が受信すると、受信した値に応じてアクチュエータ９６の非常停止に必要なシーケンスを実行する。
【００１２】
図２（ａ）はＣＰＵ１ｉ（ｉ＝１、２）における入力処理フローを示しており、次のように処理される。
（Ｓ１００ｉ）入力回路２ｉの信号を入力処理する。
（Ｓ１０１ｉ）データ処理して入力結果に基づき、出力状態を決定する。
（Ｓ１０２ｉ）その結果を通信回路３０を解してネットワーク９４に出力する。
以後この一連の処理を繰り返し実行する。その際に、図２（ｂ）のタイミングチャートに示すように、ＣＰＵ１１の入力処理Ｓ１００１とＣＰＵ１２の入力処理Ｓ１００２は両ＣＰＵ間に接続された同期通信線４０を使い同期を取って入力データが読み込まれ、それぞれ読み込まれた入力データに相違がないかチェックされる。そして次の入力処理Ｓ１００１Ｂ、Ｓ１００２ＢではＣＰＵ１１、１２の処理時間差による時間のずれがあるため、例えばＣＰＵ１１の処理が早ければ、ＣＰＵ１１がＣＰＵ１２の入力処理の開始を待ち合わせて、再び同期を取って入力データの読み込みを実行する。
【００１３】
次に入力処理Ｓ１００ｉについて図３を用いて詳細に説明する。図３は入力処理Ｓ１００ｉの（ａ）フローチャートと（ｂ）タイミングチャートであり、次のような手順で処理される。
（Ｓ２００ｉ）まず、同期処理ｉを実行して相手方ＣＰＵと処理タイミングの同期あわせをする。
（Ｓ２０１ｉ）同期がとれたらストローブ出力ＳａｉのＯＮとストローブ出力ＳｂｉのＯＦＦを同時に出力する。
このようにしてＣＰＵ１１、１２のいずれかのストローブ出力Ｓａ１、Ｓａ２がＯＮになるとＯＲ回路９１が働き、ストローブ入力Ｓｃ１の立ち上がりエッジが発生して入力回路２１の入力データの値が入力ラッチ回路８１でラッチされる。同様にＣＰＵ１１、ＣＰＵ１２のいずれかのストローブ出力Ｓｂ１、Ｓｂ２がＯＦＦになるとＡＮＤ回路９２が働き、ストローブ入力Ｓｃ２の立ち下がりエッジが発生して、入力回路２２の入力データの値が入力ラッチ回路８２でラッチされる。ＣＰＵ１１が実行するステップＳ２０１１のタイミングとＣＰＵ１２が実行するステップＳ２０１２のタイミングは、直前のステップＳ２００ｉで同期がとられていても、ＣＰＵの違いによって図３のタイミングチャートに示すようにずれが発生し、早く実行したＣＰＵ１１のストローブ出力Ｓａ１、Ｓａ２によって、入力ラッチ回路８１、８２がそれぞれの入力データを同時にラッチする。
（Ｓ２０２ｉ）入力ラッチ回路８ｉから入力データを読み出す際には、その処理タイミングが多少ずれていても双方同時にラッチされた入力データ値を読み込むことができる。
（Ｓ２０３ｉ）入力チェック処理ｉを実行し、相手方ＣＰＵの読み込んだ入力データ値と照合して安全信号Ｉ／Ｆ装置９０の正常性を判定し、
（Ｓ２０４ｉ）最後にＣＰＵ１ｉがストローブ出力ＳａｉのＯＦＦとストローブ出力ＳｂｉのＯＮを出力する。ＣＰＵ１１、１２の双方がステップＳ２０４ｉの実行を完了するとストローブ入力Ｓｃｉがリセットされ、次回の入力ラッチ動作が受け入れできるようになる。
このようにＣＰＵ１１、１２のいずれか処理の早いＣＰＵが入力ラッチ出力Ｓａｉ、Ｓｂｉをアサートした時点で、入力ラッチ回路８１、８２が同時に入力データをラッチし、その後、各ＣＰＵが入力データを読み込むので、性能の異なる２つのＣＰＵの入力処理であっても同じタイミングで入力データを読み込むことができ、入力処理タイミングのずれによる入力データ値の不一致を防ぐことができるのである。
【産業上の利用可能性】
【００１４】
二重化されたＩ／Ｏの入力データを同時にラッチので安全信号Ｉ／Ｆ装置に限らず二重化されたシステムの入力処理全般にも適用できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の方法を適用する安全信号Ｉ／Ｆ装置の構成を示すブロック図
【図２】本発明の方法の処理手順を示すフローチャートとタイミングチャート
【図３】本発明の要部となる入力処理手順を示すフローチャートとタイミングチャート
【図４】従来の方法を適用した安全信号Ｉ／Ｆ装置の構成を示すブロック図
【図５】従来の方法の処理手順を示すフローチャートとタイミングチャート
【符号の説明】
【００１６】
１１、１２  ＣＰＵ、                      ２１、２２  入力回路、
３１、３２  出力回路、                           ８１、８２  入力ラッチ回路、
１０１、１０２  非常停止スイッチ接点、    ４０  同期通信線、
９０、９０´  安全信号Ｉ／Ｆ装置、        ９１  ＯＲ回路、
９２  ＡＮＤ回路、                        ９３  非常停止スイッチ、
９４  ネットワーク、                      ９５  アクチュエータ制御装置、
９６  アクチュエータ
【図１】
2006178730.tif 000003
【図２】
2006178730.tif 000004
【図３】
2006178730.tif 000005
【図４】
2006178730.tif 000006
【図５】
2006178730.tif 000007