(57)【要約】【課題】  移動平均回数変更時のデッドタイムを抑制し、移動平均回数変更前後の移動平均値のブレの小さい安価なアナログ入力装置を提供すること。【解決手段】  一定のサンプリング周期で入力したアナログ信号をデジタルデータに変換し、Ａ／Ｄ変換値として出力するＡＤ変換手段と、Ａ／Ｄ変換値を保存する記憶手段と、設定された移動平均回数で記憶手段に保存されているＡ／Ｄ変換値の移動平均処理を実行して移動平均値を算出する演算処理手段と、を有するアナログ入力装置において、前記演算処理手段は、少なくとも２つの異なる移動平均回数で移動平均値を夫々算出し、夫々算出した移動平均値の差、及び、設定された一の移動平均回数で算出した移動平均値のトレンドデータによって、前記夫々算出した移動平均値のうち一の移動平均値を選択して出力する。【選択図】      図４
2014017760.tif 000002
【特許請求の範囲】
【請求項１】
一定のサンプリング周期で入力したアナログ信号をデジタルデータに変換し、Ａ／Ｄ変換値として出力するＡＤ変換手段と、
前記Ａ／Ｄ変換値を保存する記憶手段と、
設定された移動平均回数で前記記憶手段に保存されているＡ／Ｄ変換値の移動平均処理を実行して移動平均値を算出する演算処理手段と、
を有するアナログ入力装置であって、
前記演算処理手段は、少なくとも２つの異なる移動平均回数で移動平均値を夫々算出し、夫々算出した移動平均値の差、及び、設定された一の移動平均回数で算出した移動平均値のトレンドデータによって、前記夫々算出した移動平均値のうち一の移動平均値を選択して出力することを特徴とするアナログ入力装置。
【請求項２】
前記演算処理手段は、前記夫々算出した移動平均値の差が第一の閾値を超過し、または、前記トレンドデータが第二の閾値を超過した場合は、小さい方の移動平均回数で算出した移動平均値を出力し、前記夫々算出した移動平均値の差および前記トレンドデータが共に夫々の前記閾値を超過しない場合は、大きい方の移動平均回数で算出した移動平均値を出力することを特徴とする請求項１に記載のアナログ入力装置。
【請求項３】
前記演算処理手段は、前記トレンドデータに基づいて移動平均処理に用いる移動平均回数を選択することを特徴とする請求項１または２に記載のアナログ入力装置。
【請求項４】
前記演算処理手段は、前記Ａ／Ｄ変換値または出力する移動平均値が、設定された範囲内か否かを判定し、設定された範囲内の場合には、一定時間、出力すべき移動平均値の算出に用いる移動平均回数の変更を禁止することを特徴とする請求項１乃至３のいずれか一項に記載のアナログ入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ等に用いられるアナログ入力装置に関し、特に入力信号の立上り、立下り時の追従性に優れる一方で、定常時における入力値の外乱等によるブレを抑制し安定した値を計測することのできるアナログ入力装置に関する。
【背景技術】
【０００２】
従来、プログラマブルコントローラは、計測対象の機器からアナログ信号を入力してその状態を把握したり、制御対象の機器からその機器の動作状態を示すアナログ信号を入力し、この入力信号に基づいて制御信号を生成して制御対象の機器へ出力している。
【０００３】
図８は、アナログ入力モジュール（アナログ入力装置）１を含むプログラマブルコントローラ１０の概略構成図である。
【０００４】
一般にプログラマブルコントローラ１０は、アプリケーションに応じた演算処理を実行するＣＰＵモジュール３、外部機器からアナログ信号を入力するアナログ入力モジュール１、その他外部機器との間で決められたインタフェース仕様で入出力を行う入出力インタフェース（Ｉ／Ｏ）モジュール４等のモジュールを備えており、これらのモジュールがバス２を介してデータの受け渡しを行っている。
【０００５】
まず、ＣＰＵモジュール３は、システム起動時に動作パラメータ（以下、単に「パラメータ」という。）をアナログ入力モジュール１のバスインタフェースメモリ（双方向読み書き可能なメモリ）にセットする。このパラメータは、アナログ入力モジュール１の動作内容を指定するものであり、アナログ入力モジュール１は、このパラメータに基づいて入力処理したアナログ信号をＣＰＵモジュール３に渡す。
【０００６】
以下、アナログ入力モジュール１の構成と動作について説明する。
外部機器からのアナログ信号は、アナログ入力モジュール１の各チャネルに対応する入力端子１７から入力回路１６を介して取り込まれ、マルチプレクサ１５によって選択された一のアナログ信号がＡ／Ｄ変換器１４でデジタル信号に変換され演算処理を実行するＭＰＵ（演算処理手段）１２に入力される。ＭＰＵ１２は、そのＡ／Ｄ変換値をＲＡＭ（記憶手段）１３ｂに保存すると共に、ＣＰＵモジュール３により設定されたパラメータに従って、そのＡ／Ｄ変換値にフィルタ処理やスケール変換処理等の演算処理を施した後、バスインタフェースメモリ１１に書き込む。
【０００７】
ＭＰＵ１２は、マルチプレクサ１５を切り替えながら、全チャネルのアナログ信号に対して一定の入力周期（サンプリング周期）で上記の処理を実行する。
【０００８】
アナログ入力モジュール１のフィルタ処理については、従来、入力信号に重畳する外乱の影響を効果的に低減するため、移動平均処理が行われている。（例えば、特許文献１を参照）。
【０００９】
この移動平均処理を行うためにアナログ入力モジュール１は、チャネルごとにリングバッファをＲＡＭ１３ｂに形成している。このリングバッファは、ＲＡＭ１３ｂにアドレスマッピングされたアナログ入力値の保存領域であり、図９に示すように、設定され得る最大の移動平均回数分（REC_MAC）のアドレス空間を有し、サンプリングごとに順に次のアドレスの保存領域に保存されていく。そして、リングバッファに割り当てられたアドレス空間の最終アドレスまで保存されると、先頭のアドレス（datarec）に戻り順に上書きされる。
【００１０】
また、ＲＡＭ１３ｂには、チャネルごとに移動平均回数分のＡ／Ｄ変換値の合計値を格納するエリア（sum）と、この合計値を移動平均回数で除算して求めた移動平均値を格納するエリア（ave）も有している。
【００１１】
以下、ＭＰＵ１２の有する初期化機能、データ入力機能、移動平均処理機能の各処理内容について図１０に基づいて説明する。
【００１２】
なお、図１０は、一のチャネルについての処理手順であるが、チャネルを複数有するアナログ入力モジュール１については、他のチャネルについても同様の処理が実行される。
【００１３】
ＭＰＵ１２は、システムの電源投入やリセット処理等によって起動されると初期化処理を実行する。初期化処理としては、リングバッファ、合計値保存エリアsum、移動平均値保存エリアaveを０クリアする。また、リングバッファにおいて最新のＡ／Ｄ変換値を書き込むエリアを示すアドレスポインタnewrecptrに当該リングバッファの先頭アドレスの値datarecをセットする（Ｓ１０１）。
【００１４】
アナログ信号を入力処理するタイミング（サンプリング周期）が到来すると（Ｓ１０２）、Ａ／Ｄ変換器１４から出力されるＡ／Ｄ変換値を取得して、そのＡ／Ｄ変換値をアドレスポインタnewrecptrの示すアドレスへ格納する（Ｓ１０３）。
【００１５】
次に、移動平均回数が変更されたか否かを判定し（Ｓ１０４）、変更されている場合は、合計値保存エリアsum、移動平均値保存エリアaveを０クリアする（Ｓ１０５）。
【００１６】
その後、アドレスポインタnewrecptrから移動平均回数REC_Nを減算した値をアドレスポインタoldptrにセットする（Ｓ１０６）。このとき、アドレスポインタoldptrが先頭アドレスdatarecよりも小さい値になった場合は、アドレスポインタoldptrにリングバッファサイズREC_MAXを加算する（Ｓ１０７，Ｓ１０８）。
【００１７】
そして、合計値保存エリアsumに保存されている値からアドレスポインタoldptrに保存されている値を減算し（Ｓ１０９）、さらにこれにアドレスポインタnewrecptrに保存されている値を加算する（Ｓ１１０）。その後、合計値保存エリアsumに保存されている値を移動平均回数REC_Nで除算した結果を移動平均値保存エリアaveに格納する（Ｓ１１１）。この処理により新たにサンプリングされたＡ／Ｄ変換値を含む移動平均値が算出される。
【００１８】
次に、アドレスポインタnewrecptrをインクリメントする（Ｓ１１２）。このとき、アドレスポインタnewrecptrがリングバッファの最終アドレスを超えると（Ｓ１１３）、アドレスポインタnewrecptrにリングバッファの先頭アドレスdatarecをセットする（Ｓ１１４）。その後、ステップＳ１０２へ移行し、次のサンプリング周期の到来を待つ。
【００１９】
なお、上記の処理において、移動平均値保存エリアaveをＲＡＭ１３ｂに取った場合は、バスインタフェースメモリ１１に当該エリアに保存されている値を書き込み、ＣＰＵモジュール３から読み込み可能にする。勿論、移動平均値保存エリアaveをバスインタフェースメモリ１１に取るようにしても良い。
【００２０】
図１１に、移動平均３回の場合について、１２個のＡ／Ｄ変換値保存領域を有するリングバッファ、合計値保存エリアsum、移動平均値保存エリアaveの値の推移を示す。なお、図１１において、 (1)〜(12)はサンプリングの順番を表している。また、リングバッファの網がけ部分は、移動平均値の算出対象になっているエリアを示している。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開平７−１１０６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
一般に、アナログ計測では、アナログ入力の立上りや立下りの変化に対する応答性は良く、その一方で外乱（ノイズ）その他の要因による入力値のブレは抑制して安定した値を計測したいという要求がある。
【００２３】
しかしながら、移動平均は図１２に示すように、移動平均回数が小さい場合は、立上り／立下り時の応答性は良いが、フィルタ効果が弱いため、外乱等による入力値のブレは大きくなる。逆に、移動平均回数が大きい場合は、入力値のブレは小さくなるが、応答性は悪くなる。このように応答性と入力値のブレは相反するため、移動平均回数の多少を条件により使い分ける必要がある。
【００２４】
一方、上述したように従来の移動平均処理では、ＣＰＵモジュール３からの指令によって移動平均回数が変わると、その時点で合計値保存エリアsumに保存されている値を用いることができなくなるので、当該エリアsumおよび移動平均値保存エリアaveを０クリアする処理が行われている。このため、移動平均回数が途中で変更された場合は、図１３に示すように、その変更時点で移動平均値が一旦０になる。したがって、パラメータ切替のタイミングで入力値の連続性を担保できず、ＣＰＵモジュールでは変更時点から一定時間は移動平均値を使用することができない。このためデッドタイムが生じてしまうという問題がある。
【００２５】
この問題に対処するには、たとえば、外部機器からの１つのアナログ出力を２つのチャネルに入力し、それぞれ異なる移動平均回数で計算して、適宜使用する移動平均値を切り替えるという方法が考えられる。しかしながら、この方法は、チャネル数が増えるためにコストアップになる。また、アナログ信号として4-20mAの出力を受けるには、コモン入力タイプでは複数チャネルに入力することができないため、チャネル間絶縁型のアナログ入力方式を採らなければならず、同様にコストアップの要因になる。
【００２６】
本発明はかかる従来の事情に対処してなされたものであり、移動平均回数変更時のデッドタイムを抑制し、移動平均回数変更前後の移動平均値のブレの小さい安価なアナログ入力装置を提供することを目的とする。
【課題を解決するための手段】
【００２７】
上記目的を達成するため、本発明のアナログ入力装置においては、一定のサンプリング周期で入力したアナログ信号をデジタルデータに変換し、Ａ／Ｄ変換値として出力するＡＤ変換手段と、前記Ａ／Ｄ変換値を保存する記憶手段と、設定された移動平均回数で前記記憶手段に保存されているＡ／Ｄ変換値の移動平均処理を実行して移動平均値を算出する演算処理手段とを有するアナログ入力装置であって、前記演算処理手段は、少なくとも２つの異なる移動平均回数で移動平均値を夫々算出し、夫々算出した移動平均値の差、及び、設定された一の移動平均回数で算出した移動平均値のトレンドデータによって、前記夫々算出した移動平均値のうち一の移動平均値を選択して出力することを特徴とする。
【００２８】
ここで、トレンドデータとは、変化傾向の把握が可能なデータを意味し、前回値に対する今回値の変化量あるいは変化率を含む趣旨である。
【００２９】
好ましくは、判定のための２つの閾値（第一の閾値，第二の閾値）をアプリケーションプログラムあるいは外部装置から設定可能にし、演算処理手段は、夫々算出した移動平均値の差が第一の閾値を超過し、または、前記トレンドデータが第二の閾値を超過した場合は、小さい方の移動平均回数で算出した移動平均値を出力し、前記夫々算出した移動平均値の差および前記トレンドデータが共に夫々の前記閾値を超過しない場合は、大きい方の移動平均回数で算出した移動平均値を出力するのが良い。
【００３０】
本発明では、移動平均回数ごとに移動平均回数分のＡ／Ｄ変換値の移動平均値を算出する。そして、夫々算出した移動平均値の差によって、出力として用いる移動平均回数を切り替えることにより、切替時のデータの連続性を担保する。さらに、移動平均回数の切替え条件に移動平均値のトレンドデータを用いることにより、チャネル数を増やすことなく、アナログ入力信号の立上りや立下りは早く応答し、定常状態（飽和状態）に達した後は、移動平均回数を増やしてフィルタ効果を高めることができる。
【発明の効果】
【００３１】
本発明によれば、ソフトウェア処理により移動平均回数（フィルタの強さ）を使い分けて移動平均回数変更前後の移動平均値のブレを抑制することができるので、移動平均回数変更時のデッドタイムを防いで信頼性の高いシステムを安価に構築することができる。
【００３２】
また、アナログ信号の変化の大きな領域では移動平均回数を小さくし、アナログ信号の変化の小さな領域では移動平均回数を大きくすることにより、優れた応答性と耐ノイズ性を実現することができる。さらに、異なる二つの移動平均回数で夫々移動平均値を算出し、両移動平均値の差が一定値以下になったときに移動平均値を切り替えることにより、入力値の連続性を担保することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態によるリングバッファその他のデータ保存領域の説明図である。
【図２】本発明の実施の形態による動作パラメータのデータ構成例を示す図である。
【図３】本発明の実施の形態による移動平均処理で用いられる判定表の説明図である。
【図４】本発明の実施の形態による移動平均処理手順を示すフローチャートである。
【図５】図４の移動平均処理の結果による移動平均値の連続性を示す説明図である。
【図６】本発明の実施の形態の応用例１による動作パラメータの説明図である。
【図７】本発明の実施の形態の応用例２による動作パラメータの説明図であり、図７（ａ）は、不感帯となる入力範囲の説明図、図７（ｂ）は、不感帯の処理を実現するための動作パラメータの構成を示す図である。
【図８】従来技術および本発明によるアナログ入力モジュール（アナログ入力装置）１を含むプログラマブルコントローラ１０の概略構成図である。
【図９】従来の移動平均処理に用いられるリングバッファその他のデータ保存領域の説明図である。
【図１０】従来の移動平均処理手順を示すフローチャートである。
【図１１】移動平均３回の場合の各データ保存領域のデータおよび移動平均値の推移を示す図である。
【図１２】移動平均回数が異なる場合の移動平均値の推移の違いの説明図である。
【図１３】従来の移動平均処理における移動平均回数設定値変更時点の移動平均値の不連続性の説明図である。
【発明を実施するための形態】
【００３４】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下に示す実施形態は本発明のアナログ入力装置における好適な具体例であり、技術的に好ましい種々の限定を付している場合もあるが、本発明の技術範囲は、特に本発明を限定する記載がない限り、これらの態様に限定されるものではない。また、以下に示す実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、かつ、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、以下に示す実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００３５】
本実施の形態によるアナログ入力モジュール（アナログ入力装置）１は、従来と同様に図８に示したハードウェア構成によって実現される。従来技術に対しては、リングバッファの構成、ＣＰＵモジュールから設定されるパラメータ、及び、移動平均処理手順が異なっている。以下、同一要素には同一符号を付して説明を省略し、従来技術との相違点を中心に説明する。
（リングバッファの構成）
【００３６】
図１に本実施の形態によるリングバッファその他のデータ保存領域の構成を示す。従来は、パラメータ設定された移動平均回数分のＡ／Ｄ変換値の合計値と、この合計値を移動平均回数で除して算出した平均値のみが保存されていたが、本実施の形態では、ＣＰＵモジュールから設定可能な移動平均回数の全てについてのＡ／Ｄ変換値の合計値と移動平均値が保存可能になっている。
【００３７】
なお、図１は、移動平均回数２〜２５６について、それぞれ合計値と移動平均値を保存する場合の例であるが、移動平均回数はこの範囲に限らない。また移動平均回数が多くなりコンピュータ処理の負荷が大きくなる場合は、ＣＰＵモジュール３から設定可能な移動平均回数を制限し、あるいは実際にパラメータ設定された複数の移動平均回数に対してのみ、その合計値と移動平均値を演算することによって、処理負荷の軽減やメモリ空間の節約を図ることができる。
（パラメータ）
【００３８】
本実施の形態によるパラメータを図２に示す。第１の移動平均回数（Ｂ）、第２の移動平均回数（Ａ）、第１の移動平均回数（Ｂ）による移動平均値と第２の移動平均回数（Ａ）による移動平均値の差分の閾値（閾値１）、第２の移動平均回数（Ｂ）による移動平均値の変化量の閾値（閾値２）、及び移動平均設定組合せ可否などのパラメータが、起動時にＣＰＵモジュール３からアナログ入力モジュール１のバスインタフェースメモリ１１に書き込まれる。
【００３９】
移動平均処理の手順は後述するが、これらのパラメータは概略次のように移動平均処理で用いられる。
【００４０】
第１の移動平均回数（Ｂ）による移動平均値を移動平均値（Ｂ）、第２の移動平均回数（Ａ）による移動平均値を移動平均値（Ａ）（ここでＢ＜Ａ）と定義した場合、移動平均値（Ｂ）の今回値と前回値の差分（ΔＢ）により、アナログ信号の立上り／立下りの変化量を把握する。
【００４１】
また、移動平均値（Ｂ）と移動平均値（Ａ）との差分（ΔＡ）により、アナログ信号が定常状態（飽和状態）に達したか否かを判定する。
【００４２】
この差分（ΔＢ）と差分（ΔＡ）の組合せが図３の判定表のどこに該当するかを判定することにより、いずれか一方の移動平均値を選択して、これをＣＰＵモジュール３に渡す。具体的には、差分（ΔＢ）と差分（ΔＡ）の両方がそれぞれ閾値を下回った場合は定常状態に入ったと判定して、移動平均回数の大きい方の移動平均値（Ａ）をＣＰＵモジュール３に渡す。それ以外の条件の場合は、アナログ信号が立上り／立下りの変化中にあると判定し、移動平均回数の小さい方の移動平均値（Ｂ）をＣＰＵモジュール３に渡す。なお、２つの移動平均回数の切り替えを行わない場合は、"平均設定組合せ可否"を否に設定する。
【００４３】
アナログ入力モジュール１のパラメータには、上記のほかスケール変換処理や警報処理に関するパラメータ等があるが、これらは本発明の対象ではないので説明を割愛する。
（移動平均処理）
【００４４】
次に、図４を用いて本実施の形態による移動平均処理の手順について説明する。
まず、初期化処理は、従来の図１０と同様に、リングバッファ、合計値保存エリアsum、移動平均値保存エリアaveをクリアする。但し、sumとaveについては、図１に示すように複数の移動平均回数分について確保されているので、これらの全てを０クリアする。また、アドレスポインタnewrecptrに先頭アドレスの値datarecをセットする（Ｓ２０１）。
【００４５】
以降のステップＳ２０２〜ステップＳ２１３の処理は、図１０のステップＳ１０２〜Ｓ１１４の処理に対応している。但し、図４のステップＳ２０５〜ステップＳ２１０に示す合計値算出処理、移動平均値算出処理は、図１０のステップＳ１０６〜ステップＳ１１１にそれぞれ対応するが、本実施の形態では、移動平均回数REC_Nを変数として、これらの処理を全ての移動平均回数について繰り返すようにしている（Ｓ２０４ａ，Ｓ２０４ｂ）。ちなみにアドレスポインタnewrecptrのインクリメント、リングバッファ内の循環処理（Ｓ２１１〜Ｓ２１３）については、図１０と同様である。
【００４６】
本実施の形態による移動平均演算処理は、上記処理の後、２つの移動平均回数（Ａ，Ｂ）のうち、より適切な移動平均回数による移動平均値を自動的に選択する処理を含んでいることを特徴としている。
【００４７】
具体的には、ステップＳ２１２，Ｓ２１３の後、パラメータ設定された２つの移動平均回数のうち、小さいほうの移動平均回数による移動平均値（Ｂ）の今回値と前回値との差分（ΔＢ）を算出すると共に（Ｓ２１４）、移動平均値（Ｂ）とそれよりも大きな平均回数による移動平均値（Ａ）との差分（ΔＡ）を算出する（Ｓ２１５）。
【００４８】
そして、差分（ΔＢ），差分（ΔＡ）の少なくともいずれか一方が夫々閾値２又は閾値１を超過している場合は、バスインタフェースメモリ１１に移動平均値（Ｂ）を書き込み（Ｓ２１８）、差分（ΔＢ）と差分（ΔＡ）がいずれも夫々閾値２，閾値１を超過していない場合は、バスインタフェースメモリ１１に移動平均値（Ａ）を書き込む（Ｓ２１９）。
【００４９】
上記のステップＳ２１４〜ステップＳ２１９の処理は、図５に示すように、アナログ入力信号の変化が緩やかなときは、移動平均値（Ａ）を選択し、アナログ入力信号の変化が急峻なときは、移動平均値（Ｂ）を選択することになる。なお、上記の処理では、移動平均値の選択に移動平均値（Ｂ）の変化量を用いたが、変化量の代わりに変化率を使用し、変化率が閾値を超過しているときは移動平均値（Ｂ）を選択するようにしても良い。
【００５０】
本実施の形態によれば、移動平均回数の切り替わり時点の移動平均値のブレを小さく（閾値１以下に）することができ、ＣＰＵモジュール３は移動平均回数の切り替わりタイミングであるか否かに係らず、常にアナログ入力モジュール１から取得した移動平均値を使用することができる。
【００５１】
また、ＣＰＵモジュールは、予めシステムに応じて２種類の移動平均回数をパラメータとして設定しておけばよく、入力信号のトレンドを監視して、パラメータを切り替える必要が無いので、ＣＰＵモジュールの負荷を軽減することができる。なお、パラメータ設定する２種類の移動平均回数のうち、大きいほうの移動平均回数は、当該回数×サンプリング周期が入力信号の過渡応答の１周期以上になるように設定することにより、過渡応答の影響によって移動平均回数が頻繁に切り替わることを防止することができる。
【００５２】
また、変化量あるいは変化率（ΔＢ）を算出する移動平均回数と、切替前後の移動平均回数の差分（ΔＡ）を算出する移動平均回数は、必ずしも一致している必要はなく、たとえば、ΔＢは、移動平均回数３回の移動平均値を用いて算出し、ΔＡは、移動平均回数１６回と移動平均回数１２８回の移動平均値を用いて算出し、ＣＰＵモジュール３へ渡す移動平均値は、移動平均回数１６回または移動平均回数１２８回のいずれかの移動平均値とするようにしても良い。
（応用例１）
【００５３】
上述した実施の形態では、２つの移動平均回数をその変化率や変化量によって自動的に切り替えるものであるが、制御の種類等も用いて、さらに多くの移動平均回数を切り替えるようにしても良い。
【００５４】
図６に示すように、たとえば、変化率が比較的大きな範囲（１０％超〜５０％以下）にある場合は、移動平均回数を切り替えるとしても、比較的小さな値の移動平均回数（１６回）を選択し、これを用いて移動平均処理を実行し、変化率が比較的小さな範囲（１０％以下）の場合は、比較的大きな移動平均回数（１２８回）を選択し、これを用いて移動平均処理を実行する。
【００５５】
このように、移動平均回数の変化率に関連付けて、選択すべき移動平均回数を登録しておいて、その変化率に応じた移動平均回数を抽出して、これを用いて移動平均処理を行うことによって、より適応性の高いフィルタ機能を実現することができる。
（応用例２）
【００５６】
さらに図７（ａ）（ｂ）に示すように、不感帯として、２種類の設定値をパラメータに追加するようにしても良い。
【００５７】
具体的には、図７（ａ）に示すように、立上り／立下り中のアナログ入力信号が定常状態（飽和状態）に達する直前の所定範囲（ａ１〜ａ２、ｂ１〜ｂ２）を不感帯領域として設定する（第１の不感帯設定値）。たとえば、制御出力のフィードバック信号を入力するような場合は、目標値含む一定範囲をこの不感帯領域として設定することができる。
【００５８】
すなわち、この第１の不感帯設定値（ａ１〜ａ２、又はｂ１〜ｂ２）は、予め設定された閾値範囲である。第２の不感帯設定値は、切替禁止時間である。第１の不感帯設定値で指定された閾値範囲に、小さい方の移動平均回数による移動平均値（Ｂ）あるいはＡ／Ｄ変換値が入ったときに、一定時間（あるいは一定サンプリング数）は、移動平均回数の大きい方への移行のみを可能とし、移動平均回数の大きい方から小さい方への移行を禁止するというものである。これにより、過渡応答時の移動平均回数の不要な切り替わりを防止して安定したシステム動作を実現することができる。
【符号の説明】
【００５９】
１    アナログ入力モジュール（アナログ入力装置）
２    バス
３    ＣＰＵモジュール
４    Ｉ／Ｏモジュール
１０    プログラマブルコントローラ
１１    バスインタフェースメモリ（記憶手段）
１２    ＭＰＵ（演算処理手段）
１３ａ  ＲＯＭ
１３ｂ  ＲＡＭ（記憶手段）
１４    Ａ／Ｄ変換器（Ａ／Ｄ変換手段）
１５    マルチプレクサ
１６    入力回路
１７    入力端子
【図１】
2014017760.tif 000003
【図２】
2014017760.tif 000004
【図３】
2014017760.tif 000005
【図４】
2014017760.tif 000006
【図５】
2014017760.tif 000007
【図６】
2014017760.tif 000008
【図７】
2014017760.tif 000009
【図８】
2014017760.tif 000010
【図９】
2014017760.tif 000011
【図１０】
2014017760.tif 000012
【図１１】
2014017760.tif 000013
【図１２】
2014017760.tif 000014
【図１３】
2014017760.tif 000015