(57)【特許請求の範囲】
【請求項１】
プログラムの任意の箇所で第１トリガを出力し、該第１トリガの出力後に第１の処理を実行して第２トリガを出力し、該第２トリガの出力後に第２の処理を実行する演算部と、
前記第１トリガを受信し、該受信を起点にオンして所定時間経過後にオフする第１のウィンドウ信号を生成する第１ウィンドウ信号生成部と、
前記第１のウィンドウ信号および前記第２トリガを受信し、前記第１のウィンドウ信号がオンの間に前記第２トリガを受信することでオンし所定時間経過後にオフする第２のウィンドウ信号を生成する第２ウィンドウ信号生成部と、
前記第1トリガの後であって前記第２トリガを受信する前に引き続き第1トリガを受信するとオン状態となるラッチ手段と、
このラッチ手段がオン状態のとき、前記第２のウィンドウ信号を安全信号として出力することを阻止し、
前記ラッチ手段がリセット状態のとき、前記第２のウィンドウ信号を安全信号として出力する安全信号出力部と、
この安全信号出力部によって出力された前記安全信号を受信し、該安全信号がオンのとき前記演算部の制御指令に基づき外部機器を制御し、前記安全信号がオフのとき前記外部機器を安全側に制御する出力部と、を備えることを特徴とする安全制御装置。
【請求項２】
請求項１に記載された安全制御装置において、
前記第１の処理は前記外部機器を制御するアプリケーションであり、
前記第２の処理は当該安全制御装置の管理処理であり、
前記演算部の前記制御指令は、前記アプリケーションによって演算された指令であることを特徴とする安全制御装置。
【請求項３】
請求項１に記載された安全制御装置において、
前記第１の処理および前記第２の処理は前記外部機器を制御するアプリケーションであり、
前記演算部の前記制御指令は、前記アプリケーションによって演算された指令であることを特徴とする安全制御装置。
【請求項４】
請求項１〜請求項３のいずれか１項に記載された安全制御装置において、
前記演算部は前記プログラムをサイクリックに実行し、前記第１トリガを１のサイクル中に１回出力することを特徴とする安全制御装置。
【請求項５】
請求項１〜請求項４のいずれか１項に記載された安全制御装置において、
前記第２トリガは所定の符号で構成され、
前記第２ウィンドウ信号生成部は前記所定の符号を第２トリガとして受信し、該符号をデコードした出力信号と前記第１のウィンドウ信号との論理積をとり、この出力を前記第２のウィンドウ信号のオンの起点とすることを特徴とする安全制御装置。
【請求項６】
請求項４又は請求項５に記載された安全制御装置において、
前記第１のウィンドウ信号のオン時間をｔａとし、前記第２のウィンドウ信号のオン時間をｔｂとし、前記演算部が前記プログラムをサイクリックに実行する周期時間をｐとしたとき、ｔａ＜ｐ＜ｔｂであることを特徴とする安全制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全制御を実現する安全制御装置に関する。
【背景技術】
【０００２】
安全性が要求される制御装置には、その内部回路が万一故障したとしても、制御対象が危険な状態になることを回避する安全制御機能が搭載されている。例えば、特許文献１に記載された発明は、コントローラと被制御機器との間にタイマを備えた安全制御装置を接続し、コントローラが時間ｔ以内の間隔で発信を繰り返すパルスを安全制御装置に与え、安全制御装置は受信するパルスを監視して、時間ｔを越えても次のパルスが入力されなかった場合に被制御機器を安全側に制御するように構成されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２４４７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述のような従来の発明では、コントローラの故障に対しては安全制御を実行させることはできるが、コントローラの性能が顧客の要求を満たしていないような性能面での品質低下に対して安全制御を実行させることができないという問題がある。
【０００５】
本発明はこのような問題を鑑みて考案されたものであり、その課題はコントローラの故障のみならず、性能の低下をも検知し、被制御機器を安全側に停止させることが可能な安全制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記のような課題を解決する方法として、本発明は以下のように構成される。
請求項１に係る発明は、プログラムの任意の箇所で第１トリガを出力し、該第１トリガの出力後に第１の処理を実行して第２トリガを出力し、該第２トリガの出力後に第２の処理を実行する演算部と、第１トリガを受信し、該受信を起点にオンして所定時間経過後にオフする第１のウィンドウ信号を生成する第１ウィンドウ信号生成部と、第１のウィンドウ信号および第２トリガを受信し、第１のウィンドウ信号がオンの間に第２トリガを受信することでオンし所定時間経過後にオフする第２のウィンドウ信号を生成する第２ウィンドウ信号生成部と、第1トリガの後であって前記第２トリガを受信する前に引き続き第1トリガを受信するとオン状態となるラッチ手段と、このラッチ手段がオン状態のとき、第２のウィンドウ信号を安全信号として出力することを阻止し、ラッチ手段がリセット状態のとき、第２のウィンドウ信号を安全信号として出力する安全信号出力部と、この安全信号出力部によって出力された安全信号を受信し、該安全信号がオンのとき演算部の制御指令に基づき外部機器を制御し、安全信号がオフのとき外部機器を安全側に制御するように構成される。
【０００７】
請求項２に係る発明は、請求項１に記載された安全制御装置において、第１の処理は外部機器を制御するアプリケーションであり、第２の処理は外部機器の制御以外の処理を実行する管理処理であり、演算部の制御指令は、アプリケーションによって演算された指令である。
【０００８】
請求項３に係る発明は、請求項１又は請求項２に記載された安全制御装置において、演算部はプログラムをサイクリックに実行し、第１トリガを１のサイクル中に１回出力することを特徴とするように構成される。
【０００９】
請求項４に係る発明は、請求項１〜請求項３のいずれか１項に記載された安全制御装置において、第２トリガは所定の符号で構成され、第２ウィンドウ信号生成部は所定の符号を第２トリガとして受信し、該符号をデコードした出力信号と第１のウィンドウ信号との論理積をとり、この出力を第２のウィンドウ信号のオンの起点とするように構成される。
【００１０】
請求項５に係る発明は、請求項３又は請求項４に記載された安全制御装置において、第１のウィンドウ信号のオン時間をｔａとし、第２のウィンドウ信号のオン時間をｔｂとし、演算部がプログラムをサイクリックに実行する周期時間をｐとしたとき、ｔａ＜ｐ＜ｔｂとする。
【発明の効果】
【００１１】
本発明によれば、プログラムを実行する際の任意の実行ステップで第１トリガを出力し、後述のウィンドウパルスの有効時間（ｔａ時間）中に第２トリガを出力するようにプログラムを構成する。そして、第１トリガの受信を起点に有効となり、ｔａ時間経過後無効となるウィンドウパルス（第１のウィンドウ信号）を出力し、さらに、ウィンドウパルスが有効のときに第２トリガを受信して有効となり、ｔｂ時間経過後無効となる制御パルス（第２のウィンドウ信号）を生成し、これを安全パルスとして出力するように構成した。
【００１２】
そして、安全パルスが有効のときにはプログラムの実行の際に出力される制御指令に基づき外部機器を制御し、安全パルスが無効のときには外部機器を安全側に制御するように構成した。
【００１３】
さらに、第１トリガを受信してから第２トリガを受信せず、再び第１トリガを受信したときには第１トリガが発振したと判定し、その後の安全パルスの出力を阻止し続けるように構成した。
【００１４】
上記のように構成することにより、例えばプログラムの実行速度が、要求性能に達していないなどの性能に関わる品質の低下を検知することができる。また、プログラムの実行が正常に行われているかを検出するための要（かなめ）信号である第１トリガの発振（プログラムの暴走によって第１トリガが発振する）も検出できる。
【００１５】
従って、本発明によって、故障に加えて性能の低下をも検出し、かつプログラムの実行が正常に行われているかを検出するための要（かなめ）信号の発振が起こったとしても安全制御を実行することが可能な高信頼な安全制御装置が提供される。
【図面の簡単な説明】
【００１６】
【図１】本発明の一例を示す安全制御装置のシステム構成図
【図２】図１に示されるＣＰＵ部１のプログラム構成と安全制御部２の回路図
【図３】図２の動作説明用のタイムチャート
【発明を実施するための形態】
【００１７】
以下、本発明の好適な実施形態について図１〜図３を基に説明する。なお、これらの図面は本発明の一実施形態を説明するための図面であって、これらの図面によって本発明が限定されるものではない。
【００１８】
また、以下の説明において、信号名の前に付した「＊」はその信号が負論理であることを示している。
【実施例】
【００１９】
図１に示すように、本発明の安全制御装置１００は外部機器４に接続されている。安全制御装置１００にはＣＰＵ部１、安全制御部２、出力部３が搭載されている。なお、ＣＰＵ部１を演算部ともいう。
【００２０】
また、不図示ではあるがＣＰＵ部１は中央演算部（ＣＰＵ）やプログラムメモリ、そして作業メモリなどが備えられている。ＣＰＵ部１はプログラムメモリに保持されたプログラムを実行することにより外部機器４を制御するための制御指令を生成し、出力部３に与える。ＣＰＵ部１によって生成された制御指令を受けた出力部３は、制御指令に基づき外部機器４を制御する。このような仕組みによって、安全制御装置１００は外部機器４を制御する（通常の制御）。
【００２１】
また、ＣＰＵ部１は自己が正常に動作していること、すなわち健全性を通知するための信号（トリガＡ）を出力する第１トリガ出力手段１ａを備える。また、ＣＰＵ部１はトリガＡが出力された後、所定の時間以内に再び自己の健全性を通知するための信号（トリガＢ）を出力する第２トリガ出力手段１ｂを備えている。そして、ＣＰＵ部１によって出力されたトリガＡおよびトリガＢそれぞれの信号は安全制御部２に与えられている。さらにＣＰＵ部１はリセットを出力して安全制御部２の機能をオンオフすることができる。
【００２２】
続いて、図２と図３を参照しながら、ＣＰＵ部１および安全制御部２、そして出力部３の詳細な動きを説明する。
図２に示す安全制御部２のＩＣ１はモノステーブルマルチバイブレータであり、該ＩＣ１に接続されるコンデンサＣ１と抵抗Ｒ１によって出力幅が決定されたウィンドウパルス（第１のウィンドウ信号）を生成する。ここでは、ウィンドウパルス幅をｔａとする。この回路を第１ウィンドウ信号生成部ともいう。
【００２３】
ＩＣ４はＩＣ１と同様モノステーブルマルチバイブレータであり、コンデンサＣ２と抵抗Ｒ２によって出力幅が決定された制御パルス（第２のウィンドウ信号）を生成する。この制御パルス幅をｔｂとする。
【００２４】
ＩＣ２はデコーダ（3-to-8 Line Decoder：７４ＶＨＣ１３８など）であり、ＣＰＵ部１から出力された３ビットの符号（トリガＢ）をＡ〜Ｃに入力する。このトリガＢの符号は０から７までのコード化された数値であるが、本実施例ではトリガＢとして”２”のコードが入力されたとき、ＩＣ２のデコード作用が有効になるように安全制御部２を構成している。すなわち、ＩＣ２は、該ＩＣ２のＡ〜Ｃに入力されるトリガＢに対して、コード”２”を有効としデコードする。例えば、ＩＣ２のＡ〜Ｃに入力された符号が「０」であったとき、その出力としては＊Ｙ０が出力され、ＩＣ２のＡ〜Ｃに入力された符号が「１」であったとき、その出力としては＊Ｙ１が出力されるため、これらの出力は出力先がなく、本実施例においては無効のデコードとして扱われる。
【００２５】
なお、デコード回路（ＩＣ２）と制御パルスの生成回路（ＩＣ４）、そしてＩＣ３を含んだ回路を第２ウィンドウ信号生成部ともいう。
これら回路で構成される安全制御部２は、ＣＰＵ部１によって出力されたトリガＡがＩＣ１に入力され、ＣＰＵ部１によって出力されたトリガＢがＩＣ２の入力Ａ〜Ｃに入力される。また、ＩＣ４の出力、すなわち制御パルスは安全制御部２が出力する安全信号（安全パルス）としてＩＣ７を介して出力され、出力部３に入力されている。
【００２６】
ＩＣ５、ＩＣ６はＤフリップフロップである。トリガＡが入力されるとＩＣ５はその周辺の回路とによってトリガＡを保持（ラッチ）し、トリガＢが入力されることでそのラッチを解除する（第１トリガ保持部２２）。すなわち、第１トリガ保持部２２は第１トリガを受信して保持しこの保持された信号を第２トリガの受信によりリセットする。
【００２７】
ＩＣ６およびＩＣ７を含む回路は安全信号出力部２３である。ＩＣ６はＩＣ５によってトリガＡがラッチされている間に再びトリガＡを入力することで、トリガＡが不要に発振したと判断し、”Ｈ”を出力する回路である。ＩＣ６の出力は一旦”Ｈ”が出力されると保持される。そして、ＩＣ７はＩＣ６の出力を入力しており、ＩＣ７の出力が”Ｈ”のときにＩＣ４によって出力される制御パルスを安全パルスとして出力することを阻止する。すなわち、安全信号出力部２３は第１トリガ保持部２２の出力がリセット状態のとき制御パルスを安全パルスとして出力し、第１トリガ保持部２２の出力が第１トリガを保持した状態のときに第１トリガを受信することにより、その後、制御パルスを安全パルスとして出力することを阻止し続ける。
【００２８】
続いて、安全制御部２の動きについて図３を用いて説明する。
ＣＰＵ部１は、先ず、リセット信号を”Ｌ”から”Ｈ”にして、ＩＣ１およびＩＣ４をリセット状態から解除し、安全制御部２の機能をオンにしている（図３の区間ｐ０）。
【００２９】
続いて、区間ｐ１において、ＣＰＵ部１はパルス状の信号のトリガＡを出力し、安全制御部２に与えている。ＩＣ５は該ＩＣ５のＤ端子に接続されたゲート回路を介してトリガＡを受信し、その出力を”Ｈ”にして保持している。その後、トリガＢが受信されＩＣ２の＊Ｙ２が出力されることによって、ＩＣ５はその出力をクリアしている。一方、ＩＣ６はトリガＡを受信したタイミングのとき、ＩＣ５の出力が”Ｌ”である、すなわちＩＣ５がトリガＡをラッチしていないので、その出力を”Ｌ”としている。
【００３０】
また、ＩＣ１はトリガＡを受信することによりｔａ時間”Ｌ”を出力し、ｔａ時間経過後”Ｈ”を出力している。ＣＰＵ部１は、トリガＡを出力した後のｔａ時間の間、すなわちＩＣ１が”Ｌ”を出力している間に、符号化されたトリガＢ（コード”２”）を出力している。トリガＢ（コード”２”）はＩＣ２によってデコードされ、ＩＣ２の出力＊Ｙ２が”Ｌ”に出力されている。ＩＣ３はＩＣ１の＊Ｑ出力とＩＣ２の＊Ｙ２出力とのＡＮＤをとって”Ｈ”のパルスを出力している。このパルスを受けたＩＣ４は、この時点を起点に”Ｈ”を出力し、ｔｂ時間”Ｈ”を出力し続けるように作動している。ＩＣ４の出力はＩＣ７を介して安全パルスとして”Ｈ”出力されており、前述のようにＩＣ６の出力が出力されてない、すなわちＩＣ６が”Ｌ”を出力していることを条件に出力される。
【００３１】
安全制御部２から出力された安全パルス”Ｈ”を受けた出力部３は、ＣＰＵ部１から与えられた制御指令に基づき通常の制御を実行する通常モードとして動作している（不図示)。
【００３２】
続いて、区間ｐ２，ｐ３において、ＣＰＵ部１の動きは区間ｐ１と同様である。また安全制御部２の動きも区間ｐ２と同様であり、ＩＣ３がパルス状の出力を出力している。このパルスを受けてＩＣ４はリトリガされ、このリトリガ時点を起点にｔｂ時間の”Ｈ”を出力するように作動している。よって、出力部３は通常モードを維持している。
【００３３】
続いて、区間ｐ４において、ＣＰＵ部１はトリガＡを出力した後、ｔａ時間を超過して、すなわちＩＣ１が”Ｌ”を出力している間に間に合わず、トリガＢ（コード”２”）を出力している。このときトリガＢ（コード”２”）はＩＣ２によってデコードされ、ＩＣ２の出力＊Ｙ２が”Ｌ”に出力されている。ＩＣ３はＩＣ１の＊Ｑ出力とＩＣ２の＊Ｙ２出力とのＡＮＤをとるため、その出力は出力されず”Ｌ”のままである。ＩＣ４は、ＩＣ３からのパルス状の信号を受けないためリトリガされない。リトリガされないＩＣ４は、区間ｐ３でのリトリガ時点を起点に、ｔｂ時間”Ｈ”を出力した後”Ｌ”を出力している。従って、安全パルスも同様”Ｌ”になる。
【００３４】
このように、ＩＣ３の出力がパルス状に出力されないと、ＩＣ４の機能がリトリガを含め作動されず、ＩＣ４の出力は”Ｌ”になり、安全パルスも”Ｌ”になる。不図示ではあるが、安全パルス”Ｌ”を受信した出力部３は、ＣＰＵ部１から制御指令が与えられても、その制御を実行せず、その出力を安全側に出力している（安全モード）。
【００３５】
すなわち、安全制御部２はトリガＡ（第１トリガ）の入力によって生成されるｔａ時間のウィンドウ時間中に、トリガＢ（第２トリガ）が入力されることで出力部３の制御出力が有効となるように作用する。一方、安全制御部２は生成したウィンドウ時間中（ｔａ時間）にトリガＢ（第２トリガ）が入力されないと出力部３の制御出力が安全側になるように作用する。
【００３６】
続いて、区間ｐ５を説明する。ＣＰＵ部１はトリガＡを出力した後にトリガＢを出力せず、トリガＡを繰り返し出力している。このような事象は突発的な不具合によりＣＰＵ部１がプログラムを正常に実行できない場合などに起こる。通常であれば、ＩＣ５はトリガＡをラッチした後にトリガＢを受信することでトリガＡのラッチを解除するが、この例の場合には、トリガＢを受信せずトリガＡを再び受信している。こうなると、ＩＣ６は、ＩＣ５によるトリガＡのラッチが保持されたままトリガＡを受信することになるため、該受信によってその出力を”Ｈ”にしている。ＩＣ６の出力が一旦”Ｈ”になると、ＩＣ６のＤ端子に接続されたＯＲゲートを介してそのＤ端子に”Ｈ”がフィードバックされるので、ＩＣ６は”Ｈ”を出力し続ける。この後、ＣＰＵ部１からトリガＢ（コード”２”）が出力されてＩＣ３がパルス状の信号をＩＣ４に与えている。この結果、ＩＣ４が”Ｈ”を出力しているが、ＩＣ６の”Ｈ”出力によってＩＣ７による安全パルスの出力条件が成立せず、安全パルスの出力がマスクされている。
【００３７】
このように、ＩＣ６の出力が”Ｈ”になると、ＩＣ７による安全パルスの出力条件が成立せず、安全パルスは強制的に”Ｌ”になる。すなわちＩＣ６の出力が”Ｈ”になると、ＩＣ７を介して安全パルスとして出力されるＩＣ４の出力（制御パルス）の出力が阻止（マスク）し続けされ、安全パルスは強制的に”Ｌ”になる。
【００３８】
続いて、図２を参照しながらＣＰＵ部１の詳細な動きを説明する。ＣＰＵ部１は、第１トリガ出力手段１ａおよび第２トリガ出力手段１ｂが組み込まれたプログラム１１を実行して、外部機器４を制御するための制御指令を生成し出力部３に転送する。この転送された制御指令に基づき出力部３は外部機器４を制御する。
【００３９】
スタート後、ＣＰＵ部１は第１トリガ出力手段１ａを実行し、所定のプログラムステップを実行した後に第２トリガ出力手段１ｂを実行する。この後、ＣＰＵ部１はプログラム１１の残りのプログラムステップを実行して再び第１トリガ出力手段１ａを実行するようにプログラム１１を順次実行している。プログラム１１は例えば１０ｍｓ周期でサイクリックに実行されており、第１トリガ出力手段１ａおよび第２トリガ出力手段１ｂはプログラム１１の実行に際しそれぞれ１回実行される。なお、第２トリガ出力手段１ｂは複数回実行されても良い。
【００４０】
ＣＰＵ部１はプログラム１１を順次実行する際、第１トリガ出力手段１ａによってパルス状の信号のトリガＡを出力し、第２トリガ出力手段１ｂによってコード化されたトリガＢを出力する。すなわち、トリガＢはトリガＡが出力された後、プログラム１１の所定のステップ数の実行時間を経て出力される。なお、トリガＡはＣＰＵ部１に搭載のマイクロプロセッサ（ＣＰＵ）のＩ／Ｏポートをオンしオフすることで出力され、トリガＢは安全制御部２をデータ出力先としてＣＰＵ部１に搭載されたＣＰＵがデータを書き込む形態で出力される。
【００４１】
すなわち、第１トリガ出力手段１ａと第２トリガ出力手段１ｂは、ＣＰＵ部１がプログラム１１を実行する際に、第１トリガ出力手段１ａがトリガＡを出力してから前述ｔａ時間以内に第２トリガ出力手段１ｂがトリガＢを出力するように配置されている。例えば、ｔａ時間を１ｍｓとした場合、第１トリガ出力手段１ａと第２トリガ出力手段１ｂは、ＣＰＵ部１が正常にプログラムを実行するにおいてトリガＡとトリガＢの出力間隔時間が１ｍｓを超えないように配置されれば良い。
【００４２】
このように構成することにより、本発明は所定部位のプログラムの実行速度が、ユーザの要求スピードに応えるべく実行されているか否かをチェックすることができる。
また、本発明は、ＣＰＵ部１から出力されるトリガＡをラッチし、このラッチが保持されている間に再びトリガＡが出力されることによって、トリガＡの不要な発振を検出している。すなわち、本発明はＣＰＵ部１のプログラムの実行が正常な手順で行われているかをトリガＡの出力をチェックすることで監視しており、トリガＡの発振を検知したときには早急に安全パルスの出力をマスクすることで出力部３に安全制御を実行させている。
【００４３】
このようにする理由は、トリガＡはＣＰＵ部１のプログラムの実行が正常に行われているかを検出するための要（かなめ）信号であるので、この信号が発振するような事象が起こったときにはプログラムが正常に実行されてない証である。このためＣＰＵ部１は通常の制御を実行することが不可能と考えられ、早急に安全制御を実行し危険を回避する必要があるためである。
【００４４】
以上のように構成することにより、例えばプログラムの実行速度が、要求性能に達していないなどの性能に関わる品質の低下を検知することができる。また、プログラムの実行が正常に行われているかを検出するための要（かなめ）信号である第１トリガの発振（プログラムの暴走によって第１トリガが発振する）をも検出できる。
【００４５】
従って、本発明によって、故障に加えて性能の低下（クロック周波数の低下によるプログラム実行速度の低下やユーザが要求するプログラム実行速度に対する実機速度の妥当性）をも検出し、かつプログラムの実行が正常に行われているかを検出するための要（かなめ）信号の発振が起こったとしても、被制御機器を安全側に制御する安全制御を実行することが可能な高信頼な安全制御装置を提供することができる。
【００４６】
なお、上記説明では第１トリガ出力手段１ａと第２トリガ出力手段１ｂが、プログラム１１の所定ステップを挟んで配置されるよう説明したが、連続して配置しても良い。
また、ＣＰＵ部１が実行する一連の処理（プログラム１１）は外部機器４を制御するアプリケーションプログラムで構成することができる。このアプリケーションプログラムによって演算された指令が制御指令として出力部３に与えられる。すなわち、トリガＢの出力処理は、上記アプリケーションプログラムの途中に配置される。このようにすることにより、アプリケーションプログラムの一連の制御処理の中で、所定部分の処理をターゲットに、その実行速度を監視することができる。
【００４７】
また、別の構成としてプログラム１１は、トリガＡを出力してからトリガＢを出力するまでの処理を上記アプリケーションプログラムで構成し、トリガＢを出力した以降の処理を上記アプリケーションプログラムではなく、各種プログラムの管理（タスクスケジュールの管理など）や安全制御装置１００全体の情報（ＲＡＳ情報の収集やモード設定など）などを管理する管理処理（管理プログラム）で構成することができる。この場合も上記同様アプリケーションプログラムによって演算された指令が制御指令として出力部３に与えられる。
【００４８】
また、プログラム実行周期をｐ時間とすると、安全パルス幅ｔｂはｐ時間よりも長く構成され、ウィンドウパルス幅ｔａはｐ時間よりも短く構成される。すなわち、ｔａ時間＜ｐ時間＜ｔｂ時間という関係にて、本発明は構成される。
【００４９】
また、ＣＰＵ部１が故障してトリガＡが出力されなくなった場合には、前述ウィンドウパルスが生成されず安全パルスは出力されない。このため、本発明はＣＰＵ部１の故障に対しても安全制御が実行されるということは勿論である。
【符号の説明】
【００５０】
１００    安全制御装置
１    ＣＰＵ回路（演算部）
１ａ  第１トリガ出力手段
１ｂ  第２トリガ出力手段
１１    プログラム
２    安全制御部
２０    第１ウィンドウ信号生成部
２１    第２ウィンドウ信号生成部
２２    第１トリガ保持部
２３    安全信号出力部
３    出力部
【図１】
0006032391.tif 000002
【図２】
0006032391.tif 000003
【図３】
0006032391.tif 000004