(57)【特許請求の範囲】
【請求項１】
入力デバイスへと接続されるべき入力端子列、出力デバイスへと接続されるべき出力端子列、及びテスト対象デバイスへと接続されるべきテスト端子列とを有する端子台と、
端子台の入力端子列から入力信号を内部に取り込む動作、端子台の出力端子列から出力信号を外部へと送出する動作、及び端子台のテスト端子列からテスト信号を外部へと送出する動作を行う入出力回路と、
入力端子列から内部に取り込まれる入力信号に相当する入力データ群、出力端子列から外部へと送出される出力信号に相当する出力データ群を格納するための入出力メモリと、
予め用意されたファンクションブロック群の中から選択された１又は２以上のファンクションブロックを使用してユーザにより作成されたユーザプログラムを格納するためのユーザプログラムメモリと、
当該コントローラに必要な各種のシステム機能を実現するためのシステム処理と、ユーザプログラムメモリに格納されたユーザプログラムを構成する各ファンクションブロックを順次に読み出しては解読実行するユーザプログラム実行処理とを含む処理を実行するＭＰＵとを含み、
前記ＭＰＵにおける実行処理には、
ユーザプログラム中から読み出されたファンクションブロックが、入力デバイス診断用のファンクションブロックであると解読されたことを条件として起動され、そのファンクションブロックで指定されるテスト端子から周期的なテストパルスを含むテスト信号を出力しながら、同ファンクションブロックで指定されるデバイス信号入力端子から入力されるデバイス信号中に、各周期毎に、一定の評価時間内にテストパルスが戻ってくるか否かに基づいて、当該入力デバイスが正常か異常かを診断する入力デバイス診断処理が含まれ、
前記ＭＰＵは診断処理実行手段として機能する、ことを特徴とするセーフティコントローラ。
【請求項２】
前記ＭＰＵにおける実行処理には、
ユーザプログラム中から読み出されたファンクションブロックが、診断結果補助出力用のファンクションブロックであると解読されたことを条件として起動され、そのファンクションブロックで指定される入力デバイス診断用のファンクションブロックの出力に基づいて所定の補助出力を生成する補助出力生成処理がさらに含まれている、ことを特徴とする請求項１に記載のセーフティコントローラ。
【請求項３】
前記入力デバイス診断用のファンクションブロックが、
被診断入力デバイスの制御出力信号に相当するデバイス信号が入力されるべきデバイス信号入力端子を指定する情報と、
評価済みのデバイス信号が出力されるべきデバイス信号出力端子を指定する情報と、
被診断入力デバイスのテスト入力信号に相当するテスト信号が出力されるべきテスト信号出力端子を指定する情報と、
被診断入力デバイスが正常か異常かを示す診断信号が出力されるべき診断信号出力端子を指定する情報とを有するものであり、かつ
前記診断処理実行手段が、
デバイス信号入力端子から入力されるデバイス信号を監視すると共に、オン状態が所定オン時間を経過した時点を開始時点、オフ状態が所定オフ時間を経過した時点を終了時点とするテスト実行条件成立期間を検出する第１の手段と、
第１の手段で検出されるテスト実行条件成立期間において、前記所定オフ時間よりも短いオン時間を有するテストパルスを周期的に含むようにしたテスト信号をテスト信号出力端子から送出する第２の手段と、
デバイス信号入力端子から入力されるデバイス信号を監視すると共に、そのデバイス信号に重畳されて毎周期出現するテストパルスが、第２の手段から毎周期送出されるテストパルスから所定の評価時間内に出現するか否かに基づいて、当該デバイス信号の正常／異常をパルス周期毎に評価すると共に、その評価結果を周期単位で保持することで当該被診断入力デバイスが正常か又は異常かを示す診断信号を生成して診断信号出力端子から出力する第３の手段と、
デバイス信号入力端子から入力されるデバイス信号からそれに重畳されたテストパルスを除去すると共に、これを診断信号でゲートすることで評価済みデバイス信号を生成してデバイス信号出力端子から出力する第４の手段とを含む、ことを特徴とする請求項１又は２に記載のセーフティコントローラ。
【請求項４】
前記入力デバイス診断用のファンクションブロックが、この種のコントローラが通常備える基本ファンクションブロックを適宜に組み合わせてなるロジックシンボル図をマクロ化することで実現されている、ことを特徴とする請求項３に記載のセーフティコントローラ。
【請求項５】
前記診断結果補助出力用のファンクションブロックが、
入力デバイス診断用のファンクションブロックから出力される評価済みのデバイス信号が入力されるべき評価済みデバイス信号入力端子を指定する情報と、
入力デバイス診断用のファンクションブロックから出力される診断信号が入力されるべき診断信号入力端子を指定する情報と、
ラッチ処理済みの診断信号が出力されるべき診断信号出力端子を指定する情報と、
異常時禁止処理済みの評価済みデバイス信号が出力されるべき評価済みデバイス信号出力端子を指定する情報とを少なくとも有するものであり、かつ
前記補助出力生成処理が、
診断信号入力端子から入力される診断信号が正常状態から異常状態に変化すると異常状態をラッチすると共に、評価済みデバイス信号入力端子から入力される評価済みデバイス信号がオフ状態からオン状態に変化すると異常状態のラッチが解除され、こうして得られる異常ラッチ状態又は異常ラッチ解除状態を示す診断信号を診断信号出力端子へと送出する第１の手段と、
評価済みデバイス信号入力端子と評価済みデバイス信号出力端子との間にあって、診断信号が異常ラッチ解除状態のときには評価済みデバイス信号の通過を許容する一方、診断信号が異常ラッチ状態のときにきは評価済みデバイス信号の通過を禁止する第２の手段とを含む、ことを特徴とする請求項２に記載のセーフティコントローラ。
【請求項６】
前記診断結果補助出力用のファンクションブロックが、この種のコントローラが通常備える基本ファンクションブロックを適宜に組み合わせてなるロジックシンボル図をマクロ化することで実現されている、ことを特徴とする請求項５に記載のセーフティコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばＩＥＣ６１５０８やＥＮ規格等の安全規格を満足するセーフティコントローラに関する。
【背景技術】
【０００２】
各種の安全規格を満足する入力デバイス（例えば、セーフティ非常停止押ボタンスイッチ、セーフティライトカーテン、セーフティ２ハンドスイッチ、セーフティドアスイッチ、セーフティシングルビームセンサ、ライトカーテン、セーフティ光電センサ等々を含む。以下、入力デバイスと言う）と各種の安全規格を満足する出力デバイス（例えば、セーフティリレー、セーフティコンタクタ等々を含む。以下、出力デバイスと言う）との間にあって、入出力デバイス間の信号のやり取りを安全に行うための装置としては、安全規格を満足するセーフティコントローラが知られている（例えば、特許文献１参照）。
【０００３】
この種のセーフティコントローラは、端子台と、入出力回路と、入出力メモリと、ユーザプログラムメモリと、マイクロプロセッサ（以下、ＭＰＵと言う）とを有している。
【０００４】
ここで、端子台は、入力デバイスへと接続されるべき入力端子列、出力デバイスへと接続されるべき出力端子列、及びテスト対象デバイスへと接続されるべきテスト端子列とを有している。
【０００５】
入出力回路は、端子台の入力端子列から入力信号を内部に取り込む動作、端子台の出力端子列から出力信号を外部へと送出する動作、及び端子台のテスト端子列からテスト信号を外部へと送出する動作を行う。
【０００６】
入出力メモリは、入力端子列から内部に取り込まれる入力信号に相当する入力データ群、出力端子列から外部へと送出される出力信号に相当する出力データ群を格納する。
【０００７】
ユーザプログラムメモリは、予め用意されたファンクションブロック群の中から選択された１又は２以上のファンクションブロックを使用してユーザにより作成されたユーザプログラムを格納する。
【０００８】
ＭＰＵは、当該コントローラに必要な各種のシステム機能を実現するためのシステム処理とユーザプログラムメモリに格納されたユーザプログラムを構成する各ファンクションブロックを順次に読み出しては解読実行するユーザプログラム実行処理とを含む処理を実行する。例えば、ＭＰＵは当該コントローラに必要な各種のシステム機能を実現するためのシステム処理と、ネットワークを介する他の通信ノードとの通信やツール装置等との通信を実現する通信処理と、入出力メモリと入出力端子列との間で入出力回路を介して入出力データの更新を行う入出力更新処理と、ユーザプログラムメモリに格納されたユーザプログラムを構成する各ファンクションブロックを順次に読み出しては解読実行するユーザプログラム実行処理とを含む一連の処理をサイクリックに実行する。ここで、ユーザプログラム実行処理は、ＭＰＵ自身が直接にファンクションブロックを実行する場合もあれば、ＭＰＵがファンクションブロックの実行機能が組み込まれたＡＳＩＣを介してファンクションブロックを実行する場合もある。なお、ＭＰＵの処理については、当該コントローラに必要な各種処理をサイクリックに直列的に実行する構成に代えて、各種処理を並列的に処理するものや、それぞれの処理を時分割に並列的に処理する構成とすることもできる。
【０００９】
入力デバイス、セーフティコントローラ、及び出力デバイスを含む制御システム全体の確実な動作を保証するために、ＭＰＵが実行するシステム処理には、入力デバイスのそれぞれが正常か異常かを診断するための入力デバイス診断処理が含まれている。これをセーフティコントローラにおける入力デバイス自己診断機能と言うこともある。
【特許文献１】特開２００４−２９７９９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
一般に、この種の入力デバイス診断処理においては、特定のテスト端子からパルス（又は一定周期のパルス列）を送り出しながら、特定の入力端子から取り込まれる信号中に現れる戻りパルス（又は一定周期のパルス列）を監視し、戻りパルス（又は一定周期のパルス列）がパルス送出時点から起算される一定の評価時間（Ｔｅｖ）内に戻ってくるか否かに基づいて、その入力デバイスが正常か異常か（入力デバイス自体の短絡・断線、配線長の不適切等々）を評価すると言う診断手法が採用される。
【００１１】
例えば非常停止押ボタンスイッチ、ドアスイッチ、２ハンドスイッチ等のように、被検出物体の動きと物理的に連動して接点が開閉作動するスイッチを介して出力信号を生成するタイプ（いわゆる有接点タイプとも言う。以下、第１のタイプと言う）の入力デバイスの場合、特定のテスト端子と特定の入力端子との間に上記のスイッチが介在されるように配線した状態で、入力デバイスについての診断処理が実行される。すると、テスト端子から送出されたテストパルスは上記のスイッチとの配線およびスイッチ内の閉状態の接点とからなる通電路を経由して瞬時に入力端子へと戻されるから、当該入力デバイスが正常か異常かを診断するために必要な評価時間（Ｔｅｖ）は極めて短いものでなければならない。
【００１２】
これに対して、シングルビームセンサ、ライトカーテン、セーフティ光電センサ等のように、受光器側におけるチャタリング防止用のフィルタ処理、波形整形処理、二値化処理等々を順に経て作動し、内部処理結果に応じてトランジスタ等の半導体をオンオフ動作させることにより出力信号を生成するタイプ（以下、第２のタイプと言う）の入力デバイスの場合、特定のテスト端子は投光器側のテスト入力線に、また特定の入力端子は受光器側の制御出力線にそれぞれ接続された状態で、入力デバイス診断処理が実行される。すると、投光器側に与えられたパルスは、受光器側におけるフィルタ処理、波形整形処理、二値化処理を経ることにより、センサ内の各処理に要する時間分の遅れ時間（例えば、数１０ｍｓ）の後、入力端子へと戻されるから、当該入力デバイスが正常か異常かを診断するために必要な評価時間（Ｔｅｖ）はかなり長いものでなければならない。
【００１３】
そのため、第１のタイプの入力デバイスと第２のタイプの入力デバイスとの双方に対応可能な従来のセーフティコントローラにあっては、それぞれのタイプの入力デバイス毎に専用のテスト端子群を端子台上に配置せねばならず、メーカ側における端子割付自由度を著しく制約することになる。さらにユーザ側にあっても、使用する入力デバイスの台数の事情によりいずれかのタイプの入力デバイスに対応するテスト端子群を使用し尽くしてしまうと、足りない状態となる。余ったテスト端子群は別のタイプの入力デバイス専用であって使用できないからである。例えば第２タイプのシングルビームセンサの使用台数が多く、シングルビームセンサ用のテスト端子列が足らなくなった場合に、シングルビームセンサを接点スイッチ用のテスト端子列に接続しても診断できなくなるという問題点がある。この場合にシングルビームセンサをさらに使用したいならば、さらに別にコントローラを購入せねばならず、コストアップに繋がるという問題点もあった。
【００１４】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、メーカ側にあっては、端子台上の端子配置自由度になんらの制約を受けることがなく、ユーザ側にあっても、端子台上のスペースに無駄を生ずることなく、例えば接点開閉作動するようなタイプおよび内部処理に時間を要するタイプの双方の入力デバイスに任意に対応可能としたセーフティコントローラを提供することにある。
【００１５】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１６】
上述の技術的な課題は、以下の構成を有するセーフティコントローラにより悉く解決されるものと考えられる。
【００１７】
すなわち、この発明のセーフティコントローラは、以下の内容を有する端子台、入出力回路、入出力メモリ、ユーザプログラムメモリ、及びＭＰＵを有している。
【００１８】
端子台は、入力デバイスへと接続されるべき入力端子列、出力デバイスへと接続されるべき出力端子列、及びテスト対象デバイスへと接続されるべきテスト端子列とを有している。
【００１９】
入出力回路は、端子台の入力端子列から入力信号を内部に取り込む動作、端子台の出力端子列から出力信号を外部へと送出する動作、及び端子台のテスト端子列からテスト信号を外部へと送出する動作を行う。
【００２０】
入出力メモリは、入力端子列から内部に取り込まれる入力信号に相当する入力データ群、出力端子列から外部へと送出される出力信号に相当する出力データ群を格納する。
【００２１】
ユーザプログラムメモリは、予め用意されたファンクションブロック群の中から選択された１又は２以上のファンクションブロックを使用してユーザにより作成されたユーザプログラムを格納する。なお、ユーザプログラムとは、当該コントローラの使用者（ユーザ）が作成するプログラムであり、入力デバイスのオンオフ状態をロジック演算しその演算結果に応じて出力デバイスのオンオフ状態を制御するためのＩ／Ｏ制御用プログラム、入力デバイスが正常な状態か否かを診断するための入力デバイス診断用プログラム等を含んでいる。
【００２２】
ＭＰＵは、当該コントローラに必要な各種のシステム機能を実現するためのシステム処理とユーザプログラムメモリに格納されたユーザプログラムを構成する各ファンクションブロックを順次に読み出しては解読実行するユーザプログラム実行処理とを含む処理を実行する。例えば、ＭＰＵは当該コントローラに必要な各種のシステム機能を実現するためのシステム処理と、ネットワークを介する他の通信ノードとの通信やツール装置等との通信を実現する通信処理と、入出力メモリと入出力端子列との間で入出力回路を介して入出力データの更新を行う入出力更新処理と、ユーザプログラムメモリに格納されたユーザプログラムを構成する各ファンクションブロックを順次に読み出しては解読実行するユーザプログラム実行処理とを含む一連の処理をサイクリックに実行する構成でもよい。なお、ＭＰＵの処理については、各種処理をサイクリックに直列的に実行する構成に代えて、各種処理を並列的に処理する構成や、それぞれの処理を時分割に並列的に処理とする構成とすることもできる。
【００２３】
そして、ＭＰＵにおける実行処理には、Ｉ／Ｏ制御用プログラムの実行処理、入力デバイス診断用プログラムの実行処理が含まれる。入力デバイス診断処理については、ユーザプログラム中から読み出されたファンクションブロックが、入力デバイス診断用のファンクションブロックであると解読されたことを条件として起動され、そのファンクションブロックで指定されるテスト端子から周期的なテストパルスを含むテスト信号を出力しながら、同ファンクションブロックで指定されるデバイス信号入力端子から入力されるデバイス信号中に、各周期毎に、一定の評価期間内にテストパルスが戻ってくるか否かに基づいて、当該入力デバイスが正常か異常かを診断する処理を行う。また、ＭＰＵは診断処理実行手段として機能する。この入力デバイス診断処理は、例えば後述するように、ユーザがファンクションブロックを利用してプログラミングしたものであって、診断チェックのための内部処理に時間を要するタイプ、またはテスト信号が戻ってくるのに遅れ時間が生じるタイプの入力デバイスの診断処理が該当する。
【００２４】
このような構成によれば、ユーザプログラム中に入力デバイス診断用のファンクションブロックを組み込むと共に、このファンクションブロックにおいて、端子台上の任意の空き端子をテスト端子及びデバイス信号入力端子に指定すれば、ユーザプログラム実行処理に際して、それらの端子に関して入力デバイス診断処理が実行されるから、入力デバイス診断処理をシステム処理に含めて実行させる従来例とは異なり、メーカ側にあっては、端子台上の端子配置自由度になんらの制約を受けることがなく、ユーザ側にあっても、端子台上のスペースに無駄を生ずることなく、双方のタイプの入力デバイスに任意に対応可能となる。
【００２５】
本発明の好ましい実施の形態においては、前記ＭＰＵにおける実行処理には、ユーザプログラム中から読み出されたファンクションブロックが、診断結果補助出力用のファンクションブロックであると解読されたことを条件として起動され、そのファンクションブロックで指定される入力デバイス診断用のファンクションブロックの出力に基づいて所定の補助出力を生成する補助出力生成処理がさらに含まれていてもよい。
【００２６】
このような構成によれば、この診断結果補助出力用のファンクションブロックをユーザプログラム中にさらに組み込むことにより、入力デバイス診断用のファンクションブロックの出力を適宜に拡張することで、さらに、様々な補助出力を生成することができる。
【００２７】
本発明の好ましい実施の形態においては、前記入力デバイス診断用のファンクションブロックが、被診断入力デバイスの制御出力信号に相当するデバイス信号が入力されるべきデバイス信号入力端子を指定する情報と、評価済みのデバイス信号が出力されるべきデバイス信号出力端子を指定する情報と、被診断入力デバイスのテスト入力信号に相当するテスト信号が出力されるべきテスト信号出力端子を指定する情報と、被診断入力デバイスが正常か異常かを示す診断信号が出力されるべき診断信号出力端子を指定する情報とを有するものであり、かつ前記診断処理実行手段が、下記の構成を有する第１乃至第４の手段を含むものであってもよい。なおファンクションブロックが各端子を有するとは、例えば図７のようにファンクションブロックの端子が視覚的に画面上に結線表示されうることを意味する。
【００２８】
ここで、第１の手段は、デバイス信号入力端子から入力されるデバイス信号を監視すると共に、オン状態が所定オン時間を経過した時点を開始時点、オフ状態が所定オフ時間を経過した時点を終了時点とするテスト実行条件成立期間を検出する。
【００２９】
また、第２の手段は、第１の手段で検出されるテスト実行条件成立期間において、前記所定オフ時間よりも短いオン時間を有するテストパルスを周期的に含むようにしたテスト信号をテスト信号出力端子から送出する。
【００３０】
また、第３の手段は、デバイス信号入力端子から入力されるデバイス信号を監視すると共に、そのデバイス信号に重畳されて毎周期出現するテストパルスが、第２の手段から毎周期送出されるテストパルスから所定の評価期間内に出現するか否かに基づいて、当該デバイス信号の正常／異常をパルス周期毎に評価すると共に、その評価結果を周期単位で保持することで当該被診断入力デバイスが正常か又は異常かを示す診断信号を生成して診断信号出力端子から出力する。
【００３１】
さらに、第４の手段は、デバイス信号入力端子から入力されるデバイス信号からそれに重畳されたテストパルスを除去すると共に、これを診断信号でゲートする（論理演算する）ことで評価済みデバイス信号を生成してデバイス信号出力端子から出力する。
【００３２】
このような構成によれば、診断信号出力端子からは当該被診断入力デバイスが正常か又は異常かを示す診断信号が出力されると共に、デバイス信号出力端子からは評価済みデバイス信号が出力される。そのため、診断信号出力端子から出力される診断信号を適宜に利用することにより、当該被診断入力デバイスに関する異常時処理を実行させたり、あるいはデバイス信号出力端子から出力される評価済みデバイス信号を適宜に利用することにより、本来の出力遮断処理に供することができる。
【００３３】
本発明の好ましい実施の形態においては、前記入力デバイス診断用のファンクションブロックが、この種のコントローラが通常備える基本ファンクションブロックを適宜に組み合わせてなるロジックシンボル図をマクロ化することで実現されていてもよい。
【００３４】
このような構成によれば、被診断入力デバイスの特性により、評価時間等に変更の必要が生じたとしても、基本ファンクションブロックの組み替え乃至パラメータ変更程度の改変で対応することができるから、販売済み製品についても、システムプログラムを変更することなく、新たな入力デバイス診断用のファンクションブロックをメーカー側より提供することができる。
【００３５】
本発明の好ましい実施の形態においては、前記診断結果補助出力用のファンクションブロックが、入力デバイス診断用のファンクションブロックから出力される評価済みのデバイス信号が入力されるべき評価済みデバイス信号入力端子を指定する情報と、入力デバイス診断用のファンクションブロックから出力される診断信号が入力されるべき診断信号入力端子を指定する情報と、ラッチ処理済みの診断信号が出力されるべき診断信号出力端子を指定する情報と、異常時禁止処理済みの評価済みデバイス信号が出力されるべき評価済みデバイス信号出力端子を指定する情報とを少なくとも有するものであり、かつ前記補助出力生成処理が、下記の構成を有する第１及び第２の手段を含むものであってもよい。なおファンクションブロックが各端子を有するとは、例えば図７のようにファンクションブロックの端子が視覚的に画面上に結線表示されうることを意味する。
【００３６】
ここで、第１の手段は、診断信号入力端子から入力される診断信号が正常状態から異常状態に変化すると異常状態をラッチすると共に、評価済みデバイス信号入力端子から入力される評価済みデバイス信号がオフ状態からオン状態に変化すると異常状態のラッチが解除され、こうして得られる異常ラッチ状態又は異常ラッチ解除状態を示す診断信号を診断信号出力端子へと送出する。
【００３７】
また、第２の手段は、評価済みデバイス信号入力端子と評価済みデバイス信号出力端子との間にあって、診断信号が異常ラッチ解除状態のときには評価済みデバイス信号の通過を許容する一方、診断信号が異常ラッチ状態のときには評価済みデバイス信号の通過を禁止する。
【００３８】
このような構成によれば、診断信号出力端子からは、診断信号入力端子から入力される診断信号が正常状態から異常状態に変化すると、その後、評価済みデバイス信号入力端子から入力される評価済みデバイス信号がオフ状態からオン状態に変化するまで、継続的に異常状態を示す診断信号が出力され続けるから、この診断信号を利用することで異常表示等を行わせることができる。また、評価済みデバイス信号出力端子からは、診断信号が異常ラッチ状態のときに限り、評価済みデバイス信号が出力されるから、この評価済みデバイス信号を利用することにより、より信頼性の高いセーフティコントロールを実現することができる。
【００３９】
本発明の好ましい実施の形態においては、前記診断結果補助出力用のファンクションブロックが、この種のコントローラが通常備える基本ファンクションブロックを適宜に組み合わせてなるロジックシンボル図をマクロ化することで実現されていてもよい。
【００４０】
このような構成によれば、補助出力生成処理に変更の必要が生じたとしても、基本ファンクションブロックの組み替え乃至パラメータ変更程度の改変で対応することができるから、販売済み製品についても、システムプログラムを変更することなく、新たな診断結果補助出力用のファンクションブロックをメーカー側より提供することができる。
【発明の効果】
【００４１】
本発明によれば、ユーザプログラム中に入力デバイス診断用のファンクションブロックを組み込むと共に、このファンクションブロックにおいて、端子台上の任意の空き端子をテスト端子及びデバイス信号入力端子に指定すれば、ユーザプログラム実行処理に際して、それらの端子に関して入力デバイス診断処理が実行されるから、入力デバイス診断処理をシステム処理に含めて実行させる従来例とは異なり、メーカ側にあっては、端子台上の端子配置自由度になんらの制約を受けることがなく、ユーザ側にあっても、端子台上のスペースに無駄を生ずることなく、双方のタイプの入力デバイスに任意に対応可能となる。
【発明を実施するための最良の形態】
【００４２】
以下に、この発明に係るセーフティコントローラの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００４３】
本発明に係るセーフティコントローラのスタンドアロンモードにおけるシステム構成の一例を示す説明図が図１に、同セーフティコントローラのネットワーク接続モードにおけるシステム構成の一例を示す説明図が図２にそれぞれ示されている。
【００４４】
それらの図から明らかなように、本発明に係るセーフティコントローラ１は、各種の入力デバイス２００と各種の出力デバイス３００との間にあって、入出力デバイス間の信号のやり取りを安全に行うための装置として構成されている。この例では、入力デバイス２００としては、セーフティシングルビームセンサ４ａ、セーフティ非常停止押ボタンスイッチ４ｂ、セーフティライトカーテン４ｃ、セーフティドアスイッチ４ｄ、及びセーフティ２ハンドスイッチ４ｅが示されており、出力デバイス３００としてはコンタクタ３ａが示されている。
【００４５】
また、このセーフティコントローラ１は、図１に示されるスタンドアロンモードと、図２に示されるネットワーク接続モードとの何れにおいても使用することが可能とされている。
【００４６】
図１に示されるように、スタンドアロンモードとして使用される場合、セーフティコントローラ１にはＵＳＢ通信を介してツール装置として機能するネットワークコンフィグレータ２が接続される。
【００４７】
図２に示されるように、ネットワーク接続モードとして使用される場合には、セーフティコントローラ１に対して、１若しくは２以上のセーフティスレーブ５を接続することで、セーフティコントローラシステム４００が構成され、セーフティコントローラ１とセーフティスレーブ５との間はセーフティＩＯ通信で結ばれる。一方、スタンダードＰＬＣ（マスタ）６に対しても、１若しくは２以上のスタンダードスレーブ７が接続されることで、スタンダードコントローラシステム５００が構成され、スタンダードＰＬＣ６とセーフティコントローラ１との間は通常ＩＯ通信で結ばれる。
【００４８】
セーフティコントローラ１のハードウェア構成を概略的に示すブロック図が図３に示されている。同図に示されるように、セーフティコントローラ１は、中央処理部（ＣＰＵ）１０１、通信制御部１０２、ＵＳＢ制御部１０３、入出力回路１０４、及び端子台１ａを含んで構成される。
【００４９】
端子台１ａは、入力デバイス２００へと接続されるべき入力端子列１０６、出力デバイス３００へと接続されるべき出力端子列１０７、及びテスト対象デバイスへと接続されるべきテスト端子列１０５を含んで構成される。
【００５０】
入力回路１０４は、端子台１ａの入力端子列１０６から入力信号を内部に取り込む動作、端子台１ａの出力端子列から出力信号を外部へと送出する動作、及び端子台１ａのテスト端子列１０５からテスト信号を外部へと送出する動作を行う。
【００５１】
ＣＰＵ１０１は、マイクロプロセッサ（ＭＰＵ）１０１ａ、システムプログラムメモリ１０１ｂ、ユーザプログラムメモリ１０１ｃ、ＩＯメモリ１０１ｄ、及びワークメモリ１０１ｅを含んで構成される。
【００５２】
ＩＯメモリ１０１ｄは、入力端子列１０６から内部に取り込まれる入力信号に相当する入力データ群、出力端子列１０７から外部へと送出される出力信号に相当する出力データ群を格納する。ユーザプログラムメモリ１０１ｃは、あらかじめ用意されたファンクションブロック群の中から選択された１又は２以上のファンクションブロックを使用してユーザにより作成されたユーザプログラムを格納する。ユーザプログラムは、入力デバイスのオンオフ状態をロジック演算しその演算結果に応じて出力デバイスのオンオフ状態を制御するためのＩ／Ｏ制御用プログラム、入力デバイスが正常な状態か否かを診断するための入力デバイス診断用プログラム等を含む。
【００５３】
ＭＰＵ１０１ａは、システムプログラムメモリ１０１ｂに格納されたシステムプログラムをワークメモリ１０１ｅをワークエリアとして実行することにより、図５に示されるように、初期処理（ステップ１０１又は１１１）に続いて、当該コントローラに必要な各種のシステム機能を実現するためのシステム処理（ステップ１０２又は１１２）と、ネットワークを介する他の通信ノードとの通信やツール装置などとの通信を実現する通信処理（ステップ１０３又は１１３）と、ＩＯメモリ１０１ｄと入出力端子列１０６，１０７との間で入出力回路１０４を介してＩＯデータの更新を行うＩＯリフレッシュ（入出力更新）処理（ステップ１０４又は１１４）と、ユーザプログラムメモリ１０１ｃに格納されたユーザプログラムを構成する各ファンクションブロックを順次に読み出しては解読実行するユーザプログラム実行処理（ステップ１０５又は１１５）とを含む一連の処理をサイクリックに実行する。なお、ＭＰＵの処理については、各種処理をサイクリックに直列的に実行する構成でなく、各種処理を並列的に処理する構成や、それぞれの処理を時分割に並列的に処理とする構成とすることもできるが、以下については一連の処理をサイクリックに実行する構成を例示する。また図５のステップ１０２や１１２では「システム処理（含、入力デバイス診断）」と書いているが、この入力デバイス診断は、システムプログラムとしての入力デバイス診断処理を行うことであり、ファンクションブロックを利用したユーザプログラムとしての入力デバイス診断用プログラム実行処理を含まない。つまり、ステップ１１２は例えば固有のテスト端子列における第１のタイプの入力デバイスに対する入力デバイス診断処理が該当する。
【００５４】
なお、図３において、通信制御部１０２はネットワークを介する他の通信ノードとの通信制御のために供される。また、ＵＳＢ制御部１０３はネットワークコンフィグレータとのＵＳＢ通信に供せられる。
【００５５】
ユーザプログラム実行処理の詳細フローチャートが図６に示されている。同図に示されるように、ユーザプログラム実行処理においては、ユーザプログラム１０１ｃに格納されたユーザプログラムを構成する各ファンクションブロック（ＦＢ）を順次に読み出しては（ステップ１０５１，１０５５，１０５８）、これを解読すると共に（ステップ１０５２）、その解読結果に応じてそれぞれ該当するＦＢ実行処理を行うように構成されている。
【００５６】
そして、本発明においては、ユーザプログラム実行処理には、入力デバイスのオンオフ状態をロジック演算しその演算結果に応じて出力デバイスのオンオフ状態を制御するためのＩ／Ｏ制御用プログラムについての実行処理も、入力デバイスが正常な状態か否かを診断するための入力デバイス診断用プログラムについての実行処理も含んでいる。図６においては、特に、第２タイプの入力デバイスが正常な状態か否かを診断するための入力デバイス診断用プログラムについての実行処理について示している。ユーザプログラム中から読み出されたファンクションブロックが、入力デバイス診断用のファンクションブロック（この例では、シングルビームセンサ４ａを診断するためのファンクションブロック）であると解読されたことを条件として起動され、そのファンクションブロックで指定されるテスト端子から周期的なテストパルスを含むテスト信号を出力しながら、同ファンクションブロックで指定されるデバイス信号入力端子から入力されるデバイス信号中に、各周期毎に、一定の評価時間内にテストパルスが戻ってくるか否かに基づいて、当該入力デバイス（シングルビームセンサ）が正常か異常かを診断する入力デバイス診断処理（ステップ１０５４）が含まれている。
【００５７】
本発明に係る入力デバイス診断用ＦＢを含むセーフティコントロール用のユーザプログラムの一例を示すロジックシンボル図が図７に、また同ロジックシンボル図に対応するセーフティコントローラと各入出力デバイスとの結線の一例が図４にそれぞれ示されている。
【００５８】
図４に示されるように、セーフティコントローラの端子台１ａには、４個のテスト端子Ｔ０〜Ｔ３と、１６個の入力端子Ｉ０〜Ｉ１５と、８個の出力端子Ｏ０〜Ｏ７と、２個の電源端子Ｖ１，Ｖ２と、２個のグランド端子Ｇ１，Ｇ２が設けられている。電源端子Ｖ１には直流電圧Ｅ１（例えば、＋２４Ｖ）が与えられ、電源端子Ｖ２にも直流電圧Ｅ２（例えば、＋５Ｖ）が与えられる。
【００５９】
この例にあっては、テスト端子Ｔ０と入力端子Ｉ２との間には、非常停止押ボタンスイッチＳ１の第１の接点（線番１１−１２）を経由する通電路が形成されると共に、テスト端子Ｔ１と入力端子Ｉ３との間には、非常停止押ボタンスイッチＳ１の第２の接点（線番２１−２２）を経由する通電路が形成される。これにより、非常停止押ボタンスイッチＳ１の両接点に対してテストパルスによる診断処理が行われる。なお前述したように、この診断処理は、従前と同様に、システム処理（ステップ１０２又は１１２、図５参照）において実行される。
【００６０】
テスト端子Ｔ２と入力端子Ｉ０との間には、リセット用押ボタンスイッチＳ２の接点を経由する通電路が形成される。これにより、リセット用押ボタンスイッチＳ２に対するテストパルスによる診断処理が行われる。この診断処理についても、従前と同様に、システム処理（ステップ１０２又は１１２）において実行される。
【００６１】
テスト端子Ｔ３と入力端子Ｉ１４との間には、２台のコンタクタＫＭ１，ＫＭ２の補助接点ＫＭ１−ＮＣ，ＫＭ２−ＮＣを経由する通電路が形成される。これにより、２台のセーフティコンタクタＫＭ１，ＫＭ２に対するテストパルスによる診断処理が行われる。この診断処理は、従前と同様に、ユーザプログラムに組み込まれた所定のファンクションブロック（この例では、ＦＢ５１０）を実行（ユーザプログラム実行処理、図５のステップ１０５又は１１５）することによって実現される。
【００６２】
なお、それら２台のセーフティコンタクタのコイルＫＭ１，ＫＭ２のそれぞれは、出力端子Ｏ７，Ｏ６とグランドＧＮＤとの間に介在され、それらのコンタクタの主接点ＫＭ１，ＫＭ２は３相誘導モータＭの通電路に直列に介在される。
【００６３】
一方、シングルビームセンサ４ａに対する診断処理については、次のような結線に基づいて行われる。すなわち、投光器４ａ−１の２４ＶＤＣ線は電源端子Ｖ１に、０Ｖ線はグランドＧＮＤにそれぞれ接続される。また、投光器４ａ−１のテスト入力線は汎用の出力端子Ｏ０に、受光器４ａの制御出力線は汎用の入力端子Ｉ１にそれぞれ接続される。これにより、汎用入力端子Ｉ１及び汎用出力端子Ｏ０を使用して、テストパルスによる診断処理が行われる。
【００６４】
図７に示されるロジックシンボル図は、図４に示される結線図を前提としたものであって、両図で対応する入出力端子には共通の端子符号が付されている。同図において、ＦＢ５０１，５０３，５１０は何れも従前よりこの種のセーフティコントローラに用意された基本ファンクションブロックであって、その意味内容ないし機能は次のとおりである。
【００６５】
（ＦＢ５０１）
リセット用ファンクションブロックである。２つの条件入力が何れもＯＮになった状態において、リセット信号が正しく入力されると、出力端子にＯＮが出力される。このファンクションブロックを使用することにより、電源立ち上げ時、運転モード変更（アイドルモード→運転モード）時、又は入力デバイスからの信号がＯＦＦ→ＯＮに変化した時などに制御対象となる機械装置が自動的に再起動することを防止できる。
【００６６】
（ＦＢ５０３）
非常停止押ボタンスイッチのモニタリング用ファンクションブロックである。監視している非常停止押ボタンスイッチからの入力がアクティブの場合には出力はＯＮとなり、アクティブでない場合やファンクションブロックで異常を検出した場合は出力はＯＦＦとなる。
【００６７】
（ＦＢ５１０）
外部デバイスモニタリング用のファンクションブロックである。入力信号と外部デバイスの状態を評価して、外部デバイスへの安全出力を行うファンクションブロックである。入力信号がＯＦＦからＯＮに変化した場合、出力１，２はＯＦＦからＯＮに変化する。このとき、フィードバック入力は、設定された時間以内にＯＮからＯＦＦに変化しなければならない。また、入力信号がＯＮからＯＦＦに変化した場合、出力１，２はＯＮからＯＦＦに変化する。このとき、フィードバック入力は、設定された時間以内にＯＦＦからＯＮに変化しなければならない。フィードバック入力が設定時間（最大フィードバック時間）以内に正常に変化しない場合、ＥＤＭエラーが発生し、出力１，２はＯＦＦとなり、ＥＤＭエラーがＯＮとなる。
【００６８】
これに対して、ＦＢ１０１は入力デバイス診断用のファンクションブロックであり、ＦＢ１０２は診断結果補助出力用のファンクションブロックである。これらのファンクションブロックＦＢ１０１，ＦＢ１０２は何れも本発明と関連して新たに作成されたものであって、以下の意味内容乃至機能を有している。
【００６９】
（ＦＢ１０１）
入力デバイス診断用のファンクションブロックＦＢ１０１は、センサの制御出力（デバイス信号）を入力するための１個の入力端子と、評価済みの制御出力信号を出力するための第１の出力端子と、テスト信号を外部へ出力するための第２の出力端子と、正常か異常かを示す診断信号を出力するための第３の出力端子とを有する。そして、第２の出力端子から周期的なテストパルスを含むテスト信号を出力しながら、入力端子から入力される制御出力中に、各周期毎に、一定の評価期間内にテストパルスが戻ってくるか否かに基づいて、当該シングルビームセンサが正常か異常かを診断し、診断信号を第３の出力端子から外部へと送出する。また、正常と評価された制御出力信号を第１の出力端子から外部へと出力する。ここでの一定の評価期間内とは、シングルビームセンサでのフィルタ処理時間、波形整形処理時間、二値化処理時間等のセンサ内部処理に要する遅れ時間を考慮した時間内に該当する。また、一定の評価期間とは、シングルビームがコントローラのテスト端子からテスト信号を受けてから、コントローラへテスト結果を返すまでに要する時間と同じ時間、またはそれより長い時間に設定するのが良い。
【００７０】
この例にあっては、ファンクションブロックＦＢ１０１は、従来よりこの種のコントローラが通常備える基本ファンクションブロックを適宜に組み合わせてなるロジックシンボル図をマクロ化することで実現されている。なお、ファンクションブロックＦＢ１０１の内部詳細については、後に図１１を参照して詳細に説明する。
【００７１】
（ＦＢ１０２）
一方、診断結果補助出力用のファンクションブロックＦＢ１０２は、ファンクションブロックＦＢ１０１の第１の出力端子から出力される評価済み制御出力信号を入力するための第１の入力端子と、同ファンクションブロックＦＢ１０１の第３の出力端子から出力される診断信号を入力するための第２の入力端子と、ローカル出力ユニットの所定出力端子からの信号を入力するための第３の入力端子と、異常時禁止処理済みの評価済み制御出力信号が出力されるべき第１の出力端子と、ラッチ処理済みの診断信号が出力されるべき第２の出力端子とを有する。そして、第２の入力端子から入力される診断信号が正常状態から異常状態に変化すると異常状態をラッチすると共に、第１の入力端子から入力される評価済み制御出力信号がＯＦＦ状態からＯＮ状態に変化すると異常状態のラッチが解除され、こうして得られる異常ラッチ状態又は異常ラッチ解除状態を示す診断信号を第２の出力端子へと出力する。また、診断信号が異常ラッチ解除状態のときには評価済み制御出力信号を第１の出力端子に出力する一方、異常ラッチ状態のときには評価済み制御出力信号を第１の出力端子から出力禁止する。この診断結果補助出力用のファンクションブロックＦＢ１０２についても、この種のコントローラが通常備える基本ファンクションブロックを適宜に組み合わせてなるロジックシンボル図をマクロ化することで実現されている。なお、このファンクションブロックＦＢ１０２の詳細については、後に図１３を参照しながら詳細に説明する。
【００７２】
このように、本発明にあっては、新たに開発された２つのファンクションブロックＦＢ１０１，ＦＢ１０２をユーザプログラム中に組み込むと共に、それぞれのファンクションブロックの入力端子及び出力端子に所望の外部入出力端子又は内部のファンクションブロックの端子を割り付けることによって、任意の汎用入出力端子を利用してシングルビームセンサの診断処理を行わせることができるのである。
【００７３】
ツール装置にて開かれたセーフティコントローラの入力端子設定用画面の説明図が図８に示されている。同図に示されるように、ツール装置にてセーフティコントローラの入力端子設定用画面を開き、入力端子Ｉ１（０１）をファンクションブロックＦＢ１０１の第１の入力端子（センサ入力１）に割り付けることによって、ファンクションブロックＦＢ１０１に対する入力端子設定を行うことができる。
【００７４】
ツール装置にて開かれたセーフティコントローラの出力端子設定用画面の説明図が図９に示されている。同図に示されるように、ツール装置にてセーフティコントローラの出力端子設定用画面を開き、出力端子Ｏ０をファンクションブロックＦＢ１０１の第２の出力端子（テストパルス出力１）に割り付けると共に、出力端子Ｏ１（０１）をファンクションブロックＦＢ１０２の第２の出力端子（エラー表示１）に割り付け、さらに出力端子Ｏ２（０２）をファンクションブロックＦＢ１０２の第１の出力端子に割り付けることによって、ファンクションブロックＦＢ１０２の出力端子設定を完了することができる。
【００７５】
なお、ファンクションブロックＦＢ１０１とファンクションブロックＦＢ１０２との間の内部結線、及びファンクションブロックＦＢ１０１とファンクションブロックＦＢ５０１との間の内部結線については、従前通りツール装置を用いた配線操作によって行えばよい。
【００７６】
以上説明したツール装置における入出力端子設定用操作手順を示すフローチャートが図１０に示されている。先にも説明したが、同図に示されるように、まずセーフティコントローラの端子設定画面を開き（ステップ２０１）、入力ＩＮ０端子の設定を行い（ステップ２０２）、出力ＯＵＴ０端子の設定を行い（ステップ２０３）、最後に、設定の内容を、完成したプログラムと一緒に、セーフティコントローラにダウンロードする（ステップ２０４）。
【００７７】
入力デバイス診断用ＦＢの内部構成を示すロジックシンボル図が図１１に示されている。このロジックシンボル図は、先に説明したように、この種のコントローラが通常備える基本ファンクションブロックを適宜に組み合わせることによって構成されている。
【００７８】
より具体的には、このロジックシンボル図は、ＦＢ４０１、ＦＢ４０３、ＦＢ４０５、ＦＢ４０６、ＦＢ４０７、ＦＢ５０７、ＦＢ５０８、ＦＢ５１４からなる７種類の基本ファンクションブロックを組み合わせて構成されている。それらのファンクションブロックの意味内容及び機能については以下のとおりである。
【００７９】
（ＦＢ４０１）
ＮＯＴ（反転）機能を有するファンクションブロックである。入力条件を反転して出力する。
【００８０】
（ＦＢ４０３）
ＯＲ（論理和）機能を有するファンクションブロックである。入力条件の論理和を出力する。
【００８１】
（ＦＢ４０５）
Ｅ−ＯＲ（排他的否定論理和）機能を有するファンクションブロックである。入力の排他的否定論理和を出力する。
【００８２】
（ＦＢ４０６）
リセットセットフリップフロップ機能を有するファンクションブロックである。入力をＯＮにすると、ＯＮ状態が保持されて出力端子へと出力される。以後入力がＯＮからＯＦＦへと変化しても、出力のＯＮ状態は保持される。これに対して、リセット入力がＯＦＦからＯＮに変化すると、出力端子のＯＮ状態は解除され、ＯＦＦが出力される。
【００８３】
（ＦＢ４０７）
コンパレータ機能を有するファンクションブロックである。入力信号（最大８点）と、コンフィグレーションで設定した比較値とを比較し、全ての入力信号と設定値が一致したときに出力端子にＯＮを出力する。出力端子の信号がＯＮである期間に、入力信号が比較値と異なったとき、出力端子の信号はＯＦＦとなる。
【００８４】
（ＦＢ５０７）
オフディレータイマとして機能するファンクションブロックである。オフディレー１０ｍｓ単位のタイマとして動作する。設定範囲は、０ｍｓ〜３００ｓとされる。
【００８５】
（ＦＢ５０８）
オンディレータイマとして機能するファンクションブロックである。オンディレー１０ｍｓ単位のタイマとして動作する。設定範囲は、０ｍｓ〜３００ｓとされる。
【００８６】
（ＦＢ５１４）
パルスゼネレータとして機能するファンクションブロックである。入力がＯＮの間、出力にＯＮ／ＯＦＦを周期的に出力する。ＯＮ及びＯＦＦの時間は１０ｍｓ単位で、１０ｍｓ〜３ｓの範囲で設定可能とされる。設定用ＯＮ時間が１００ｍｓ、ＯＦＦとしたまま時間が５００ｍｓとした場合、入力がＯＮの間、ＯＮ時間１００ｍｓ、ＯＦＦ時間５００ｍｓとなるパルスを繰り返し出力する。
【００８７】
図１１のロジックシンボル図における各部の時系列信号変化を示す波形図が図１２に示されている。同図に示されるように、外部からのセンサ入力信号（Ｓ１）は、第１の系統と第２の系統とに分岐された後、第１の系統の信号（Ｓ１）は、オフディレー時間ＴＤｏｆｆ（３０ｍｓ）が設定されたオフディレータイマ（ＦＢ５０７）及びオンディレー時間ＴＤｏｎ（５０ｍｓ）が設定されたオンディレータイマ（ＦＢ５０８）を順に経由する結果、内部のテスト実行条件を示す信号（Ｓ２）は、外部からのセンサ入力信号（Ｓ１）の立ち上がりよりもＴＤｏｎ（５０ｍｓ）遅れてＯＮ状態となる。
【００８８】
すると、パルスゼネレータ（ＦＢ５１４）が起動されて、ＯＮ時間Ｔｏｎ（２０ｍｓ）及びＯＦＦ時間Ｔｏｆｆ（８０ｍｓ）を有するパルス列を含むテスト信号（Ｓ３）が生成される。このテスト信号（Ｓ３）は出力端子Ｏ０からシングルビームセンサ４ａの投光器４ａ−１のテスト入力線へと送り出される。
【００８９】
すると、同図（ａ）に示されるように、外部からのセンサ入力信号（Ｓ１）にはテストパルスを反転してなるＯＦＦパルスが戻りパルスとして重畳され始める。一方、内部で生成したテスト信号（Ｓ３）は、インバータ（ＦＢ４０１）で反転されて、排他的否定論理和（ＦＢ４０５）の一方の入力へ供給され、さらにこの信号（Ｓ４）はオンディレータイマ（ＦＢ５０８）で２０ｍｓ遅延された後、排他的否定論理和（ＦＢ４０５）の他方の入力へ与えられる。
【００９０】
すると、排他的否定論理和（ＦＢ４０５）の出力側には、評価時間Ｔｅｖ（４０ｍｓ）を有するＯＦＦパルスである評価信号（Ｓ５）が出力される。この評価信号（Ｓ５）は、コンパレータ（ＦＢ４０７）の一方の入力へと与えられると共に、このコンパレータ（ＦＢ４０７）の他方の入力には、外部からのセンサ入力信号（Ｓ１）がそのまま与えられる。
【００９１】
すると、コンパレータ（ＦＢ４０７）の出力側には、サイクル毎の評価結果となる信号（Ｓ６）が出力される。そして、このサイクル毎の評価結果を示す信号（Ｓ６）の立ち上がりでＲＳフリップフロップ（ＦＢ４０６）がセットされる結果、内部での最終評価結果を示す信号（Ｓ７）はＯＮとなる。
【００９２】
何らかの原因で、本来存在するはずであるＯＦＦパルスが、センサ入力信号（Ｓ１）から消失すると、サイクル毎の評価結果を示す信号（Ｓ６）からＯＮパルスが消失する。すると、評価期間信号（Ｓ５）の立ち上がりと共に、ＲＳフリップフロップ（ＦＢ４０６）はリセットされ、内部での最終評価結果を示す信号（Ｓ７）もＯＦＦとなる。
【００９３】
内部のテスト実行条件を示す信号（Ｓ２）はコンパレータ（ＦＢ４０７）の第１の入力に与えられ、論理和（ＦＢ４０３）の出力はコンパレータ（ＦＢ４０７）の第２の入力に与えられ、内部での最終評価結果を示す信号（Ｓ７）はコンパレータ（ＦＢ４０７）の第３の入力へ与えられる。その結果、コンパレータ（ＦＢ４０７）の出力側には、評価済みの制御出力が現れる。一方、内部での最終評価結果を示す信号（Ｓ７）はインバータ（ＦＢ４０１）で反転された後、診断信号として出力される。これにより、図７に示されるファンクションブロック（ＦＢ１０１）の機能が実現される。
【００９４】
補助出力生成用ＦＢの内部構成を示すロジックシンボル図が図１３に、図１３のロジックシンボル図における各部の時系列信号変化を示す波形図が図１４にそれぞれ示されている。同図に示されるように、前段に位置するファンクションブロック（ＦＢ１０１）から出力される診断信号（Ｓ３）は、論理和（ＦＢ４０３）を経由して、ＲＳフリップフロップ（ＦＢ４０６）に与えられる。そのため、診断信号（Ｓ３）がＯＦＦからＯＮに変化した時点で、ＲＳフリップフロップ（ＦＢ４０６）がセットされ、これがインバータ（ＦＢ４０１）で反転されて、論理積（ＦＢ４０２）へ供給されるため、内部での評価結果を示す信号（Ｓ３）の立ち上がりと共に、評価されたセンサ信号（Ｓ１）の出力は強制的に禁止される。この禁止状態は異常期間の間継続される。
【００９５】
一方、論理和（ＦＢ４０３）の出力は、インバータ（ＦＢ４０１）及びオンディレー時間（６００ｍｓ）を有するオンディレータイマ（ＦＢ５０８）を経由した後、リスタート（ＦＢ５０２）の入力に与えられる。一方、このリスタート（ＦＢ５０２）のリスタート入力には評価済みセンサ信号（Ｓ１）が与えられる。そのため、評価済みセンサ信号（Ｓ１）がＯＦＦからＯＮに復帰すると、この立ち上がりに応答して、エラー状態出力（ラッチ）（Ｓ４）はラッチを解除される。
【００９６】
こうして得られたＲＳフリップフロップ（ＦＢ４０６）の出力が信号（Ｓ４）として外部へ出力され、これを用いてエラー表示を行うことができる。一方、論理積（ＦＢ４０２）から出力される信号（Ｓ５）はエラー信号が混入されていないから、これを用いて確実な安全制御を行うことができる。このように、図１３に示されるロジックシンボル図によれば、信頼性の高い制御出力信号（Ｓ５）及び表示用信号（Ｓ４）を補助出力として得ることができる。
【００９７】
以上、ＦＢ１０１及びＦＢ１０２を実行することによって実現される入力デバイス診断処理の詳細を示すフローチャートが図１５に示されている。同図に示されるように、この入力デバイス診断処理においては、入力信号がＯＮ状態となるのを待って（ステップ３０１ＹＥＳ）、テスト信号パターンを生成出力し（ステップ３０２）、その戻りテスト信号パターンと入力信号の比較により評価を行い（ステップ３０３）、その評価結果として、信号正常ＯＮ、信号正常ＯＦＦ、エラーの３つへの振り分けを行う（ステップ３０４）。そして、エラーと評価された場合には、出力を強制的にＯＦＦし、エラー発生を示す（ステップ３０６）。
【００９８】
最後に、入力デバイス診断用ＦＢの動作を図１６のタイムチャートに示す。
【００９９】
以上説明したように、この実施形態のセーフティコントローラによれば、従来システム処理（ステップ１０２，１１２）で実行された入力デバイス診断処理を、ユーザプログラム実行処理（ステップ１０５，１１５）で実行するようにしたため、図４に示されるように、端子台１ａ上には、４個のテスト端子（Ｔ０〜Ｔ３）の他には、汎用の入出力端子（Ｉ０〜Ｉ１５、Ｏ０〜Ｏ７）を設けるだけで済み、これらを新たに設けたファンクションブロック（ＦＢ１０１，ＦＢ１０２）を用いて適宜に端子指定することにより、適当な空いている汎用入出力端子を使用して、シングルビームセンサ４ａの診断を行うことができる。
【０１００】
すなわち、ユーザプログラム中に入力デバイス診断用のファンクションブロック（ＦＢ１０１）及び補助出力生成用のファンクションブロック（ＦＢ１０２）を組み込むと共に、これらのファンクションブロックにおいて、端子台上の任意の空き端子をテスト端子及び制御出力入力端子に指定すれば、ユーザプログラム実行処理に際して、それらの端子に関して入力デバイス診断処理が実行されるから、入力デバイス診断処理をシステム処理に含めて実行させる従来例とは異なり、メーカの側にあっては、端子台上の端子配置自由度に何ら制約を受けることがなく、ユーザの側にあっても、端子台上のスペースに無駄を生ずることなく、双方のタイプの入力デバイスに任意に対応可能となるのである。
【０１０１】
なお、以上の実施形態においては、第１のタイプの入力デバイスである非常停止押ボタンスイッチ及びリセット用押ボタンスイッチについては、従前通りに、専用のテスト端子を使用してシステム処理（ステップ１０２，１１２）にて入力デバイス診断を行うように構成したが、これら第１のタイプの入力デバイスについても、診断用ファンクションブロックを介してユーザプログラム実行処理（ステップ１０５，１１５）にて実行するようにすれば、端子台上における入出力端子を全て汎用入出力端子として、その端子配置自由度を一層向上させることもできる。
【０１０２】
また、以上の実施形態においては、評価期間に相当する評価時間Ｔｅｖを生成するについて、図１１に示されるように、パルスゼネレータ（ＦＢ５１４）の出力をインバータ（ＦＢ４０１）で反転後、さらにこれを２系統に分岐して、一方を排他的否定論理和（ＦＢ４０５）の一方の入力へ与え、他方をオンディレータイマ（ＦＢ５０８）を経由して２０ｍｓ遅延させた後、排他的否定論理和（ＦＢ４０５）の他方の入力へと与えるという手法を採用したが、これは評価時間を得るための一例に過ぎないと理解すべきである。すなわち、評価期間Ｔｅｖについては、基本ファンクションブロックの経時要素を利用して様々な手法により任意の長さのものを容易に作成できることは言うまでもない。
【０１０３】
また、以上の実施例では、各ファンクションブロックをマイクロプロセッサで直接実行するように構成したが、ファンクションブロック実行処理を専用の実行回路が組み込まれたＡＳＩＣに委ねることができるは勿論である。
【産業上の利用可能性】
【０１０４】
本発明によれば、入力デバイス診断処理をシステム処理に含めて実行させる従来例とは異なり、メーカの側にあっては、端子台上の端子配置自由度になんらの制約を受けることがなく、ユーザの側にあっても、端子台上のスペースに無駄を生ずることなく、双方のタイプの入力デバイスに任意に対応可能となる。
【図面の簡単な説明】
【０１０５】
【図１】本発明に係るセーフティコントローラのスタンドアロンモードにおけるシステム構成の一例を示す説明図である。
【図２】本発明に係るセーフティコントローラのネットワーク接続モードにおけるシステム構成の一例を示す説明図である。
【図３】セーフティコントローラのハードウェア構成を概略的に示すブロック図である。
【図４】本発明に係るセーフティコントローラと各入出力デバイスとの結線の一例を示す図である。
【図５】セーフティコントローラの処理全体を概略的に示すゼネラルフローチャートである。
【図６】ユーザプログラム実行処理の詳細フローチャートである。
【図７】セーフティコントロール用のユーザプログラムの一例を示すロジックシンボル図（入力デバイス診断用ＦＢを含む）である。
【図８】ツール装置にて開かれたセーフティコントローラの入力端子設定用画面の説明図である。
【図９】ツール装置にて開かれたセーフティコントローラの出力端子設定用画面の説明図である。
【図１０】ツール装置における入出力端子設定用操作手順を示すフローチャートである。
【図１１】入力デバイス診断用ＦＢの内部構成を示すロジックシンボル図である。
【図１２】図１１のロジックシンボル図における各部の時系列信号変化を示す波形図である。
【図１３】補助出力生成用ＦＢの内部構成を示すロジックシンボル図である。
【図１４】図１３のロジックシンボル図における各部の時系列信号変化を示す波形図である。
【図１５】入力デバイス診断処理の詳細を示すフローチャートである。
【図１６】入力デバイス診断用ＦＢの動作を示すタイムチャートである。
【符号の説明】
【０１０６】
１        セーフティコントローラ
１ａ      端子台
２        ネットワークコンフィグレータ（ツール装置）
３ａ      コンタクタ
４ａ      セーフティシングルビームセンサ
４ａ−１  投光器
４ａ−２  受光器
４ｂ      セーフティ非常停止押ボタンスイッチ
４ｃ      セーフティライトカーテン
４ｄ      セーフティドアスイッチ
４ｅ      セーフティ２ハンドスイッチ
５        セーフティスレーブ
６        スタンダードＰＬＣ（マスタ）
７        スタンダードスレーブ
１０１    ＣＰＵ
１０１ａ  ＭＰＵ
１０１ｂ  システムプログラムメモリ
１０１ｃ  ユーザプログラムメモリ
１０１ｄ  ＩＯメモリ
１０１ｅ  ワークメモリ
１０２    通信制御部
１０３    ＵＳＢ制御部
１０４    入出力回路
１０５    テスト端子列
１０６    入力端子列
１０７    出力端子列
２００    入力デバイス
３００    出力デバイス
４００    セーフティコントロールシステム
５００    スタンダードコントロールシステム
Ｔ０〜Ｔ３    テスト端子
Ｉ０〜Ｉ１５  入力端子
Ｏ０〜Ｏ７    出力端子
Ｖ１，Ｖ２    電源端子
Ｇ１，Ｇ２    グランド端子
Ｅ１，Ｅ２    直流電源
ＫＭ１，ＫＭ２    セーフティコンタクタ
Ｍ      モータ
Ｓ１    非常停止押ボタンスイッチ
Ｓ２    リセット用押ボタンスイッチ
ＦＢ１０１    入力デバイス診断用ファンクションブロック
ＦＢ１０２    補助出力生成用ファンクションブロック
【図１】
0005093466.tif 000002
【図２】
0005093466.tif 000003
【図３】
0005093466.tif 000004
【図４】
0005093466.tif 000005
【図５】
0005093466.tif 000006
【図６】
0005093466.tif 000007
【図７】
0005093466.tif 000008
【図８】
0005093466.tif 000009
【図９】
0005093466.tif 000010
【図１０】
0005093466.tif 000011
【図１１】
0005093466.tif 000012
【図１２】
0005093466.tif 000013
【図１３】
0005093466.tif 000014
【図１４】
0005093466.tif 000015
【図１５】
0005093466.tif 000016
【図１６】
0005093466.tif 000017