(57)【要約】      （修正有）【課題】プログラマブルコントローラのアナログ入力において、工場内で発生しやすいパルス状のノイズをほぼ完全に削除する方法を提供する。【解決手段】アナログ入力装置３を備えるプログラマブルコントローラであって、アナログ入力装置はパルスカットフィルタを備え、パルスカットフィルタは、アナログ入力のＡＤ変換値の変化量を検出する変化量検出部と、検出した変化量に基づいてノイズを検出するノイズ検出部と、ノイズを検出した場合に、ノイズとされた値をその前置で置き換える置換部と、置換した値に基づいて指定回数分の移動平均を算出する移動平均算出部と、算出した移動平均値をノイズを削除した値として出力する出力部とを備える。【選択図】図１
2017004172.tif 000002
【特許請求の範囲】
【請求項１】
アナログ入力装置を備えるプログラマブルコントローラであって、
前記アナログ入力装置はパルスカットフィルタを備え、
前記パルスカットフィルタは、
アナログ入力のＡＤ変換値の変化量を検出する変化量検出部と、
検出した変化量に基づいてノイズを検出するノイズ検出部と、
ノイズを検出した場合に、ノイズとされた値をその前置で置き換える置換部と、
置換した値に基づいて指定回数分の移動平均を算出する移動平均算出部と、
算出した移動平均値をノイズを削除した値として出力する出力部と
を備えることを特徴とするプログラマブルコントローラ。
【請求項２】
請求項１に記載のプログラマブルコントローラにおいて、
前記アナログ入力装置は、更に、ハードウェアフィルタと、ＡＤ変換部を備えることを特徴とするプログラマブルコントローラ。
【請求項３】
請求項１に記載のプログラマブルコントローラにおいて、
前記変化量検出部は、過去設定回数分のＡＤ変換値に基づいて変化量を検出し、
前記ノイズ検出部は、検出した変化量と予め設定した削除レベルとを比較してノイズを検出することを特徴とするプログラマブルコントローラ。
【請求項４】
請求項３に記載のプログラマブルコントローラにおいて、
前記変化量検出部は、今回値と１回前値との差分、１回前値と２回前値との差分、今回値と２回前値との差分を検出するものであり、
前記ノイズ検出部は、今回値と１回前値との差分が予め設定した削除レベルより大きく、１回前値と２回前値との差分が予め設定した削除レベルより大きく、今回値と２回前値との差分が予め設定した削除レベルより小さい場合にノイズとして検出することを特徴とするプログラマブルコントローラ。
【請求項５】
請求項３に記載のプログラマブルコントローラにおいて、更に、
前記削除レベルの設定を行う入力装置を備えることを特徴とするプログラマブルコントローラ。
【請求項６】
請求項１に記載のプログラマブルコントローラにおいて、更に、
前記置換部が置換を行った場合に、ノイズ履歴として格納するノイズ履歴格納部と、
格納したノイズ履歴を参照する参照部を備えることを特徴とするプログラマブルコントローラ。
【請求項７】
請求項６に記載のプログラマブルコントローラにおいて、
プログラマブルコントローラにコンピュータを接続し、
前記コンピュータにより、前記ノイズ履歴格納部に格納したノイズ履歴を参照し、削除レベルの設定を行うことを特徴とするプログラマブルコントローラ。
【請求項８】
アナログ信号を所定の時間毎に取得し、取得されたアナログ信号値を処理するプログラマブルコントローラであって、
前記取得されたアナログ信号値と、前記取得されたアナログ信号値の１サイクル前に取得されたアナログ信号値との差分を第１の値とし、
前記１サイクル前に取得されたアナログ信号値と、前記取得されたアナログ信号値の２サイクル前に取得されたアナログ信号値との差分を第２の値とし、
前記取得されたアナログ信号値と、前記２サイクル前に取得されたアナログ信号値の差分を第３の値とし、
前記第１の値と、前記第２の値とが予め設定された値よりも大きく、前記第３の値が予め設定された値より小さい場合には、前記１サイクル前に取得されたアナログ信号値以前に取得されたアナログ信号値を用いて平均値を算出し、算出された前記平均値を前記取得されたアナログ値として設定すること
を特徴とするプログラマブルコントローラ。
【請求項９】
プログラマブルコントローラのアナログ入力のノイズ削除方法であって、
アナログ入力のＡＤ変換値の変化量を検出するステップと、
検出した変化量に基づいてノイズを検出するステップと、
ノイズを検出した場合に、ノイズとされた値をその前置で置き換えるステップと、
置換した値に基づいて指定回数分の移動平均を算出するステップと、
算出した移動平均値をノイズを削除した値として出力するステップと
を備えるプログラマブルコントローラのノイズ削除方法。
【請求項１０】
請求項９に記載のプログラマブルコントローラのノイズ削除方法において、
前記変化量を検出するステップは、過去設定回数分のＡＤ変換値に基づいて変化量を検出し、
前記ノイズを検出するステップは、検出した変化量と予め設定した削除レベルとを比較してノイズを検出することを特徴とするプログラマブルコントローラのノイズ削除方法。
【請求項１１】
請求項１０に記載のプログラマブルコントローラのノイズ削除方法において、
前記変化量を検出するステップは、今回値と１回前値との差分、１回前値と２回前値との差分、今回値と２回前値との差分を検出するものであり、
前記ノイズを検出するステップは、今回値と１回前値との差分が予め設定した削除レベルより大きく、１回前値と２回前値との差分が予め設定した削除レベルより大きく、今回値と２回前値との差分が予め設定した削除レベルより小さい場合にノイズとして検出することを特徴とするプログラマブルコントローラのノイズ削除方法。
【請求項１２】
請求項９に記載のプログラマブルコントローラのノイズ削除方法において、更に、
前記ノイズとされた値をその前置で置き換えるステップを行った場合に、ノイズ履歴として格納するステップと、
格納したノイズ履歴を参照するステップを備えることを特徴とするプログラマブルコントローラのノイズ削除方法。
【請求項１３】
請求項１２に記載のプログラマブルコントローラのノイズ削除方法において、更に、
前記参照したノイズ履歴に基づいて、削除レベルの設定を行うステップを備えることを特徴とするプログラマブルコントローラのノイズ削除方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラのアナログ入力において、そのアナログ入力に混入する環境によるノイズを効果的に削除する技術に関する。
【背景技術】
【０００２】
プログラマブルコントローラは、プログラムを用いて機器を制御するものである。
プログラマブルコントローラの設置環境は工場内など非常にノイズの生じやすいところである場合が多い。そのノイズはプログラマブルコントローラにアナログ信号として入力される電圧または電流信号にも影響をおよぼし、変換された入力データに意図しない値として現れ、誤動作の原因となる。従来の対策としては、ハードウェア的なフィルタ回路があるが、汎用性のあるソフトウェア的な処理も多く用いられている。その代表的処理方法は平均値処理である。
【０００３】
特許文献１には、「制御対象機器から送られたアナログ入力信号を、入出力装置において雑音を除去すると共に、アナログ／デジタル変換して、プログラマブルコントローラ本体に転送するプログラマブルコントローラの入出力装置の入出力装置の雑音除去方法において、アナログ／デジタル変換後のデジタル入力信号を複数回サンプリングし、当該サンプリングされたデジタル入力信号を第１演算器により平均することで雑音の高周波成分を除去し、当該処理後のデジタル入力信号をメモリに記憶しておき、現時点の当該処理後のデジタル入力信号と前記メモリ上の過去のデジタル入力信号とを第２演算器により移動平均することにより雑音の低周波成分を除去することを特徴とするプログラマブルコントローラの入出力装置の雑音除去方法。」（請求項１）が開示されている。
【０００４】
しかしパルス性のノイズの場合、この方法では振幅を小さくすることはできるが、完全に削除することはできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−１１０６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
プログラマブルコントローラに入力されるアナログ信号にノイズが混入すると、その入力データに意図しない値として現れる。その値はその後の処理に悪影響を与え、誤動作の原因となる。ノイズを低減させる一般的な対策としてはハードウェア手法としてハイカットフィルタ回路、ソフトウェア手法としては特許文献１に示される平均値処理がある。
【０００７】
しかし、この処方では正常な入力波形のひずみが大きくなったり、ノイズが取りきれず影響が残ることがある。
【０００８】
本発明は、プログラマブルコントローラのアナログ入力において、工場内で発生しやすいパルス状のノイズをほぼ完全に削除する方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、本発明のプログラマブルコントローラの一例を挙げるならば、アナログ入力装置を備えるプログラマブルコントローラであって、前記アナログ入力装置はパルスカットフィルタを備え、前記パルスカットフィルタは、アナログ入力のＡＤ変換値の変化量を検出する変化量検出部と、検出した変化量に基づいてノイズを検出するノイズ検出部と、ノイズを検出した場合に、ノイズとされた値をその前置で置き換える置換部と、置換した値に基づいて指定回数分の移動平均を算出する移動平均算出部と、算出した移動平均値をノイズを削除した値として出力する出力部とを備えるものである。
【００１０】
また、本発明のプログラマブルコントローラの他の一例を挙げるならば、アナログ信号を所定の時間毎に取得し、取得されたアナログ信号値を処理するプログラマブルコントローラであって、前記取得されたアナログ信号値と、前記取得されたアナログ信号値の１サイクル前に取得されたアナログ信号値との差分を第１の値とし、前記１サイクル前に取得されたアナログ信号値と、前記取得されたアナログ信号値の２サイクル前に取得されたアナログ信号値との差分を第２の値とし、前記取得されたアナログ信号値と、前記２サイクル前に取得されたアナログ信号値の差分を第３の値とし、前記第１の値と、前記第２の値とが予め設定された値よりも大きく、前記第３の値が予め設定された値より小さい場合には、前記１サイクル前に取得されたアナログ信号値以前に取得されたアナログ信号値を用いて平均値を算出し、算出された前記平均値を前記取得されたアナログ値として設定するものである。
【００１１】
本発明のプログラマブルコントローラのノイズ削除方法の一例を挙げるならば、プログラマブルコントローラのアナログ入力のノイズ削除方法であって、アナログ入力のＡＤ変換値の変化量を検出するステップと、検出した変化量に基づいてノイズを検出するステップと、ノイズを検出した場合に、ノイズとされた値をその前置で置き換えるステップと、置換した値に基づいて指定回数分の移動平均を算出するステップと、算出した移動平均値をノイズを削除した値として出力するステップとを備えるものである。
【発明の効果】
【００１２】
本発明によれば、プログラマブルコントローラにおいて、アナログ信号のノイズ削除レベルを設定する機能により、アナログ信号のノイズを自動的に感知し、削除アルゴリズムによりアナログ信号に混入されたパルス状のノイズを削除したアナログ値を得ることができる。
【００１３】
また、削除したノイズの履歴から、プログラマブルコントローラが置かれている環境の変化を確認することができ、簡易的なノイズ測定も行うことができる。これにより、最適なノイズ削除レベルの設定も容易に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】プログラマブルコントローラ装置の構成の一例を示す図である。
【図２】アナログ入力装置の一例を示す図である。
【図３】実施例１の、ノイズ削除アルゴリズムを示したフローチャートの一例を示す図である。
【図４】実施例１の、パルスカットフィルタのブロック構成の一例を示す図である。
【図５】ノイズ削除の一例を示す図である。
【図６】実施例２の、ノイズ削除の設定とノイズ履歴の参照の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例を図面を用いて説明する。
【実施例１】
【００１６】
本実施例では、アナログ入力に混入するノイズを効果的に削除することができるプログラマブルコントローラの一例を説明する。
【００１７】
図１は、本実施例のプログラマブルコントローラ装置の構成図の一例である。
本実施例のプログラマブルコントローラは、演算を行うＣＰＵ１、ユーザインターフェース部分となる設定・状態入出力装置２、アナログ値の入力を行うアナログ入力装置３、デジタル信号の入出力を行うデジタルＩＯ入出力装置４から構成される。ＣＰＵは、マイクロプロセッサにより、プログラムのコントロールをする構成１Ａ、ノイズ判定、ノイズ削除、削除記憶の演算を行う構成１Ｂ、および記憶部１Ｃから構成されている。
【００１８】
図２は、本実施例のアナログ入力装置３の一例を示す図である。アナログ入力装置３は、ハードウェアフィルタ２２、ＡＤ変換部２３、パルスカットフィルタ２４から構成されている。ハードウェアフィルタ２２は、例えばＲＣフィルタ、ＲＬフィルタなどで構成される。ＡＤ変換部２３は、入力したアナログ信号をサンプリングしてデジタル値に変換する。パルスカットフィルタ２４については、後で詳述する。
【００１９】
アナログ入力装置３の動作を説明する。パルス性ノイズを含んだ信号２１は、ハードウェアフィルタ２２に入力され、高周波ノイズなどが除去される。そして、ＡＤ変換部２３にてデジタル信号にＡＤ変換される。ＡＤ変換されたデータは、パルスカットフィルタ２４に入力され、このパルスカットフィルタでパルス性ノイズがほぼ完全に除去され、信号２５として出力される。
【００２０】
図３は、図２のパルスカットフィルタ２４に実装されるノイズ削除アルゴリズムを示したフローチャートの一例である。
ステップ３０１において、毎入力ごとに、今回値−１回前値を計算して０１変化量とする。また、１回前値−２回前値を計算し、１２変化量とする。さらに、今回値−２回前値を計算し、０２変化量とする。
次に、ステップ３０２〜３０４において、ユーザが設定できるパルスの削除レベルと０１変化量、１２変化量および０２変化量との比較を行う。
そして、それぞれ、０１変化量＞削除レベル、１２変化量＞削除レベル、０２変化量＜削除レベルが全て成立する場合は、ステップ３０５で、１回前値を２回前値に置き換える。各変化量と削除レベルとの比較がどれか一つでも不成立の場合は、１回前値の２回前値への置き換えは行わない。ここで、削除レベルは、システム上、上限と考えられる１サンプリング毎の最大変化量とすれば良い。削除レベルの設定については、実施例２で述べる。
そして、ステップ３０６で、１回前置から指定回数分の移動平均を求め、それを出力する。
なお、ステップ３０７では、ステップ３０５で、１回前値を２回前値で置き換える毎に、その履歴を図１の記憶部１Ｃに格納する。
【００２１】
図４に、図３のノイズ削除アルゴリズムを実行するパルスカットフィルタ２４のブロック構成図を示す。
変化量検出部４１は、ステップ３０１に対応するもので、今回値や前回値から０１変化量等を検出する。
ノイズ検出部４２は、ステップ３０２〜３０４に対応するもので、０１変化量等と削除レベルとを比較し、入力したアナログ値がノイズであるかを検出する。
置換部４３は、ステップ３０５に対応するもので、ノイズ検出部４２でノイズと検出された場合には、ノイズと検出された値を前置で置き換える。
移動平均算出部４４は、ステップ３０６に対応するもので、置き換えた値に基づいて指定回数分の移動平均を算出する。
出力部４５は、算出した移動平均を出力する。
ノイズ履歴格納部４６は、ステップ３０７に対応するもので、置換部４３で１回前値を２回前値で置き換える毎に、その履歴を図１の記憶部１Ｃに格納する。
なお、変化量検出部４１、ノイズ検出部４２、置換部４３、ノイズ履歴格納部４６、移動平均算出部４４、および出力部４５は、ＣＰＵで動作するプログラムで構成することができる。
【００２２】
図５に、図３に示されるノイズ除去アルゴリズムを用いた、ノイズ除去の例を示す。
図５（ａ）は、ほぼ一定の信号値が連続する場合に、時点０で１つのパルス性ノイズが混入した場合を示す。図において、符号(1)はノイズを含む入力を、符号(2)は３回分の移動平均値を、符号(3)はパルス性ノイズを除去した出力を表す。
図５（ｂ）は、信号値が漸増する場合に、時点０で１つのパルス性ノイズが混入した場合を示す。
図５（ｃ）は、ノイズが混入した場合ではなく、信号の値が変化した場合、例えば０→１→０と変化した場合を示す。
【００２３】
本実施例では、今回値から２回前置までの３つの値を用いてノイズを検出したが、４つ以上の値を用いても良い。その場合は、急激に値が上下した場合にパルス性ノイズと見なすように構成すれば良い。
【００２４】
本実施例によれば、プログラマブルコントローラにおいて、アナログ信号のノイズを自動的に感知し、削除アルゴリズムによりアナログ信号に混入されたパルス状のノイズをほぼ完全に削除することができる。
【実施例２】
【００２５】
実施例２は、実施例１のプログラマブルコントローラにおいて、ノイズ履歴を参照する構成、および、参照したノイズ履歴に基づいてノイズ削除の設定を行う構成を備えるものである。
【００２６】
図６に、本実施例のノイズ履歴の参照およびノイズ削除の設定を行う構成を示す。図３のフローチャートにおいて、ステップ３０７で、プログラマブルコントローラ６１は、ステップ３０５で、１回前値を２回前値で置き換える毎に、その履歴をノイズ履歴格納エリア６１Ａに格納する。また、図４のブロック図において、ノイズ履歴格納部４６は、置換部４３で１回前値を２回前値で置き換える毎に、その履歴をノイズ履歴格納エリア６１Ａに格納する。
【００２７】
このように、プログラマブルコントローラ６１は出現したノイズの履歴をノイズ履歴格納エリア６１Ａに格納していて、ユーザは、図６に示すように、プログラマブルコントローラ６１にコンピュータ６２を接続することにより、ノイズ履歴格納エリア６１Ａ内のノイズ履歴を参照することができる。そして、ユーザは、ノイズ履歴を参照して、環境に応じたノイズ削除レベルの設定を行うことができる。図に示すように、ノイズ削除レベルの設定は、手動または自動で設定を行うことが出来る。設定値は、ノイズ削除設定格納エリア６１Ｂに転送され、プログラマブルコントローラ６１は、設定によりノイズ削除を行う。また、ノイズ履歴を参照することによる簡易的なノイズ測定を行うこともできる。
【００２８】
本実施例では、プログラマブルコントローラ６１にコンピュータ６２を接続してノイズ履歴の参照およびノイズ削除の設定を行ったが、プログラマブルコントローラ６１に表示装置等の参照部を設けて、ノイズ履歴格納エリア６１Ａ内のノイズ履歴を参照するようにしてもよい。その場合は、図１に示される設定・状態入出力装置２から手動でノイズ削除の設定を行うことができる。
【００２９】
本実施例によれば、削除したノイズの履歴から、プログラマブルコントローラが置かれている環境の変化を確認することができ、簡易的なノイズ測定も行うことができる。これにより、最適なノイズ削除レベルの設定も容易に行うことができる。
【符号の説明】
【００３０】
１…ＣＰＵ
１Ａ…マイクロプロセッサにより、ラダープログラムのコントロールをする構成
１Ｂ…ノイズ判定、ノイズ削除、削除記憶の演算を行う構成
１Ｃ…記憶部
２…設定・状態入出力装置
３…アナログ入力装置
４…デジタルＩＯ入出力装置
２１…パルス性ノイズを含んだ信号
２２…ハードウェアフィルタ
２３…ＡＤ変換部
２４…パルスカットフィルタ
２５…パルス性ノイズが除去された信号
４１…変化量検出部
４２…ノイズ検出部
４３…置換部
４４…移動平均算出部
４５…出力部
４６…ノイズ履歴格納部
６１…プログラマブルコントローラ
６１Ａ…ノイズ履歴格納エリア
６１Ｂ…ノイズ削除設定格納エリア
６２…コンピュータ
【図１】
2017004172.tif 000003
【図２】
2017004172.tif 000004
【図３】
2017004172.tif 000005
【図４】
2017004172.tif 000006
【図５】
2017004172.tif 000007
【図６】
2017004172.tif 000008