(57)【特許請求の範囲】
【請求項１】
制御装置の故障診断テストで使用するテストパルスの時間幅を算出するためのテストパルス幅算出装置であって、
前記制御装置の入力回路に入力される信号に重畳するノイズを検出するための閾値を記憶するメモリと、
プロセッサと、を備え、
前記プロセッサは、
前記入力回路に入力される前記信号の入力経路の電気測定値を取得する測定値取得部と、
前記電気測定値と前記閾値との比較に基づいて、テストパルス幅を算出するための基準となる基準ノイズ幅を算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出するテストパルス幅算出部と、を備え、
前記テストパルス幅算出部は、前記電気測定値の絶対値が前記閾値以上の連続した時間幅を仮ノイズ幅として取得し、取得した前記仮ノイズ幅が複数あるときは、複数の前記仮ノイズ幅の最大値を前記基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出し、
前記メモリは、正しく診断するために最低限必要な時間幅を表す最低診断時間幅をさらに記憶し、
前記テストパルス幅算出部は、前記仮ノイズ幅が複数あるときは、複数の前記仮ノイズ幅の間隔が前記最低診断時間幅の２倍よりも小さい場合、前記複数の仮ノイズ幅と前記仮ノイズ幅の間隔とを加えた大きさの修正後ノイズ幅の最大値を前記基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きい前記テストパルス幅を算出する、
テストパルス幅算出装置。
【請求項２】
前記テストパルス幅算出部は、前記基準ノイズ幅と、前記最低診断時間幅の２倍と、を加えた大きさの前記テストパルス幅を算出する、
請求項１に記載のテストパルス幅算出装置。
【請求項３】
プロセッサと、
故障診断テストのためのテストパルスを出力する出力回路と、
前記テストパルスを入力する入力回路と、
前記入力回路に入力される信号に重畳するノイズを検出するための閾値を記憶するメモリと、
前記入力回路に入力される前記信号の入力経路を電気測定する電気測定回路と、を備え、
前記プロセッサは、
前記電気測定回路から電気測定値を取得する測定値取得部と、
前記電気測定値と前記閾値との比較に基づいて、テストパルス幅を算出するための基準となる基準ノイズ幅を算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出するテストパルス幅算出部と、
前記テストパルス幅算出部が算出した前記テストパルス幅を前記出力回路のテストパルスに設定するテストパルス幅設定部と、を備え、
前記テストパルス幅算出部は、前記電気測定値の絶対値が前記閾値以上の連続した時間幅を仮ノイズ幅として取得し、取得した前記仮ノイズ幅が複数あるときは、複数の前記仮ノイズ幅の最大値を前記基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出し、
前記メモリは、正しく診断するために最低限必要な時間幅を表す最低診断時間幅をさらに記憶し、
前記テストパルス幅算出部は、前記仮ノイズ幅が複数あるときは、複数の前記仮ノイズ幅の間隔が前記最低診断時間幅の２倍よりも小さい場合、前記複数の仮ノイズ幅と前記仮ノイズ幅の間隔とを加えた大きさの修正後ノイズ幅の最大値を前記基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きい前記テストパルス幅を算出する、
制御装置。
【請求項４】
前記テストパルスはＯＦＦ信号であって、
前記電気測定回路は、前記出力回路がＯＦＦ信号を送信している時に前記入力回路に入力される前記信号の入力経路を電気測定する、
請求項３に記載の制御装置。
【請求項５】
前記テストパルスはＯＮ信号であって、
前記電気測定回路は、前記出力回路がＯＮ信号を送信している時に前記入力回路に入力される前記信号の入力経路を電気測定する、
請求項３に記載の制御装置。
【請求項６】
前記電気測定回路は、前記入力回路への前記入力経路の電圧を前記電気測定値として測定する、
請求項３から５のいずれか１項に記載の制御装置。
【請求項７】
制御装置の故障診断テストで使用するテストパルスの時間幅を算出するためのテストパルス幅算出方法であって、
前記制御装置の入力回路に入力される信号の入力経路の電気測定値を取得する測定値取得ステップと、
前記電気測定値と、前記入力回路に入力される前記信号に重畳するノイズを検出するための閾値と、の比較に基づいて、テストパルス幅を算出するための基準となる基準ノイズ幅を算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出するテストパルス幅算出ステップと、を備え、
前記テストパルス幅算出ステップにおいて、前記電気測定値の絶対値が前記閾値以上の連続した時間幅を仮ノイズ幅として取得し、取得した前記仮ノイズ幅が複数あるときは、複数の前記仮ノイズ幅の最大値を前記基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出し、
前記テストパルス幅算出ステップにおいて、前記仮ノイズ幅が複数あるときは、複数の前記仮ノイズ幅の間隔が、正しく診断するために最低限必要な時間幅を表す最低診断時間幅の２倍よりも小さい場合、前記複数の仮ノイズ幅と前記仮ノイズ幅の間隔とを加えた大きさの修正後ノイズ幅の最大値を前記基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きい前記テストパルス幅を算出する、
テストパルス幅算出方法。
【請求項８】
コンピュータに、
制御装置の故障診断テストで使用するテストパルスの時間幅を算出させるためのプログラムであって、
前記制御装置の入力回路に入力される信号の入力経路の電気測定値を取得する測定値取得ステップと、
前記電気測定値と、前記入力回路に入力される前記信号に重畳するノイズを検出するための閾値と、の比較に基づいて、テストパルス幅を算出するための基準となる基準ノイズ幅を算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出するテストパルス幅算出ステップと、を実行させ、
前記テストパルス幅算出ステップにおいて、前記電気測定値の絶対値が前記閾値以上の連続した時間幅を仮ノイズ幅として取得し、取得した前記仮ノイズ幅が複数あるときは、複数の前記仮ノイズ幅の最大値を前記基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出し、
前記テストパルス幅算出ステップにおいて、前記仮ノイズ幅が複数あるときは、複数の前記仮ノイズ幅の間隔が、正しく診断するために最低限必要な時間幅を表す最低診断時間幅の２倍よりも小さい場合、前記複数の仮ノイズ幅と前記仮ノイズ幅の間隔とを加えた大きさの修正後ノイズ幅の最大値を前記基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きい前記テストパルス幅を算出する、
ことを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストパルス幅算出装置、制御装置、テストパルス幅算出方法およびプログラムに関する。
【背景技術】
【０００２】
安全装置は、事故の発生を予防するという目的から、高い信頼性が要求される。そこで、安全装置を運用しながら、故障の診断テストを実施することによって、高い信頼性を保証する技術が開発されている。例えば、特許文献１には、テストパルスを生成して、生成したテストパルスと外部センサから入力する入力信号とを合成し、合成された出力信号を診断する安全入力装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１４５９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
安全装置の故障診断テストでは、ノイズの影響によって診断の精度が下がることが問題となる。このような問題に対して、特許文献１には、入力信号に重畳するノイズパルスに低域通過フィルタを適用して高周波のノイズパルスを除去する技術が開示されている。しかし、特許文献１に記載された技術では、テストパルスにノイズ成分が加わると、例えばテストパルスのオフ幅の部分が潰れるといったテストの精度が下がる現象が発生し、正しい診断ができないという問題がある。【０００５】
本発明は、上記実情に鑑みてなされたものであり、ノイズの影響を確実に回避し、正しい診断をするためのテストパルス幅を算出することができるテストパルス幅算出装置、制御装置、テストパルス幅算出方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明のテストパルス幅算出装置は、制御装置の故障診断テストで使用するテストパルスの時間幅を算出するためのテストパルス幅算出装置である。テストパルス幅算出装置は、制御装置の入力回路に入力される信号に重畳するノイズを検出するための閾値を記憶するメモリと、プロセッサと、を備える。プロセッサは、測定値取得部と、テストパルス幅算出部と、を備える。測定値取得部は、制御装置の入力回路に入力される信号の入力経路の電気測定値を取得する。テストパルス幅算出部は、電気測定値と閾値との比較に基づいて、テストパルス幅を算出するための基準となる基準ノイズ幅を算出し、算出した基準ノイズ幅よりも大きいテストパルス幅を算出する。テストパルス幅算出部は、電気測定値の絶対値が閾値以上の連続した時間幅を仮ノイズ幅として取得し、取得した仮ノイズ幅が複数あるときは、複数の仮ノイズ幅の最大値を基準ノイズ幅として算出し、算出した基準ノイズ幅よりも大きいテストパルス幅を算出する。メモリは、正しく診断するために最低限必要な時間幅を表す最低診断時間幅をさらに記憶する。テストパルス幅算出部は、仮ノイズ幅が複数あるときは、複数の仮ノイズ幅の間隔が最低診断時間幅の２倍よりも小さい場合、複数の仮ノイズ幅と仮ノイズ幅の間隔とを加えた大きさの修正後ノイズ幅の最大値を基準ノイズ幅として算出し、算出した前記基準ノイズ幅よりも大きいテストパルス幅を算出する。
【発明の効果】
【０００７】
本発明によれば、電気測定値と閾値との比較に基づいて、テストパルス幅を算出するための基準となる基準ノイズ幅を算出し、算出した基準ノイズ幅よりも大きいテストパルス幅を算出することによって、ノイズの影響を確実に回避し、正しい診断をするためのテストパルス幅を算出することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係るＰＬＣのハードウェア構成図
【図２】本発明の実施の形態に係るプロセッサの機能ブロック図
【図３】本発明の実施の形態に係るテストパルス幅算出処理のフローチャート
【図４】本発明の実施の形態に係る電圧測定値の一例を表す図
【図５】本発明の実施の形態に係る電圧測定値を表す波形の一例を表す図
【図６】本発明の実施の形態に係るノイズとテストパルスの関係を表す図
【図７】本発明の実施の形態の変形例に係るＰＬＣのハードウェア構成図
【図８】本発明の実施の形態の別の変形例に係るＰＬＣのハードウェア構成図
【発明を実施するための形態】
【０００９】
（実施の形態）
以下、本発明のテストパルス幅算出装置をＰＬＣ（Programmable Logic Controller）に適用した実施の形態について、図面を参照して説明する。
【００１０】
本実施の形態に係るＰＬＣ１は、工場において事故の発生を予防するための安全装置を制御する制御装置である。具体的には、ＰＬＣ１は、図１に示されるように、コンピュータ２および安全停止スイッチ３とそれぞれ接続されている。
【００１１】
安全停止スイッチ３は、例えば、使用中はボタンを手で押していてＯＮになっている。そして、使用者が何らかの理由で手を離すと、停止ボタンがＯＦＦに切り替わる。ＰＬＣ１は、安全停止スイッチ３がＯＦＦに切り替わると、図示しない各種機器を停止する制御を行う機能を有している。そして、ＰＬＣ１は、この各種機器の緊急停止の機能を保証するため、運用中に故障診断テストを実行する機能を有している。
【００１２】
具体的には、ＰＬＣ１は、安全停止スイッチ３との間で信号を受け渡しするための入出力ユニット１０と、各種機器を制御する処理を実行する制御ユニット２０と、を備える。
【００１３】
入出力ユニット１０は、各種処理を実行するプロセッサ１１０と、各種データを格納するメモリ１２０と、安全停止スイッチ３に信号を出力する出力回路１３０と、電圧を測定する電圧測定回路１４０と、安全停止スイッチ３から信号を入力する入力回路１５０と、制御ユニット２０との間の通信を制御する通信回路１６０と、を備える。
【００１４】
プロセッサ１１０は、各種処理を実行する演算装置である。プロセッサ１１０は、メモリ１２０、出力回路１３０、電圧測定回路１４０、入力回路１５０および通信回路１６０と通信可能に接続されている。各種処理の具体的内容は後述する。
【００１５】
メモリ１２０は、各種データを格納する主記憶装置である。メモリ１２０は、プロセッサ１１０の作業領域として機能し、各種データを格納する。メモリ１２０には、後述する処理においてプロセッサ１１０に参照される設定値が格納されている。具体的には、設定値には、電圧測定間隔Ｉｍ、電圧測定回数Ｎｍ、ノイズ検出閾値Ｔｈおよび最低診断時間幅Ｗｍが含まれる。これらの設定値の意味については後述する。
【００１６】
出力回路１３０は、プロセッサ１１０からデジタル信号を受けて、Ｄ／Ａ変換によって安全停止スイッチ３にアナログ信号を送信する電子回路である。また、出力回路１３０は、故障診断テストのためのテストパルスを出力する。
【００１７】
電圧測定回路１４０は、入力回路１５０に入力する信号の入力経路における電圧を測定する電子回路である。電圧測定回路１４０は、電圧の測定値を表す信号をプロセッサ１１０に送信する。電圧測定回路１４０は、請求の範囲に記載された電気測定回路の一例である。また、電圧の測定値は、請求の範囲に記載された電気測定値の一例である。
【００１８】
入力回路１５０は、安全停止スイッチ３から入力される信号を受信して、Ａ／Ｄ変換によってプロセッサ１１０にデジタル信号を送信する電子回路である。
【００１９】
通信回路１６０は、制御ユニット２０との間の通信を制御する電子回路である。
【００２０】
制御ユニット２０は、図示しない各種機器を制御する。制御ユニット２０は、各種処理を実行するプロセッサ２１０と、各種データを格納するメモリ２２０と、入出力ユニット１０との間の通信を制御する通信回路２３０と、コンピュータ２との間の通信を制御する通信回路２４０と、を備える。
【００２１】
コンピュータ２は、ユーザの操作を受けて、ＰＬＣ１が各種機器を制御するための処理内容を規定するラダープログラムを作成したり、ＰＬＣ１から各種情報を取得して表示したりする。コンピュータ２は、ＰＬＣ１の制御ユニット２０と通信可能に接続されていて、生成したラダープログラムを制御ユニット２０に送信する。
【００２２】
コンピュータ２は、各種の処理を実行するプロセッサ２１と、各種情報を記憶するメモリ２２と、情報を送受信するためのネットワークカード２３と、情報を表示するディスプレイ２４と、操作を受け付けるキーボード２５と、各種情報を記憶するハードディスクドライブ２６と、を備える。
【００２３】
プロセッサ２１は、ハードディスクドライブ２６に記憶されているエンジニアリングツールをメモリ２２に読み出して実行することにより、ラダープログラムの生成、各種情報の表示等の処理を実行する。
【００２４】
次に、入出力ユニット１０のプロセッサ１１０が実行する処理について、図２を参照して説明する。
【００２５】
プロセッサ１１０は、電圧の測定を指示する測定指示部１１１と、電圧値を取得する電圧値取得部１１２と、テストパルス幅を算出するテストパルス幅算出部１１３と、テストパルス幅を設定するテストパルス幅設定部１１４と、故障診断テストを実行する故障診断制御部１１５と、入力信号による制御を行う入力制御部１１６と、を備える。
【００２６】
測定指示部１１１は、電圧の測定を電圧測定回路１４０に指示する。具体的には、測定指示部１１１は、メモリ１２０に記録された電圧測定間隔Ｉｍおよび電圧測定回数Ｎｍに基づいて、電圧の測定を指示する。ここで、電圧測定間隔Ｉｍは、電圧を測定する時間的な間隔を表す。また、電圧測定回数Ｎｍは、電圧を測定する回数を表す。
【００２７】
電圧値取得部１１２は、電圧測定回路１４０から電圧値を取得して、取得した電圧値をメモリ１２０に記録する。電圧値取得部１１２は、請求の範囲に記載された測定値取得部の一例である。
【００２８】
テストパルス幅算出部１１３は、メモリ１２０に記録された電圧値に基づいて、テストパルス幅を算出する。テストパルス幅とは、ＰＬＣ１が故障診断テストで使用するテストパルスの時間幅である。具体的には、テストパルス幅算出部１１３は、メモリ１２０に格納されたノイズ検出閾値Ｔｈに基づいて、各電圧値がノイズであるか否かを判定する。そして、テストパルス幅算出部１１３は、判定した結果と、メモリ１２０に格納された最低診断時間幅Ｗｍと、に基づいて、テストパルス幅を算出する。これらの具体的な算出方法については後述する。テストパルス幅算出部１１３は、算出したテストパルス幅を表す情報をメモリ１２０に格納する。
【００２９】
テストパルス幅設定部１１４は、テストパルス幅算出部１１３が算出したテストパルス幅を故障診断におけるテストパルス幅として設定する。具体的には、テストパルス幅設定部１１４は、メモリ１２０からテストパルス幅を表す情報を読み出して、故障診断制御部１１５に対して、故障診断テストに使用するテストパルスの時間幅を指示する。
【００３０】
故障診断制御部１１５は、故障診断テストを実行する。具体的には、故障診断制御部１１５は、故障診断テストを開始すると、テストパルス幅設定部１１４から指示されたテストパルス幅を有するテストパルスを生成する指示を出力回路１３０に送信する。生成されるテストパルスはＯＦＦ信号とし、故障診断制御部１１５は、ＯＦＦ信号を検出できなければ異常と診断する。また、故障診断制御部１１５は、入力制御部１１６に、故障診断テストの開始と終了を通知する。さらに、故障診断制御部１１５は、入力回路１５０から受信した信号に基づいて、故障が発生しているか否かを診断する。
【００３１】
入力制御部１１６は、入力回路１５０から入力された入力信号による制御を行う。具体的には、入力制御部１１６は、入力回路１５０から入力された入力信号に基づいて、通信回路１６０を介して制御ユニット２０に信号を送信する。制御ユニット２０は、受信した信号に基づいて、各種機器を制御する。例えば、ユーザが安全停止スイッチ３のボタンを離すと、入力回路１５０を介して入力制御部１１６にＯＦＦ信号が送信される。そして、入力制御部１１６が制御ユニット２０に信号を送信することによって、制御ユニット２０は、各種機器を停止する制御を行う。また、入力制御部１１６は、故障診断制御部１１５から故障診断テストの開始の通知を受けると、故障診断テストの終了の通知を受けるまでの間、入力回路１５０から受信する信号を無視する。
【００３２】
次に、ＰＬＣ１の動作について、図面を参照して説明する。
【００３３】
ユーザは、ＰＬＣ１の運用を開始する前に、あらかじめ設定値として、電圧測定間隔Ｉｍおよび電圧測定回数Ｎｍをメモリ１２０に格納しておく。具体的には、ユーザは、図１に示されたコンピュータ２を操作してエンジニンアリングツールを起動し、キーボード２５を操作して各設定値を入力する。コンピュータ２は、入力された各設定値を、ネットワークカード２３を介してＰＬＣ１に送信する。ＰＬＣ１は、受信した各設定値をメモリ１２０に格納する。
【００３４】
なお、電圧測定回数Ｎｍは、メモリ１２０の容量を考慮して設定されることが好ましい。１回の電圧測定で使用するメモリ１２０の容量は、メモリ１２０に書き込む情報の形式によって予測可能であるため、Ｎｍ回の書き込みが可能となる回数を設定すれば良い。また、電圧測定間隔Ｉｍは、ＰＬＣ１を運用する工場、設備等のライン周期と、設定された電圧測定回数Ｎｍと、を考慮して設定することが好ましい。ライン周期を考慮することは、周期的な動作によるノイズの影響を除去することが継続的に行われる故障診断テストの精度を上げるために特に効果的であるからである。したがって、ユーザは、周期的な動作の中で発生するノイズの影響を確認するために必要な長さのデータを取得するために、電圧測定間隔Ｉｍを長めに設定する必要がある。ただし、電圧測定間隔Ｉｍが長いほど、ノイズの影響を確認する精度が落ちるため、トレードオフを考慮して、電圧測定間隔Ｉｍを設定する必要がある。
【００３５】
さらに、入力回路１５０の電圧検出の設計値から、ノイズ検出閾値Ｔｈがあらかじめ決定され、メモリ１２０に格納されている。ノイズ検出閾値Ｔｈは、ノイズを検出するための閾値である。
【００３６】
さらに、入力回路１５０の応答速度およびプロセッサ１１０の処理周期から、最低診断時間幅Ｗｍがあらかじめ決定され、メモリ１２０に格納されている。最低診断時間幅Ｗｍは、故障診断テストにおいて、正しく診断するために最低限必要な時間幅を表す。
【００３７】
ユーザが各設定値を入力した後、コンピュータ２を操作してテストパルス幅算出処理を開始する指示を行うと、ＰＬＣ１の入出力ユニット１０は、制御ユニット２０を介してテストパルス幅を算出する指示を受ける。そして、プロセッサ１１０は、図３に示されるテストパルス幅算出処理を開始する。なお、テストパルス幅算出処理では、出力回路１３０は、信号を出力しない。言い換えると、出力回路１３０は、ＯＦＦ信号を出力している。したがって、入力制御部１１６は、ＯＦＦ信号を受信しても無視する設定にしておく。ただし、ノイズの確認のために、できるだけ実運用に近い状況でノイズを発生させつつ、テストパルス幅算出処理を開始することが好ましい。
【００３８】
プロセッサ１１０の測定指示部１１１は、電圧測定回路１４０に電圧の測定を指示する（ステップＳ１１）。電圧測定回路１４０は、電圧の測定の指示を受けると、安全停止スイッチ３から入力される入力線の端子と、入力回路１５０との間の通信線の電圧を測定する。そして、電圧測定回路１４０は、測定値を表すデジタル信号をプロセッサ１１０に送信する。
【００３９】
プロセッサ１１０の電圧値取得部１１２は、電圧測定回路１４０から電圧の測定値を表す信号を受信して、電圧の測定値をメモリ１２０に記録する（ステップＳ１２）。このステップＳ１２は、請求の範囲に記載された測定値取得ステップの一例である。そして、測定指示部１１１は、測定回数が電圧測定回数Ｎｍに達したか、すなわち測定回数＝Ｎｍであるか否かを判定する（ステップＳ１３）。そして、測定指示部１１１は、測定回数＝Ｎｍでないと判定すると（ステップＳ１３：Ｎｏ）、電圧測定間隔Ｉｍが経過するまで待って（ステップＳ１４）、再びステップＳ１１の処理を実行する。例えば、Ｉｍ＝１０（μｓ）、Ｎｍ＝３００（回）として、これらの処理によってメモリ１２０に格納された電圧値の例を図４に示す。なお、図４には、測定開始からの経過時間が含まれるが、電圧測定間隔Ｉｍから判断できるため、メモリ１２０には、電圧値のみを格納すれば良い。
【００４０】
図３に戻り、測定指示部１１１が、測定回数＝Ｎｍであると判定すると（ステップＳ１３：Ｙｅｓ）、テストパルス幅算出部１１３は、基準ノイズ幅を算出する（ステップＳ１５）。具体的には、テストパルス幅算出部１１３は、メモリ１２０に記録された各電圧値とノイズ検出閾値Ｔｈとを比較して、絶対値がノイズ検出閾値Ｔｈ以上の電圧値をノイズデータとして区分けする。ここで、時間的に連続したノイズデータごとの時間幅を仮ノイズ幅として、時間順に仮ノイズ幅１、仮ノイズ幅２、仮ノイズ幅３・・・仮ノイズ幅Ｎとする。また、これらの時間幅の間隔を仮ノイズ間隔として、それぞれ仮ノイズ間隔１、仮ノイズ間隔２、仮ノイズ間隔３・・・仮ノイズ間隔Ｍとする。ここで、Ｍ＝Ｎ−１となる。
【００４１】
例えば、ノイズ検出閾値Ｔｈ＝３（Ｖ）であって、図４に示す電圧値がメモリ１２０に記録されている場合、テストパルス幅算出部１１３は、矩形４０１から矩形４１７までの各矩形で囲まれた電圧値を絶対値がＴｈ以上であるため、ノイズデータとして区分けする。矩形４０１に囲まれた電圧値の時間幅を仮ノイズ幅１とし、以下同様に、矩形４０２，４０３，４０４，４０５，４０６，４０７，４０８ａおよび４０８ｂ，４０９，４１０，４１１，４１２，４１３ａおよび４１３ｂ，４１４，４１５，４１６，４１７で囲まれた電圧値の時間幅を、図５に示されるように、それぞれ仮ノイズ幅２、仮ノイズ幅３・・・仮ノイズ幅１７とする。また、これらのノイズデータの間隔を仮ノイズ間隔として、それぞれ仮ノイズ間隔１、仮ノイズ間隔２、仮ノイズ間隔３・・・仮ノイズ間隔１６とする。
【００４２】
次に、テストパルス幅算出部１１３は、仮ノイズ間隔が最低診断時間幅Ｗｍの２倍以上であるか否かをそれぞれ判定する。そして、テストパルス幅算出部１１３は、Ｗｍの２倍より短い間隔であると判定した仮ノイズ間隔の両側の仮ノイズ幅に相当するノイズデータを、一連のノイズデータとしてグループ化する。逆に、テストパルス幅算出部１１３は、Ｗｍの２倍以上の間隔であると判定した間隔の両側のノイズデータを別のグループのノイズデータとして区分けする。このように新たにグループ化されたノイズデータは、もとの仮ノイズ間隔も含めた時間幅を、ノイズ幅として、時間順にノイズ幅１、ノイズ幅２、ノイズ幅３・・・ノイズ幅Ｌとする。さらに、各ノイズ幅の間隔をノイズ間隔として、ノイズ間隔１、ノイズ間隔２・・・ノイズ間隔Ｋとする。ここで、Ｋ＝Ｌ−１となる。ノイズ幅は、仮ノイズ幅に修正を加えたものであり、請求の範囲に記載された修正後ノイズ幅の一例である。
【００４３】
例えば、図５の例では、仮ノイズ間隔１から仮ノイズ間隔１１までの各ノイズ間隔がすべてＷｍの２倍未満であり、仮ノイズ間隔１２がＷｍの２倍以上であると判定された場合、仮ノイズ幅１から仮ノイズ幅１２までが一連のノイズデータとなる。そして、仮ノイズ幅１から仮ノイズ幅１２までの各仮ノイズ幅の合計に、仮ノイズ間隔１から仮ノイズ間隔１１までの各仮ノイズ間隔の合計を含めた時間幅であるノイズ幅１には、次式が成り立つ。
【００４４】
ノイズ幅１＝仮ノイズ幅１＋仮ノイズ間隔１＋仮ノイズ幅２＋仮ノイズ間隔２＋・・・・＋仮ノイズ間隔１１＋仮ノイズ幅１２
【００４５】
同様に、仮ノイズ間隔１３から仮ノイズ間隔１６までの各ノイズ間隔がすべてＷｍの２倍未満である場合、ノイズ幅２について、次式が成り立つ。
【００４６】
ノイズ幅２＝仮ノイズ幅１３＋仮ノイズ間隔１３＋仮ノイズ幅１４＋仮ノイズ間隔１４＋・・・・＋仮ノイズ間隔１６＋仮ノイズ幅１７
【００４７】
次に、テストパルス幅算出部１１３は、算出した各ノイズ幅を比較して、最も大きいノイズ幅を基準ノイズ幅とする。図５の例では、算出されたノイズ幅がノイズ幅１とノイズ幅２である場合、テストパルス幅算出部１１３は、これらを比較して大きい方のノイズ幅であるノイズ幅１を基準ノイズ幅とする。
【００４８】
図３に戻り、次に、テストパルス幅算出部１１３は、算出した基準ノイズ幅に基づいて、テストパルス幅を算出する（ステップＳ１６）。具体的には、テストパルス幅算出部１１３は、基準ノイズ幅Ｎｗに基づいて、テストパルス幅Ｐｗを以下の式によって算出する。
【００４９】
Ｐｗ＝Ｎｗ＋２×Ｗｍ
【００５０】
テストパルス幅算出部１１３は、算出したテストパルス幅Ｐｗをメモリ１２０に記録する。ステップＳ１５およびステップＳ１６は、請求の範囲に記載されたテストパルス幅算出ステップの一例である。
【００５１】
このようにして、プロセッサ１１０は、テストパルス幅算出処理を実行して、テストパルス幅を算出する。算出されたテストパルス幅で実行する故障診断テストにおいて、仮にテストパルス幅算出処理の実行時と同じノイズが発生した場合、テストパルスとノイズとの位相関係によらず、少なくともＷｍ以上のノイズの影響の無いＯＦＦ幅が確保される。図６に示されるように、テストパルス幅Ｐｗの中に基準ノイズ幅Ｎｗがすべて含まれる位相関係であっても、ノイズの影響の無い時間幅ＷａおよびＷｂについて、Ｗａ＋Ｗｂ＝Ｐｗ−Ｎｗ＝２×Ｗｍとなることから、ＷａおよびＷｂのいずれか一方は、Ｗｍ以上となる。したがって、算出されたテストパルス幅Ｐｗは、ノイズの影響を回避しつつ、長すぎない適切な長さとなっている。仮に、テストパルス幅Ｐｗを長くすればノイズ成分の影響を受けない部分が確保できるため、ノイズの影響を回避できる。しかし、テストパルス幅Ｐｗが長すぎると、故障診断テストの実施が安全装置の運用に影響を与えてしまい、実運用に耐えられない。したがって、テストパルス幅Ｐｗを長すぎない適切な長さに設定することが有用である。
【００５２】
また、ＰＬＣ１は、実運用中に定期的に、例えば１時間ごとに、故障診断テストを実施する。テストパルス幅設定部１１４は、メモリ１２０に記録されたテストパルス幅Ｐｗを読み出して、故障診断制御部１１５に対して、故障診断テストにおけるテストパルス幅を指示する。
【００５３】
故障診断制御部１１５は、テストパルス幅Ｐｗのテストパルスを生成する指示を出力回路１３０に送信し、入力制御部１１６に故障診断テストの開始を通知する。入力制御部１１６は、故障診断制御部１１５から故障診断テストの開始の通知を受けると、入力回路１５０から受信する信号を無視する状態となる。
【００５４】
出力回路１３０は、テストパルス幅Ｐｗのテストパルスを生成して、安全停止スイッチ３に信号を送信する。ユーザは、安全停止スイッチ３のボタンを手で押している。したがって、安全停止スイッチ３は、使用中はＯＮになっていて、出力回路１３０から出力されるＯＮ信号をそのまま入力回路１５０に送信している。そして、ＯＦＦ信号のテストパルスが出力回路１３０から送信されると、そのまま入力回路１５０にＯＦＦ信号のテストパルスが送信される。
【００５５】
入力回路１５０は、ＯＦＦ信号が送信されると、Ａ／Ｄ変換によってＯＦＦを表すデジタル信号をプロセッサ１１０に送信する。故障診断制御部１１５は、入力回路１５０から受信した信号に基づいて、故障が発生しているか否かを診断する。そして、故障診断が終了すると、故障診断制御部１１５は、入力制御部１１６に故障診断テストの終了を通知する。入力制御部１１６は、故障診断制御部１１５から故障診断テストの終了の通知を受けると、入力回路１５０から受信する信号を無視する状態を解除し、入力回路１５０から受信する信号による制御を再開する。
【００５６】
上述の実施の形態に係るＰＬＣ１によれば、実際に発生しているノイズの幅を算出することで、故障診断テストでも同じノイズ幅のノイズが発生しても、それを回避しうる長さのテストパルス幅を算出することができる。
【００５７】
上述の実施の形態に係るＰＬＣ１によれば、最低診断時間幅Ｗｍには、少なくとも０より大きい値が設定される。したがって、Ｐｗ＝Ｎｗ＋２×Ｗｍによって算出されるテストパルス幅Ｐｗは、基準ノイズ幅Ｎｗよりも大きくなっている。また、基準ノイズ幅Ｎｗは、いずれの仮ノイズ幅よりも大きいため、テストパルス幅は、テストパルス幅算出部１１３が算出したどの仮ノイズ幅よりも大きくなっている。
【００５８】
また、仮ノイズ間隔が最低診断時間幅Ｗｍの２倍未満の場合に、連続したノイズと判断する。これによって、複数のノイズが短い間隔で連続して発生する場合にも複数のノイズを一連のノイズとして扱うことができるため、ノイズの影響の無い最低診断時間幅Ｗｍ以上の幅を確保したテストパルス幅を算出することができる。
【００５９】
（変形例）
本発明は、上述した実施の形態に限定されるわけではなく、その他の種々の変更が可能である。
【００６０】
上述した実施の形態では、ＰＬＣ１の入出力ユニット１０が請求の範囲に記載されたテストパルス幅算出装置の一例である。図１に示すハードウェア構成において、入出力ユニット１０の代わりに、制御ユニット２０をテストパルス幅算出装置としても良い。その場合、制御ユニット２０のプロセッサ２１０が、図２に示される各機能を果たし、入出力ユニット１０のメモリ１２０の代わりに、制御ユニット２０のメモリ２２０に各種設定値を記録する。同様に、コンピュータ２をテストパルス幅算出装置としても良い。その場合、コンピュータ２のプロセッサ２１が、図２に示される各機能を果たし、入出力ユニット１０のメモリ１２０の代わりに、コンピュータ２のメモリ２２に各種設定値を記録する。
【００６１】
上述の実施の形態において、安全装置として、ＰＬＣ１から信号を受けて、そのまま信号を出力する機器である安全停止スイッチ３を例示した。しかし、ＰＬＣ１を他の種類の安全装置に適用しても良い。例えば、信号を出力する信号出力機器または信号を入力する信号入力機器に適用しても良い。
【００６２】
ＰＬＣ１を信号出力機器４に適用した例を図７に示す。この場合、出力回路１３０から出力する信号と、信号出力機器４から出力する信号とが、ともに入力回路１５０に到達する。そして、故障診断テストを実行していない時は、信号出力機器４から出力する信号が入力回路１５０に到達し、故障診断テストを実行している時は、信号出力機器４から出力する信号がキャンセルされ、出力回路１３０から出力する信号が入力回路１５０に到達する構成とすれば良い。
【００６３】
また、ＰＬＣ１を信号入力機器５に適用した例を図８に示す。この場合、出力回路１３０から出力する信号が、信号入力機器５に送信されるとともに、出力した信号のリードバック信号が入力回路１５０に送信される。本変形例に係る出力回路１３０は、実運用において、制御用の信号を信号入力機器５に送信する。そして、出力回路１３０は、故障診断テストを実行する際は、制御用の信号とテストパルスとを合成して出力する。合成した信号がテストパルスのＯＦＦ信号をそのままＯＦＦ信号として反映されるため、出力回路１３０は、制御用信号とテストパルスにＡＮＤ演算を適用して合成する。
【００６４】
上述の実施の形態および変形例に係るＰＬＣ１において、図１、図７および図８に示される構成は、併存可能である。例えば、出力回路１３０および入力回路１５０をそれぞれ複数備えても良い。その場合、電圧測定回路１４０は、複数の入力回路１５０に入力される信号の入力経路をそれぞれ測定しても良いし、複数の電圧測定回路１４０が、個別にそれぞれの入力回路１５０に入力される信号の入力経路を測定しても良い。
【００６５】
上述の実施の形態では、テストパルスがＯＦＦ信号である例を示した。特に、ＯＦＦ信号はノイズの影響を大きく受けるため、テストパルス幅を適切に設定する必要性が高い。しかし、テストパルスがＯＮ信号であっても良い。テストパルスがＯＮ信号である場合、テストパルス幅算出処理の実行中に、出力回路１３０は、ＯＮ信号を送信する。そして、ノイズ幅算出の際、絶対値すなわち０（Ｖ）を基準とした値ではなく、ＯＮ信号の基準となる電圧値、例えば２４（Ｖ）、からの増減量とノイズ検出閾値Ｔｈとを比較すれば良い。この場合、出力回路１３０がＯＮ信号を出力したまま、テストパルス幅算出処理を実行することができるため、安全停止スイッチ３を稼働させている実運用中でもテストパルス幅を算出することができる。
【００６６】
上述の実施の形態において、電圧測定回路１４０は、入力回路１５０に入力される信号の入力経路の電圧を測定する例を示した。しかし、電圧以外の電気測定を行っても良い。例えば、電流、電力等の測定値でも良い。この場合、ノイズ検出閾値Ｔｈには、測定値の種類に即した値が設定される。
【００６７】
上述の実施の形態における基準ノイズ幅およびテストパルス幅の算出方法は、適切な長さのテストパルス幅を算出するための方法の一例である。しかし、これらの算出方法は、上述の実施の形態に限られない。例えば、仮ノイズ幅に修正を加えずに、単に仮ノイズ幅の最大値を基準ノイズ幅としても良い。この場合、処理が簡略化され、システム導入のコストを下げることができる。ただし、故障診断テストの精度が下がるため、両者のトレードオフを考慮して選択すれば良い。また、例えば、仮ノイズ幅または修正後ノイズ幅の平均値、分散値等、最大値以外の統計値によって基準ノイズ幅を算出しても良い。統計値によって基準ノイズ幅を算出することによって、異常なノイズによる影響を排除して、より実質的なテストパルス幅を算出することができる。一方、仮ノイズ幅または修正後ノイズ幅の最大値によって基準ノイズ幅を算出することによれば、異常なノイズによる影響も考慮した安全性の高いテストパルス幅を算出することができる。
【００６８】
上述の実施の形態において、ユーザがコンピュータ２を操作することによって、テストパルス幅の算出を開始する例を示した。他に、メンテナンス等の時間が定期的に決まっている場合に、ＰＬＣ１のプロセッサ１１０が、タイマー起動によってテストパルス幅算出処理を開始しても良い。また、ユーザがＰＬＣ１に備えられた図示しないスイッチを押すことによって、テストパルス幅算出処理を開始しても良い。
【００６９】
また、上述の実施の形態において、テストパルス幅設定部１１４が、テストパルス幅算出部１１３が算出したテストパルス幅を設定する例を示した。他に、テストパルス幅算出部１１３が算出したテストパルス幅をコンピュータ２のディスプレイ２４に表示させても良い。そして、ユーザがディスプレイ２４に表示されたテストパルス幅を参考にして、テストパルス幅を入力し、テストパルス幅設定部１１４が入力されたテストパルス幅を設定しても良い。
【００７０】
上述の実施の形態に係るコンピュータ２のプロセッサ２１、制御ユニット２０のプロセッサ２１０および入出力ユニット１０のプロセッサ１１０は、例えば、ＣＰＵ（Central Processing Unit）、マイクロプロセッサ、ＤＳＰ（Digital Signal Processor）等が該当する。また、コンピュータ２のメモリ２２、制御ユニット２０のメモリ２２０および入出力ユニット１０のメモリ１２０は、揮発性または不揮発性のメモリを含み、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等が該当する。
【００７１】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。即ち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【符号の説明】
【００７２】
１  ＰＬＣ、２  コンピュータ、３  安全停止スイッチ、４  信号出力機器、５  信号入力機器、１０  入出力ユニット、２０  制御ユニット、２１  プロセッサ、２２  メモリ、２３  ネットワークカード、２４  ディスプレイ、２５  キーボード、２６  ハードディスクドライブ、１１０  プロセッサ、１１１  測定指示部、１１２  電圧値取得部、１１３  テストパルス幅算出部、１１４  テストパルス幅設定部、１１５  故障診断制御部、１１６  入力制御部、１２０  メモリ、１３０  出力回路、１４０  電圧測定回路、１５０  入力回路、１６０  通信回路、２１０  プロセッサ、２２０  メモリ、２３０，２４０  通信回路、４０１，４０２，４０３，４０４，４０５，４０６，４０７，４０８ａ，４０８ｂ，４０９，４１０，４１１，４１２，４１３ａ，４１３ｂ，４１４，４１５，４１６，４１７  矩形。
【要約】
入出力ユニット（１０）は、ＰＬＣの故障診断テストで使用するテストパルスの時間幅を算出するためのテストパルス幅算出装置である。入出力ユニット（１０）は、ＰＬＣの入力回路（１５０）に入力される信号に重畳するノイズを検出するための閾値を記憶するメモリ（１２０）と、プロセッサ（１１０）と、を備える。プロセッサ（１１０）は、電圧値取得部（１１２）と、テストパルス幅算出部（１１３）と、を備える。電圧値取得部（１１２）は、入力回路（１５０）に入力される信号の入力経路の電圧の測定値を取得する。テストパルス幅算出部（１１３）は、電圧の測定値と閾値との比較に基づいて、テストパルス幅を算出するための基準となる基準ノイズ幅を算出し、算出した基準ノイズ幅よりも大きいテストパルス幅を算出する。【図１】
0006735953.tif 000002
【図２】
0006735953.tif 000003
【図３】
0006735953.tif 000004
【図４】
0006735953.tif 000005
【図５】
0006735953.tif 000006
【図６】
0006735953.tif 000007
【図７】
0006735953.tif 000008
【図８】
0006735953.tif 000009