(57)【要約】【課題】入力回路の故障診断について、故障検出の応答性を良好に維持しつつ、誤診断の発生を防止する。【解決手段】ＰＬＣ１は、常閉型の接点Ｃ１〜Ｃ４の一方の端子の信号を入力して接点入力信号Ｓｉ１〜Ｓｉ４を出力する入力回路３、接点Ｃ１〜Ｃ４の他方の端子に診断信号Ｓｄ１〜Ｓｄ４を出力する診断信号出力部５および診断部６を備える。診断部６は、接点入力信号Ｓｉ１〜し４に含まれるパルスを検出するとともに検出されたパルスの幅を測定するパルス幅測定部７、測定期間に検出されたパルスの検出回数と測定されたパルスの幅とを関連付けた統計データを作成する統計データ作成部８および統計データに基づいて診断信号Ｓｄ１〜Ｓｄ４の診断パルス幅を設定するパルス幅設定部９を備える。診断部６は、接点入力信号Ｓｉ１〜Ｓｉ４に含まれるパルスのうち診断パルス幅とは異なる幅のパルスを除外して入力回路３の故障を診断する。【選択図】図１
2019057239.tif 000002
【特許請求の範囲】
【請求項１】
外部に設けられた常閉型の接点の一方の端子の信号を入力し、前記接点の開閉状態に対応したレベルを有する接点入力信号を内部回路へと出力する入力回路と、
前記接点の他方の端子に対し、前記接点の開放状態に対応したレベルに変化するパルスが所定の診断周期毎に含まれる診断信号を出力する診断信号出力部と、
前記接点入力信号に含まれる前記パルスに基づいて前記入力回路の故障を診断する診断部と、
を備え、
前記診断部は、
前記接点入力信号に含まれる前記パルスを検出するとともに、その検出されたパルスの幅を測定するパルス幅測定部と、
所定の測定期間において前記パルス幅測定部により検出された前記パルスの検出回数と測定された前記パルスの幅とを関連付けた統計データを作成する統計データ作成部と、
前記統計データに基づいて前記診断信号に含まれる前記パルスの幅である診断パルス幅を設定するパルス幅設定部と、
を備え、
前記接点入力信号に含まれる前記パルスのうち前記診断パルス幅とは異なる幅の前記パルスを除外して前記入力回路の故障を診断する制御装置。
【請求項２】
前記統計データ作成部による前記統計データの作成および前記パルス幅設定部による前記診断パルス幅の設定は、装置の起動時に行われるとともに、その後、所定の更新周期毎に行われる請求項１に記載の制御装置。
【請求項３】
前記パルス幅設定部は、前記統計データにおける前記パルスの検出回数に基づいて前記診断パルス幅を設定する請求項１または２に記載の制御装置。
【請求項４】
前記診断信号出力部は、前記診断周期毎に前記診断パルス幅を持つ１つの前記パルスが含まれた前記診断信号を出力し、
前記診断部は、
同一の前記診断周期内の前記接点入力信号に前記診断パルス幅を持つ前記パルスが複数含まれていることを条件として前記診断信号の前記診断パルス幅を変更するパルス幅変更部を備えている請求項１から３のいずれか一項に記載の制御装置。
【請求項５】
前記パルス幅変更部は、前記統計データにおける前記パルスの検出回数に基づいて前記診断パルス幅を変更する請求項４に記載の制御装置。
【請求項６】
前記統計データ作成部は、
前記パルス幅測定部により測定された前記パルスの幅を複数のグループに分け、それらグループ毎の前記検出回数が記録されたものを前記統計データとして作成するものであり、
前記グループ毎のパルス幅の範囲を変更することができる請求項１から５のいずれか一項に記載の制御装置。
【請求項７】
前記統計データ作成部は、
前記パルス幅測定部により測定された前記パルスの幅を複数のグループに分け、それらグループ毎の前記検出回数が記録されたものを前記統計データとして作成するものであり、
前記グループの少なくとも１つの前記検出回数がゼロとなるように前記グループを設定する請求項１から５のいずれか一項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、常閉型の接点の開閉状態に対応したレベルを有する接点入力信号を内部回路へと出力する入力回路を備える制御装置に関する。
【背景技術】
【０００２】
特許文献１に開示されているように、プログラマブルロジックコントローラなどの制御装置には、その制御対象となる外部機器から与えられる信号を内部回路に取り込むための入力回路が設けられている。なお、以下では、プログラマブルロジックコントローラのことをＰＬＣとも称する。
【０００３】
例えば非常停止スイッチなどの常閉型の接点であるＢ接点の操作状態を検出するために用いられる入力回路では、Ｂ接点が操作されて開放状態になった際、その開放状態に対応したレベル、例えばＬｏｗレベルの信号を内部回路であるマイクロコントローラに出力するといった動作が行われるようになっている。
【０００４】
仮に入力回路が故障し、このような動作が行われなくなると、非常停止スイッチが操作されたにもかかわらず対象機器の動作が停止されない、といった事態が生じるおそれがある。そのため、入力回路が正常に動作できるかどうか、つまり入力回路に故障が生じていないかどうかを定期的に診断する機能が必要となる。
【０００５】
このような事情から、従来の制御装置には、入力回路の故障を診断する機能を備えたものがある。この場合、制御装置は、所定の診断周期毎にＬｏｗレベルに変化するパルスが含まれる診断信号を出力する診断信号出力部を備えている。そして、制御装置は、Ｂ接点を介して診断信号を入力回路にフィードバックし、上記診断周期毎に入力回路の出力信号に上記パルスが含まれるか否かにより入力回路の故障を診断するようになっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−７３４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記従来の構成では、診断信号の伝達経路に外来ノイズなどのノイズが重畳すると、その影響により入力回路の出力信号がＬｏｗレベルになることが考えられる。その結果、実際には、入力回路が故障してＬｏｗレベルの信号を出力できない故障が生じているにもかかわらず、ノイズの影響によりＬｏｗレベルの信号が出力されてしまい、正常であると誤診断されるおそれがある。
【０００８】
診断信号に意図的に含まれるパルスと、ノイズの影響による意図しないパルスとを明確に区別することができれば、上記誤診断の発生を防ぐことができると考えられる。しかし、ＰＬＣが設置される環境、ＰＬＣに接続される外部機器の有無および種類などにより、上述したノイズの発生状況が変化するため、上記区別についてのルールを一律に定めることは困難である。
【０００９】
そこで、このようなノイズによる誤診断を防止するため、上記した診断を複数の診断周期にわたって実行し、それら複数回実行した診断の結果に基づいて、入力回路の故障を診断する、という手法を採用することが考えられる。しかし、この手法では、入力回路の故障発生から故障検出までに要する時間が延びてしまい、故障検出の応答性が低下するという別の問題が生じてしまう。
【００１０】
本発明は上記事情に鑑みてなされたものであり、その目的は、入力回路の故障診断について、故障検出の応答性を良好に維持しつつ、誤診断の発生を防止することができる制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
請求項１に記載の制御装置は、入力回路、診断信号出力部および診断部を備えている。入力回路は、外部に設けられた常閉型の接点の一方の端子の信号を入力し、接点の開閉状態に対応したレベルを有する接点入力信号を内部回路へと出力する。診断信号出力部は、接点の他方の端子に対し、接点の開放状態に対応したレベルに変化するパルスが所定の診断周期毎に含まれる診断信号を出力する。診断信号出力部から出力される診断信号は、接点を介して入力回路にフィードバックされることになる。そして、入力回路に故障が生じていなければ、入力回路から出力される接点入力信号には、上記診断周期毎に、診断信号に含まれるパルスと同様のパルスが現れることになる。
【００１２】
この点を踏まえ、診断部は、接点入力信号に含まれるパルスに基づいて入力回路の故障を診断する。基本的には、診断部は、接点入力信号に診断信号に含まれるパルスと同様のパルスが含まれていれば、入力回路が正常であると診断し、上記パルスが含まれていなければ、入力回路が故障していると診断することができる。そして、診断部は、外来ノイズによる誤診断の発生を抑制するため、さらに次のような機能を有している。
【００１３】
すなわち、診断部は、パルス幅測定部、統計データ作成部およびパルス幅設定部を備えている。パルス幅測定部は、接点入力信号に含まれるパルスを検出するとともに、その検出されたパルスの幅を測定する。統計データ作成部は、所定の測定期間においてパルス幅測定部により検出されたパルスの検出回数と測定されたパルスの幅とを関連付けた統計データを作成する。パルス幅設定部は、統計データに基づいて診断信号に含まれるパルスの幅である診断パルス幅を設定する。
【００１４】
この場合、統計データには、診断のために意図的に含まれるパルスおよび外来ノイズなどの影響による意図しないパルスの双方が含まれる。しかし、診断のために意図的に含まれるパルスが測定期間中に何回出力されているか、およびそのパルスの幅は既知である。そのため、接点入力信号に含まれるパルスから、診断のために意図的に含まれたパルスを識別することは容易である。したがって、パルス幅設定部は、統計データに基づいて、外来ノイズなどの影響による意図しないパルスの幅と重複しない、または重複する頻度の少ないと考えられるパルス幅を、診断パルス幅に設定することができる。
【００１５】
上記構成によれば、外来ノイズなどの影響により接点入力信号に現れるパルスの幅は、高い確率で、診断パルス幅とは異なる幅となる。そこで、診断部は、接点入力信号に含まれるパルスのうち、パルス幅設定部により設定された診断パルス幅とは異なる幅のパルスを除外して入力回路の故障を診断する。このようにすれば、診断の回数を少なく抑えたとしても、外来ノイズなどの影響による誤診断の発生を低く抑えることができる。したがって、上記構成によれば、入力回路の故障診断について、故障検出の応答性を良好に維持しつつ、誤診断の発生を防止することができるという優れた効果が得られる。
【００１６】
診断信号に重畳する可能性がある外来ノイズなどのノイズの発生状況は、制御装置が設置される環境、制御装置に接続される外部機器の有無、それら外部機器の種類などによって変化する。そこで、請求項２に記載の制御装置では、統計データ作成部による統計データの作成およびパルス幅設定部による診断パルス幅の設定は、装置の起動時に行われるようになっている。このようにすれば、実際の設置環境におけるパルスの検出回数およびパルス幅の測定結果から作成された統計データに基づいて診断パルス幅が設定されるため、実際に生じる可能性が高い外来ノイズなどの影響を受け難い診断を実現することができる。
【００１７】
ただし、ノイズの発生状況は、装置の起動時における状況と同一の状況がそのまま維持されるわけではなく、例えば外部機器の動作状況などに応じて変化する可能性がある。そこで、請求項２に記載の制御装置では、統計データの作成および診断パルス幅の設定は、装置の起動時に行われた後、所定の更新周期毎に行われるようになっている。このようにすれば、外部機器の動作状況などに応じて変化するノイズの発生状況に応じて、診断パルス幅が変更されるため、外来ノイズなどの影響を一層受け難い診断を実現することができる。
【００１８】
請求項３に記載の制御装置では、パルス幅設定部は、統計データにおけるパルスの検出回数に基づいて診断パルス幅を設定する。統計データにおけるパルスの検出回数は、外来ノイズの発生状況に変化が無い、または変化が小さいと仮定すれば、そのパルスの幅と同様の幅を持つ意図しないパルスが発生する頻度に比例すると考えられる。したがって、上述したように診断パルス幅を設定すれば、外来ノイズなどの影響による意図しないパルスの幅と重複しない、または重複する頻度の少ないパルス幅を、診断パルス幅に設定することができ、その結果、外来ノイズなどの影響による誤診断の発生を一層抑制することができる。
【００１９】
前述したように、ノイズの発生状況は、外部機器の動作状態などの周囲環境に応じて変化する。そのため、外部機器の動作状態などが比較的短い周期で変化するような用途に制御装置が用いられる場合には、ノイズの発生状況の変化の周期も短くなる可能性がある。請求項２に記載の制御装置のように、更新周期毎に統計データの作成および診断パルス幅の設定を行えば、このような変化に対応することができると考えられるが、更新周期がノイズの発生状況の変化の周期よりも長くなる場合には、対応が不十分になる可能性がある。なお、想定されるノイズの発生状況の変化の周期よりも更新周期を十分に短く設定すれば、このような問題の発生が解消されると考えられるが、更新周期をむやみに短くすると、統計データの作成回数が増え、その作成に係る処理負荷の増大などの問題が生じる。
【００２０】
そこで、請求項４に記載の制御装置では、診断信号出力部は、診断周期毎に診断パルス幅を持つ１つのパルスが含まれた診断信号を出力する。そして、診断部は、同一の診断周期内の接点入力信号に診断パルス幅を持つパルスが複数含まれていることを条件として診断信号の診断パルス幅を変更するパルス幅変更部を備えている。つまり、この場合、ノイズの発生状況の変化により、当初設定された診断パルス幅と同様のパルス幅を持つ意図しないパルスが発生するようになると、診断パルス幅が変更されるようになっている。
【００２１】
このように、上記構成では、ノイズの発生状況の変化に応じて、診断パルス幅が動的に変更されるようになっている。このようにすれば、周囲環境が時々刻々と変化するような場合でも、その変化に合わせて、診断パルス幅を、ノイズによる誤診断が生じ難いようなパルス幅へと変更することが可能となる。したがって、上記構成によれば、周囲環境が比較的短い周期で変化する用途に制御装置が用いられる場合でも、外来ノイズなどの影響による誤診断の発生を抑制することができる。
【００２２】
請求項５に記載の制御装置では、パルス幅変更部は、統計データにおけるパルスの検出回数に基づいて診断パルス幅を変更する。前述したように、統計データにおけるパルスの検出回数は、外来ノイズの発生状況に変化が無い、または変化が小さいと仮定すれば、そのパルスの幅と同様の幅を持つ意図しないパルスが発生する頻度に比例すると考えられる。したがって、上述したように診断パルス幅を変更すれば、外来ノイズなどの影響による意図しないパルスの幅と重複しない、または重複する頻度の少ないパルス幅を、診断パルス幅に設定することができ、その結果、外来ノイズなどの影響による誤診断の発生を一層抑制することができる。
【００２３】
請求項６に記載の制御装置では、統計データ作成部は、パルス幅測定部により測定されたパルスの幅を複数のグループに分け、それらグループ毎の検出回数が記録されたものを統計データとして作成するものである。また、この場合、統計データ作成部は、グループ毎のパルス幅の範囲を変更することができるようになっている。外来ノイズの特徴として、同程度のパルス幅のノイズが群発することが挙げられる。そのため、発生頻度が高いパルス幅の群と群との間に、発生頻度が極めて低いパルス幅の群が存在する可能性がある。上述したように、グループ毎のパルス幅の範囲を変更することで、このような発生頻度が低いパルス幅の群を発見することができる可能性がある。このようにすれば、診断パルス幅として、外来ノイズとして発生する頻度が少ないパルス幅に設定することができる。
【００２４】
請求項７に記載の制御装置では、統計データ作成部は、パルス幅測定部により測定されたパルスの幅を複数のグループに分け、それらグループ毎の検出回数が記録されたものを統計データとして作成するものである。また、この場合、統計データ作成部は、グループの少なくとも１つの検出回数がゼロとなるようにグループを設定するようになっている。前述した通り、外来ノイズの特徴として、発生頻度が高いパルス幅の群と群との間に、発生頻度が極めて低いパルス幅の群が存在する可能性がある。上記構成によれば、このような発生頻度が極めて低いパルス幅の群が上記グループの１つとして設定されることになり、その結果、診断パルス幅として、外来ノイズとして発生する頻度が少ないパルス幅に設定することができる。
【図面の簡単な説明】
【００２５】
【図１】第１実施形態に係るＰＬＣおよび接点の構成を模式的に示す図
【図２】第１実施形態に係る統計データの具体的な一例を示す図
【図３】第１実施形態に係る候補データの具体的な一例を示す図
【図４】第１実施形態に係る診断部による処理の内容を模式的に示す図
【図５】診断パルス幅を更新しない場合における入力回路の故障検出を説明するためのタイミングチャート
【図６】第１実施形態に係る診断パルス幅の更新を説明するためのタイミングチャート
【図７】第１実施形態に係る入力回路の故障検出を説明するためのタイミングチャート
【図８】第２実施形態に係るＰＬＣおよび接点の構成を模式的に示す図
【図９】第２実施形態に係る候補データの具体的な一例を示す図
【図１０】第２実施形態に係る診断部による処理の内容を模式的に示す図
【発明を実施するための形態】
【００２６】
以下、複数の実施形態について図面を参照して説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
（第１実施形態）
以下、第１実施形態について、図１〜図７を参照して説明する。
【００２７】
図１に示すように、制御装置に相当するＰＬＣ１には、外部機器２に設けられたＮ個（ただし、Ｎは正の整数）の接点が接続される。なお、図１では、ＰＬＣ１に対し４つの接点Ｃ１〜Ｃ４が接続される場合を例示しているが、ＰＬＣ１に接続される接点の数は３つ以下でもよいし、５つ以上でもよい。また、図１には、ＰＬＣ１の構成のうち、外部機器２との間における信号の入出力を担うＩ／Ｏユニットに関連する構成だけが図示されている。
【００２８】
接点Ｃ１〜Ｃ４は、ＰＬＣ１に接続される外部機器２に設けられた常閉型の接点、つまりＢ接点である。したがって、接点Ｃ１〜Ｃ４は、操作されてない状態では閉鎖状態（Ｃｌｏｓｅ）となっており、ユーザにより操作されると開放状態（Ｏｐｅｎ）となる。この場合、接点Ｃ１〜Ｃ４は、例えば対象機器の動作を強制的に停止するための非常停止スイッチとして用いられる。
【００２９】
ＰＬＣ１は、接点Ｃ１〜Ｃ４の各一方の端子に接続される端子Ｐ１〜Ｐ４と、接点Ｃ１〜Ｃ４の各他方の端子に接続されるＰ５〜Ｐ８とを備えている。端子Ｐ１〜Ｐ４は、接点Ｃ１〜Ｃ４の一方の端子の信号を入力するための端子である。端子Ｐ５〜Ｐ８は、接点Ｃ１〜Ｃ４の他方の端子に対し、診断信号Ｓｄ１〜Ｓｄ４を出力するための端子である。詳細は後述するが、診断信号Ｓｄ１〜Ｓｄ４は、ほとんどの期間、例えば＋２４ＶなどのＨｉｇｈレベルとなる信号である。
【００３０】
ＰＬＣ１は、入力回路３およびマイクロコントローラ４などを備えている。なお、以下では、マイクロコントローラ４のことをマイコン４と称する。入力回路３は、接点Ｃ１〜Ｃ４の一方の端子の信号を入力し、接点Ｃ１〜Ｃ４の開閉状態に対応したレベルを有する接点入力信号Ｓｉ１〜Ｓｉ４を内部回路であるマイコン４へと出力する。
【００３１】
この場合、入力回路３は、その信号の入出力経路において、絶縁およびレベル変換を行う。そのため、入力回路３から出力される接点入力信号Ｓｉ１〜Ｓｉ４は、接点Ｃ１〜Ｃ４が閉鎖状態である期間には診断信号Ｓｄ１〜Ｓｄ４と同様のレベル、つまりほぼＨｉｇｈレベルとなり、接点Ｃ１〜Ｃ４が開放状態である期間には例えば０ＶなどのＬｏｗレベルとなる。ただし、入力回路３が上記レベル変換を行うことにより、接点入力信号Ｓｉ１〜Ｓｉ４のＨｉｇｈレベルは、マイコン４のＨｉｇｈ入力電圧（例えば＋５Ｖ）となる。
【００３２】
したがって、本実施形態では、接点Ｃ１〜Ｃ４の閉鎖状態に対応したレベルがＨｉｇｈレベルとなり、開放状態に対応したレベルがＬｏｗレベルとなる。なお、以下では、ＨｉｇｈレベルのことをＨレベルと称するとともに、ＬｏｗレベルのことをＬレベルと称する。
【００３３】
マイコン４は、接点入力信号Ｓｉ１〜Ｓｉ４のレベルに基づいて接点Ｃ１〜Ｃ４の操作状態を検出する機能を備えている。具体的には、マイコン４は、接点入力信号Ｓｉ１〜Ｓｉ４のうちいずれかがＬレベルとなる期間が一定時間以上継続すると、接点Ｃ１〜Ｃ４のうち、それに対応する接点がユーザにより操作されたことを検出する。マイコン４は、この機能により接点Ｃ１〜Ｃ４のうちいずれかが操作されたことを検出すると、それに対応した対象機器の動作を強制停止させるための処理を実行する。
【００３４】
このような構成において、入力回路３において信号をＬｏｗレベルにする回路が機能しなくなる故障が生じると、接点Ｃ１〜Ｃ４のいずれかがユーザにより操作されたにもかかわらず、接点入力信号Ｓｉ１〜Ｓｉ４のうち、対応する信号がＬレベルにならない。このような場合、非常停止スイッチが操作されたにもかかわらず、対象機器の動作が停止されない、といった事態が生じるおそれがある。
【００３５】
そこで、マイコン４は、入力回路３に故障が生じていないかどうかを定期的に診断する機能を備えている。具体的には、マイコン４は、診断信号出力部５および診断部６を備えている。診断信号出力部５は、接点Ｃ１〜Ｃ４の他方の端子に対し、端子Ｐ５〜Ｐ８を介して診断信号Ｓｄ１〜Ｓｄ４を出力する。診断信号Ｓｄ１〜Ｓｄ４は、前述したように、ほとんどの期間はＨレベルとなっているが、所定の診断周期毎に所定期間だけＬレベルに変化する。つまり、診断信号Ｓｄ１〜Ｓｄ４は、ＨレベルからＬレベルに変化する１つのパルスが診断周期毎に含まれるようになっている。
【００３６】
診断信号Ｓｄ１〜Ｓｄ４がＬレベルになる上記所定期間、つまり診断信号Ｓｄ１〜Ｓｄ４に含まれるパルスの幅は、診断部６により設定される。以下、このパルスの幅のことを、診断パルス幅と称する。なお、上述した診断パルス幅および診断周期は、接点Ｃ１〜Ｃ４の操作状態を検出する機能に影響を与えないようにするため、ユーザによる接点Ｃ１〜Ｃ４の操作時間に対して十分に短い時間に設定される。
【００３７】
上記構成によれば、通常時、つまり接点Ｃ１〜Ｃ４が操作されておらず閉鎖状態であるとき、診断信号Ｓｄ１〜Ｓｄ４は、接点Ｃ１〜Ｃ４を介して入力回路３へとフィードバックされる。ここで、入力回路３に故障が生じておらず正常であれば、接点入力信号Ｓｉ１〜Ｓｉ４には、診断周期毎に、診断信号Ｓｄ１〜Ｓｄ４に含まれるパルスと同様の幅のパルスが現れることになる。
【００３８】
このような点を踏まえ、診断部６は、接点入力信号Ｓｉ１〜Ｓｉ４に含まれるパルスに基づいて入力回路３の故障を診断する。基本的には、診断部６は、接点入力信号Ｓｉ１〜Ｓｉ４に診断信号Ｓｄ１〜Ｓｄ４に含まれるパルスと同様の幅のパルスが含まれていれば、入力回路３が正常であると診断し、上記パルスが含まれていなければ、入力回路３が故障していると診断することができる。そして、診断部６は、外来ノイズによる誤診断の発生を抑制するため、さらに次のような機能を有している。
【００３９】
すなわち、診断部６は、パルス幅測定部７、統計データ作成部８およびパルス幅設定部９を備えている。パルス幅測定部７は、接点入力信号Ｓｉ１〜Ｓｉ４に含まれるパルスを検出するとともに、その検出されたパルスの幅を測定する。パルス幅の測定は、例えば、信号のエッジを検出して動作するカウンタを用いて行うことができる。この場合、カウンタは、立ち下がりエッジが検出されるとカウント動作を開始し、立ち上がりエッジが検出されるとカウント動作を停止する。このように動作するカウンタのカウント値からパルスの幅を求めることができる。
【００４０】
この場合、パルス幅測定部７は、上述した検出および測定の対象から、診断信号Ｓｄ１〜Ｓｄ４に含まれるパルスと同一のタイミングで発生しているパルス、つまり診断のために意図的に含まれるパルスを除外するようになっている。したがって、パルス幅測定部７は、接点入力信号Ｓｉ１〜Ｓｉ４に含まれるパルスのうち、外来ノイズなどの影響による意図しないパルスを検出するとともに、その検出されたパルスの幅を測定する。
【００４１】
なお、上記構成において、パルス幅測定部７は、意図的に含まれるパルスを容易に特定することができる。なぜなら、パルス幅測定部７は、診断信号Ｓｄ１〜Ｓｄ４を出力する診断信号出力部５と同一のマイコン４に設けられている。したがって、診断信号出力部５から、パルス幅測定部７に対し、診断信号Ｓｄ１〜Ｓｄ４に含まれるパルスが発生するタイミングを伝達することが可能である。このようにすれば、パルス幅測定部７は、診断信号出力部５から伝達されたタイミングで発生するパルスが診断のために意図的に含まれたパルスであると判断し、検出および測定の対象から除外することができる。そのため、この場合、外来ノイズの等の影響による意図しないパルスを検出するとともに、その検出されたパルスの幅を測定することができる。
【００４２】
本実施形態では、パルス幅測定部７は、マイコン４が備えるＣＰＵがＲＯＭなどに記憶されたプログラムを実行することにより実現されている、つまりソフトウェアにより実現されている。なお、パルス幅測定部７は、専用回路、つまり専用のハードウェアにより実現することもできる。
【００４３】
統計データ作成部８は、所定の測定期間においてパルス幅測定部７により検出されたパルスの検出回数と測定されたパルスの幅とを関連付けた統計データを作成する。なお、本実施形態では、上記測定期間は、例えば１時間に設定されている。統計データは、具体的には、図２に示すように、測定されたパルス幅をグループ分けし、グループ毎の測定期間あたりの検出回数、つまり発生頻度［回／１時間］が記録されている。
【００４４】
この場合、測定されたパルス幅は、１０個のグループＧ１〜Ｇ１０に分けられている。グループＧ１は、パルスの幅が５００μｓ以上且つ５５０μｓ未満の範囲のグループであり、その発生頻度は「１０１」となっている。グループＧ２は、パルスの幅が５５０μｓ以上且つ６００μｓ未満の範囲のグループであり、その発生頻度は「１０５９」となっている。
【００４５】
グループＧ３は、パルスの幅が６００μｓ以上且つ６５０μｓ未満の範囲のグループであり、その発生頻度は「３２」となっている。グループＧ４は、パルスの幅が６５０μｓ以上且つ７００μｓ未満の範囲のグループであり、その発生頻度は「２０４５」となっている。グループＧ５は、パルスの幅が７００μｓ以上且つ７５０μｓ未満の範囲のグループであり、その発生頻度は「１４」となっている。グループＧ６は、パルスの幅が７５０μｓ以上且つ８００μｓ未満の範囲のグループであり、その発生頻度は「４９８１」となっている。
【００４６】
グループＧ７は、パルスの幅が８００μｓ以上且つ８５０μｓ未満の範囲のグループであり、その発生頻度は「３０２」となっている。グループＧ８は、パルスの幅が８５０μｓ以上且つ９００μｓ未満の範囲のグループであり、その発生頻度は「２０４０」となっている。グループＧ９は、パルスの幅が９００μｓ以上且つ９５０μｓ未満の範囲のグループであり、その発生頻度は「１０３９４」となっている。グループＧ１０は、パルスの幅が９５０μｓ以上且つ１０００μｓ未満の範囲のグループであり、その発生頻度は「０」となっている。
【００４７】
上述した統計データは、接点入力信号Ｓｉ１〜Ｓｉ４毎に、それぞれ作成されるようになっている。パルス幅設定部９は、統計データ作成部８により作成された各統計データに基づいて、対応する診断信号Ｓｄ１〜Ｓｄ４に含まれるパルスの幅である診断パルス幅をそれぞれ設定する。具体的には、パルス幅設定部９は、次のように、統計データにおけるパルスの検出回数に基づいて診断パルス幅を設定する。
【００４８】
すなわち、パルス幅設定部９は、測定されたパルス幅のグループＧ１〜Ｇ１０のうち、発生頻度が少ないものから順に、設定する診断パルス幅の候補を選出する。このような候補を表す候補データは、例えば図３に示すようなものとなる。この場合、第１候補は、最も発生頻度の少ないグループＧ１０のパルス幅の範囲内の値となる。この場合、クロックドリフトなどによる誤差を考慮し、該当するグループのパルス幅の範囲の中心値を、診断パルス幅の候補とするようにしている。したがって、第１候補は、グループＧ１０のパルス幅の範囲の中心値である「９７５μｓ」となる。
【００４９】
また、第２候補は、２番目に発生頻度の少ないグループＧ５のパルス幅の範囲内の値、具体的にはグループＧ５のパルス幅の範囲の中心値である「７２５μｓ」となる。そして、第３候補は、３番目に発生頻度の少ないグループＧ３のパルス幅の範囲内の値、具体的にはグループＧ３のパルス幅の範囲の中心値である「６２５μｓ」となる。
【００５０】
なお、パルス幅設定部９は、統計データ作成部８により作成された統計データにおいて発生頻度が同じグループが複数存在する場合、パルス幅が短いグループを優先して診断パルス幅の候補として選出するようになっている。このようにすれば、パルス幅測定部７が前述したカウンタを用いた構成である場合、パルス幅を測定するための時間を短く抑えることができる。
【００５１】
上記構成によれば、外来ノイズなどの影響により接点入力信号Ｓｉ１〜Ｓｉ４に現れるパルスの幅は、極めて高い確率で、診断パルス幅とは異なる幅となる。そこで、診断部６は、接点入力信号Ｓｉ１〜Ｓｉ４に含まれるパルスのうち、パルス幅設定部９により設定された診断パルス幅とは異なる幅を有するパルスを除外して入力回路３の故障を診断するようになっている。
【００５２】
次に、本実施形態の作用について説明する。
ＰＬＣ１が実際に使用される現場に設置されるとともに接続対象となる外部機器が接続された状態で起動されると、マイコン４が有する診断部６（パルス幅測定部７、統計データ作成部８およびパルス幅設定部９）により図４に示すような内容の処理が実行される。
【００５３】
まず、ステップＳ１００では、接点入力信号Ｓｉ１〜Ｓｉ４に含まれる意図しないパルスの検出と、その検出されたパルスの幅の測定が行われる。続いて、ステップＳ２００では、検出されたパルスの検出回数と測定されたパルスの幅との関連付けが行われ、それに基づいて統計データの作成が進められる。その後、ステップＳ３００では、統計データの作成が完了したか否かが判断される。
【００５４】
統計データの作成が完了していない場合、ステップＳ３００で「ＮＯ」となり、ステップＳ１００に戻り、意図しないパルスの検出と、その検出されたパルスの幅の測定とが再び行われる。一方、統計データの作成が完了している場合、ステップＳ３００で「ＹＥＳ」となり、ステップＳ４００に進む。ステップＳ４００では、統計データに基づいて診断パルス幅が設定または更新される。なお、本実施形態では、最初にステップＳ４００が実行されるまでの期間、診断パルス幅は、所定の初期値に設定されている。
【００５５】
ステップＳ４００の実行後はステップＳ５００に進み、更新タイミングが到来したか否かが判断される。更新タイミングは、前回の統計データが作成された時点から所定の更新周期が経過した時点に設定されている。なお、本実施形態では、更新周期は例えば１時間に設定されている。更新タイミングが到来すると、ステップＳ５００で「ＹＥＳ」となり、ステップＳ１００に戻る。このように、本実施形態では、統計データの作成および診断パルス幅の設定は、ＰＬＣ１の起動時に行われた後、更新周期毎に行われるようになっている。
【００５６】
以上説明したように、本実施形態によれば次のような効果が得られる。
本実施形態のＰＬＣ１は、入力回路３の故障を診断する診断部６を備えており、その診断部６は、外来ノイズによる誤診断の発生を抑制するために次のような機能を有している。すなわち、診断部６は、接点入力信号Ｓｉ１〜Ｓｉ４に含まれる外来ノイズの影響によるパルスを検出するとともに検出されたパルスの幅を測定するパルス幅測定部７と、測定期間において検出されたパルスの検出回数と測定されたパルスの幅とを関連付けた統計データを作成する統計データ作成部８と、統計データに基づいて診断信号Ｓｄ１〜Ｓｄ４に含まれるパルスの幅である診断パルス幅を設定するパルス幅設定部９と、を備えている。
【００５７】
この場合、統計データは、外来ノイズの影響による意図しないパルスの幅と、その幅のパルスの発生頻度が記憶されたデータとなっている。したがって、パルス幅設定部９は、その統計データに基づいて、外来ノイズの影響による意図しないパルスの幅と重複しない、または重複する頻度の少ないと考えられるパルス幅を、診断パルス幅に設定することができる。
【００５８】
上記構成によれば、外来ノイズなどの影響により接点入力信号Ｓｉ１〜Ｓｉ４に現れるパルスの幅は、高い確率で診断パルス幅とは異なる幅となる。そこで、診断部６は、接点入力信号Ｓｉ１〜Ｓｉ４に含まれるパルスのうち、パルス幅設定部９により設定された診断パルス幅とは異なる幅のパルスを除外して入力回路３の故障を診断する。このようにすれば、診断の回数を少なく抑えたとしても、外来ノイズなどの影響による誤診断の発生を低く抑えることができる。したがって、本実施形態によれば、入力回路３の故障診断について、故障検出の応答性を良好に維持しつつ、誤診断の発生を防止することができるという優れた効果が得られる。
【００５９】
診断信号Ｓｄ１〜Ｓｄ４に重畳する可能性がある外来ノイズなどのノイズの発生状況は、ＰＬＣ１が設置される環境、ＰＬＣ１に接続される外部機器の有無、それら外部機器の種類などによって変化する。そこで、本実施形態のＰＬＣ１では、統計データ作成部８による統計データの作成およびパルス幅設定部９による診断パルス幅の設定は、ＰＬＣ１が設置された後の起動時に行われるようになっている。このようにすれば、実際の設置環境におけるパルスの検出回数およびパルス幅の測定結果から作成された統計データに基づいて診断パルス幅が設定されるため、実際に生じる可能性が高い外来ノイズなどの影響を受け難い診断を実現することができる。
【００６０】
ただし、ノイズの発生状況は、ＰＬＣ１の起動時における状況と同一の状況がそのまま維持されるわけではなく、例えば外部機器の動作状況などに応じて変化する可能性がある。そのため、診断パルス幅を固定の値とした場合には、次のような問題が生じる。例えば、当初はノイズの影響による意図しないパルスの幅と重複し難いパルス幅であるとして診断信号Ｓｄ１の診断パルス幅に設定されたパルス幅Ｗ１が、その後のノイズの発生状況の変化に伴い、ノイズの影響による意図しないパルスの幅と重複し易くなったとする。
【００６１】
そうすると、図５に示すように、時刻ｔ１において入力回路３に故障が発生して接点入力信号Ｓｉ１をＬレベルにすることができなくなった場合でも、以降の診断周期において、外来ノイズの影響によりパルス幅Ｗ１のパルスが現れる可能性が高く、その結果、入力回路３が故障していると診断されるまでの時間が延びてしまう。
【００６２】
そこで、本実施形態のＰＬＣ１では、統計データの作成および診断パルス幅の設定は、ＰＬＣ１の起動時に行われた後、所定の更新周期毎に行われるようになっている。このようにすれば、診断パルス幅は、更新周期毎に、その時点におけるノイズの発生状況に応じて最適なパルス幅に更新されることとなる。例えば、図６に示すように、例えば起動時に設定されたパルス幅Ｗ１が、その後のノイズの発生状況の変化に伴い、ノイズの影響による意図しないパルスの幅と重複し易くなったとしても、次の更新タイミングｔａにおいて重複し難いパルス幅Ｗ１０へと変更される。
【００６３】
その結果、図７に示すように、時刻ｔ１において入力回路３に故障が発生して接点入力信号Ｓｉ１をＬレベルにすることができなくなった場合には、次の診断周期において、外来ノイズの影響によりパルス幅Ｗ１のパルスが現れたとしても、診断パルス幅Ｗ１０のパルスが現れないことから、直ちに入力回路３が故障していると診断することができる。つまり、この場合、診断パルス幅の更新を行わない場合に比べ、入力回路３の故障診断に要する時間を短縮することができる。
【００６４】
このように、統計データの作成および診断パルス幅の設定を所定の更新周期毎に行うようにすれば、外部機器の動作状況などに応じて変化する外来ノイズなどのノイズの発生状況に応じて、診断パルス幅が最適な値へと更新されるため、外来ノイズなどの影響を一層受け難い診断を実現することができる。
【００６５】
パルス幅設定部９は、統計データにおけるパルスの検出回数に基づいて診断パルス幅を設定する。統計データにおけるパルスの検出回数は、外来ノイズの発生状況に変化が無い、または変化が小さいと仮定すれば、そのパルスの幅と同様の幅を持つ意図しないパルスが発生する頻度に比例すると考えられる。したがって、上述したように診断パルス幅を設定すれば、外来ノイズなどの影響による意図しないパルスの幅と重複しない、または重複する頻度の少ないパルス幅を、診断パルス幅に設定することができ、その結果、外来ノイズなどの影響による誤診断の発生を一層抑制することができる。
【００６６】
（第２実施形態）
以下、第２実施形態について図８〜図１０を参照して説明する。
図８に示すように、本実施形態のＰＬＣ２１が備えるマイコン２２は、第１実施形態のマイコン４に対し、診断部６に代えて診断部２３を備えている点が異なる。診断部２３は、診断部６が備える各構成に加え、設定された診断パルス幅と同じパルス幅を有するノイズに起因するパルスが検出されると診断パルス幅を変更するパルス幅変更部２４を備えている。
【００６７】
この場合、診断信号出力部５は、診断周期毎に診断パルス幅を持つ１つのパルスが含まれた診断信号Ｓｄ１〜Ｓｄ４を出力するようになっている。したがって、診断周期内の接点入力信号Ｓｉ１〜Ｓｉ４に診断パルス幅を持つパルスが複数含まれている場合、設定された診断パルス幅と同じパルス幅を有するノイズに起因するパルスが重畳していると考えられる。そこで、パルス幅変更部２４は、同一の診断周期内の接点入力信号Ｓｉ１〜Ｓｉ４に診断パルス幅を持つパルスが複数含まれていることを条件として診断信号Ｓｄ１〜Ｓｄ４の診断パルス幅を変更するようになっている。
【００６８】
パルス幅変更部２４は、統計データ作成部８により作成された各統計データに基づいて、対応する診断信号Ｓｄ１〜Ｓｄ４の診断パルス幅をそれぞれ変更する。具体的には、パルス幅変更部２４は、次のように、統計データにおけるパルスの検出回数に基づいて診断パルス幅を変更する。
【００６９】
すなわち、パルス幅変更部２４は、例えば図２に示した統計データにおけるパルス幅のグループＧ１〜Ｇ１０のうち、発生頻度が少ないものから順に、変更する診断パルス幅の候補を選出する。ただし、パルス幅変更部２４は、この候補から、現在設定されている診断パルス幅に対応するグループは除外する。この場合の候補データは、例えば図９に示すようなものとなる。
【００７０】
この場合、第１候補は、２番目に発生頻度の少ないグループＧ５のパルス幅の範囲の中心値である「７２５μｓ」となる。また、第２候補は、３番目に発生頻度の少ないグループＧ３のパルス幅の範囲の中心値である「６２５μｓ」となる。そして、第３候補は、４番目に発生頻度の少ないグループＧ１のパルス幅の範囲の中心値である「５２５μｓ」となる。
【００７１】
次に、本実施形態の作用について説明する。
図１０に示すように、本実施形態の診断部２３が実行する処理は、第１実施形態の診断部６が実行する処理に対し、ステップＳ６００およびＳ７００が追加されている。ステップＳ６００は、診断パルス幅が設定（更新）された後に未だ更新タイミングが到来していない場合、つまりステップＳ５００で「ＮＯ」の場合に実行される。
【００７２】
ステップＳ６００では、同一の診断周期内の接点入力信号Ｓｉ１〜Ｓｉ４に診断パルス幅を持つパルスが複数含まれているか否かに基づいて、診断パルス幅の変更の要否が判断される。同一の診断周期内の接点入力信号Ｓｉ１〜Ｓｉ４に診断パルス幅を持つパルスが複数含まれている場合、診断パルス幅の変更が必要であることから、ステップＳ６００で「ＹＥＳ」となり、ステップＳ７００に進む。
【００７３】
ステップＳ７００では、統計データに基づいて診断パルス幅が変更される。そして、ステップＳ７００の実行後は、ステップＳ５００に戻る。一方、同一の診断周期内の接点入力信号Ｓｉ１〜Ｓｉ４に診断パルス幅を持つパルスが複数含まれていない場合、診断パルス幅の変更が不要であることから、ステップＳ６００で「ＮＯ」となり、ステップＳ５００に戻る。
【００７４】
前述したように、ノイズの発生状況は、外部機器の動作状態などの周囲環境に応じて変化する。そのため、外部機器の動作状態などが比較的短い周期で変化するような用途にＰＬＣ２１が用いられる場合には、ノイズの発生状況の変化の周期も短くなる可能性がある。更新周期毎に統計データの作成および診断パルス幅の設定を行えば、このような変化に対応することができると考えられるが、更新周期がノイズの発生状況の変化の周期よりも長くなる場合には、対応が不十分になる可能性がある。なお、想定されるノイズの発生状況の変化の周期よりも更新周期を十分に短く設定すれば、このような問題の発生が解消されると考えられるが、更新周期をむやみに短くすると、統計データの作成回数が増え、その作成に係るマイコン２２の処理負荷の増大などの問題が生じる。
【００７５】
そこで、本実施形態のＰＬＣ２１では、診断部２３は、同一の診断周期内の接点入力信号Ｓｉ１〜Ｓｉ４に診断パルス幅を持つパルスが複数含まれていることを条件として診断信号Ｓｄ１〜Ｓｄ４の診断パルス幅を変更するパルス幅変更部２４を備えている。つまり、本実施形態では、ノイズの発生状況の変化により、当初設定された診断パルス幅と同様のパルス幅を持つ意図しないパルスが発生するようになると、診断パルス幅が変更されるようになっている。
【００７６】
このように、上記構成では、ノイズの発生状況の変化に応じて、診断パルス幅が動的に変更されるようになっている。このようにすれば、周囲環境が時々刻々と変化するような場合でも、その変化に合わせて、診断パルス幅を、ノイズによる誤診断が生じ難いようなパルス幅へと変更することが可能となる。したがって、上記構成によれば、周囲環境が比較的短い周期で変化する用途にＰＬＣ２１が用いられる場合でも、外来ノイズなどの影響による誤診断の発生を抑制することができる。つまり、本実施形態によれば、環境変化に対するノイズ耐性が向上するという効果が得られる。
【００７７】
パルス幅変更部２４は、統計データにおけるパルスの検出回数に基づいて診断パルス幅を変更する。前述したように、統計データにおけるパルスの検出回数は、外来ノイズの発生状況に変化が無い、または変化が小さいと仮定すれば、そのパルスの幅と同様の幅を持つ意図しないパルスが発生する頻度に比例すると考えられる。したがって、上述したように診断パルス幅を変更すれば、外来ノイズなどの影響による意図しないパルスの幅と重複しない、または重複する頻度の少ないパルス幅を、診断パルス幅に設定することができ、その結果、外来ノイズなどの影響による誤診断の発生を一層抑制することができる。
【００７８】
（その他の実施形態）
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で任意に変形、組み合わせ、あるいは拡張することができる。
上記各実施形態で示した数値などは例示であり、それに限定されるものではない。
【００７９】
統計データの作成および診断パルス幅の設定を実行するタイミングは、上記各実施形態において示したタイミングに限らずともよく、任意のタイミングで実行してもよい。
上記各実施形態では、統計データ作成部８としての機能をＰＬＣ１、２１の内部に設けられたマイコン４、２２により実現した構成を例示したが、これに限らずともよい。例えば、ＰＬＣ１、２１と通信可能な外部機器により、統計データ作成部８としての機能を実現してもよい。
【００８０】
パルス幅測定部７は、接点入力信号Ｓｉ１〜Ｓｉ４に含まれるすべてのパルスを検出するとともに、その検出されたパルスの幅を測定してもよい。この場合、統計データには、診断のために意図的に含まれるパルスおよび外来ノイズなどの影響による意図しないパルスの双方が含まれる。しかし、診断のために意図的に含まれるパルスが測定期間中に何回出力されているか、およびそのパルスの幅は既知である。そのため、接点入力信号Ｓｉ１〜Ｓｉ４に含まれるパルスから、診断のために意図的に含まれたパルスを識別することは容易である。したがって、この場合、作成された統計データから診断のために意図的に含まれるパルスに関するデータを除外すればよい。あるいは、診断のために意図的に含まれるパルスに関するデータを除外して統計データを作成すればよい。
【００８１】
統計データ作成部８は、グループ毎のパルス幅の範囲を変更することができるようにしてもよい。外来ノイズの特徴として、同程度のパルス幅のノイズが群発することが挙げられる。そのため、発生頻度が高いパルス幅の群と群との間に、発生頻度が極めて低いパルス幅の群が存在する可能性がある。上述したように、グループ毎のパルス幅の範囲を変更することで、このような発生頻度が低いパルス幅の群を発見することができる可能性がある。このようにすれば、診断パルス幅として、外来ノイズとして発生する頻度が少ないパルス幅に設定することができる。
【００８２】
上述したグループ毎のパルス幅の範囲は、例えば各グループのパルス幅の範囲を所定値だけシフトするようにすればよい。例えば、上記各実施形態では、グループＧ１は、５００μｓ〜５５０μｓの範囲であったが、これを「＋２５μｓ」だけシフトし、５２５μ〜５７５μｓの範囲に変更する、といった具合である。
【００８３】
また、統計データ作成部８は、グループの少なくとも１つの検出回数がゼロとなるようにグループを設定するようにしてもよい。前述した通り、外来ノイズの特徴として、発生頻度が高いパルス幅の群と群との間に、発生頻度が極めて低いパルス幅の群が存在する可能性がある。上記構成によれば、このような発生頻度が極めて低いパルス幅の群が上記グループの１つとして設定されることになり、その結果、診断パルス幅として、外来ノイズとして発生する頻度が少ないパルス幅に設定することができる。
【符号の説明】
【００８４】
１、２１…ＰＬＣ、３…入力回路、５…診断信号出力部、６、２３…診断部、７…パルス幅測定部、８…統計データ作成部、９…パルス幅設定部、２４…パルス幅変更部、Ｃ１〜Ｃ４…接点。
【図１】
2019057239.tif 000003
【図２】
2019057239.tif 000004
【図３】
2019057239.tif 000005
【図４】
2019057239.tif 000006
【図５】
2019057239.tif 000007
【図６】
2019057239.tif 000008
【図７】
2019057239.tif 000009
【図８】
2019057239.tif 000010
【図９】
2019057239.tif 000011
【図１０】
2019057239.tif 000012