(57)【要約】【課題】入力データをフィルタして安定かつ早期にＯＮ／ＯＦＦ確定可能にする。【解決手段】入力データの状態時間幅より短い周期のタイミングでサンプリングしていって同一のサンプリング値が得られる回数が規定回数連続したときに当該にデータを確定する方法であって、サンプリングタイミングと、規定回数との少なくとも一方を任意に設定可能とする。【選択図】図３
2009217539.tif 000002
【特許請求の範囲】
【請求項１】
入力データをサンプリングし同一のサンプリング値が得られるサンプリング回数をカウントし、そのカウント値が規定値になると当該入力データを確定すると共に、上記サンプリング間隔と、上記規定値との少なくとも一方を、任意に設定ないし変更可能とした、入力データフィルタ方法。
【請求項２】
入力データをサンプリングするサンプリング手段と、
同一のサンプリング値が得られるサンプリング回数をカウントするフィルタカウンタと、
フィルタカウンタのカウント値が規定値になると当該入力データを確定する演算処理部と、
を備え、
上記演算処理部は、上記入力データのサンプリング間隔と、上記規定値との少なくとも一方を、任意に設定ないし変更することが可能となっている、入力データフィルタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外乱ノイズ等の影響を抑制して入力データを早期に確定可能とするフィルタ方法およびその方法の実施に用いる入力データフィルタ装置に関するものである。
【背景技術】
【０００２】
生産工場等に設置されるファクトリーオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラが用いられている。このプログラマブルコントローラには、複数のモジュールからなるビルディングブロックタイプがある。この複数のモジュールとしては、電源モジュール、ＣＰＵモジュール、入力モジュール、出力モジュール、通信モジュール等がある。ＣＰＵモジュールは、内部にＣＰＵ、Ｉ／Ｏメモリ、プログラムメモリ等を有し、このＣＰＵは、入力モジュールで入力した信号をＩ／Ｏメモリに取り込むＩＮリフレッシュ処理を行い、プログラムメモリ内のシーケンスプログラムに基づき演算実行し、その演算実行結果をＩ／Ｏメモリに書き込んで出力モジュールに送り出すＯＵＴリフレッシュ処理を行い、その後、通信モジュールを介して通信ネットワーク上の他のＰＬＣとデータ送受信を行ったり、ＣＰＵモジュールに備えられた通信ポートを介して外部のＰＣ等とデータ送受信などを行ったりする周辺処理を行う一連の処理をサイクリックに繰り返す（例えば特許文献１参照）。入力モジュールにはセンサ等の入力機器が、出力モジュールにはアクチュエータ等の外部機器が接続される。センサ等の入力機器は制御装置の状態をセンシングしその情報を入力モジュールに入力し、アクチュエータ等の外部機器は出力モジュールからの出力に応答して制御装置を駆動する。
【０００３】
以上のプログラマブルコントローラにおいて、入力モジュールでは、スイッチやセンサ等を外部接点としてそのＯＮ／ＯＦＦ信号を入力データとしてＣＰＵモジュールに入力し、出力モジュールではＣＰＵモジュールの制御信号に応答して内部接点をＯＮ／ＯＦＦしてアクチュエータ等の外部機器への電源の供給遮断を行って当該外部機器をＯＮ／ＯＦＦ駆動する。
【０００４】
このような接点のＯＮ／ＯＦＦ信号を含む入力データは、プログラマブルコントローラの制御動作上、入出力モジュールの配置環境によるノイズの影響を受けないようにフィルタして安定化させることが必要である。そのため、従来から、入力データをフィルタして確定させるための技術が提案されている。例えば、入力データをサンプリングしていって、同じサンプリング値が規定回数連続したときに当該入力データを確定することで入力データをフィルタする技術が提案されている（例えば特許文献２参照。）。
【０００５】
しかしながら、こうした入力データ確定のためのフィルタ方法では、ノイズの状況によっては、入力データの確定までに相当長い時間がかかる場合がある。例えば、入力データをサンプリングしそのサンプリング値「１」が５回連続する場合（１１１１１）には入力データをＯＮ確定する場合、ノイズの影響によってはサンプリング値が（１１１１０）、（１１１１０）、（１１１１０）、…、（１１１１１）となる場合もあり、入力データ確定までのサンプリング回数が多くなり、入力データ確定に時間が長くかかることが多い。
【特許文献１】特開２００５−２５９０７９号公報
【特許文献２】特開２００７−１５６８４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明により解決すべき課題は、ノイズの状況に応じて、入力データの早期確定を可能にすることである。
【課題を解決するための手段】
【０００７】
本発明による入力データフィルタ方法は、入力データをサンプリングしていって同一のサンプリング値が得られるサンプリング回数をカウントし、そのカウント値が規定値になると当該入力データを確定すると共に、上記サンプリング間隔と、上記規定値との少なくとも一方を、任意に設定ないし変更可能としたことを特徴とするものである。
【０００８】
本発明によると、状態不定のノイズ環境に応じて、サンプリング間隔または規定値を設定ないし変更することでフィルタ条件を任意に設定変更できるので、入力データを安定かつ早期に確定できるようフィルタすることができる。
【０００９】
本発明による入力データフィルタ装置は、入力データをサンプリングするサンプリング手段と、同一のサンプリング値が得られるサンプリング回数をカウントするフィルタカウンタと、フィルタカウンタのカウント値が規定値になると当該入力データを確定する演算処理部と、を備え、上記演算処理部は、上記入力データのサンプリング間隔と、上記規定値との少なくとも一方を、任意に設定ないし変更することが可能となっていることを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、入力データを安定かつ早期に確定できるようにフィルタすることができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付した図面を参照して、本発明の実施の形態に係る入力データフィルタ方法を説明する。
【００１２】
図１は、実施の形態の入力データフィルタ方法の実施に用いる装置を示す。この入力データフィルタ装置は、プログラマブルコントローラ等に内蔵することができ、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等や、インターフェース等を含むマイコン、その他で構成され、機能的に、サンプリング回路１０と、フィルタカウンタ２０と、演算処理部３０と、を備える。
【００１３】
図２に入力データの波形を示す。この入力データは、例えば、プログラマブルコントローラの接点ＯＮ／ＯＦＦ信号の電圧波形を示す。電圧値が高い波形部分は例えば接点ＯＮを示す波形部分であり、接点ＯＮにより得られるアナログ信号波形を、マイコン等での処理に適したデジタル波形に変換した波形である。この入力データは、ノイズフィルタリングのために、まず、サンプリング回路１０に入力されてサンプリングされる。サンプリング回路１０へのサンプリング動作制御のためのサンプリング制御信号は演算処理部３０から与えられる。サンプリング回路１０から演算処理部３０には入力データのサンプリング値が与えられる。演算処理部３０は、サンプリング回路１０による入力データのサンプリング動作においてサンプリング間隔を設定ないし変更することができるサンプリング制御信号を入力することができる。フィルタカウンタ２０のカウント動作は、演算処理部３０からのカウンタ制御信号により後述するように制御されるようになっている。演算処理部３０にはフィルタカウンタ２０からカウント値が入力されるようになっている。
【００１４】
図２において入力データ中の接点ＯＮ信号波形部分は、単なる一図解例として途中一部がノイズで立ち下っている。もちろん、ノイズが重畳しない場合があり、また、より多くのノイズが重畳する場合がある。下向き矢印Ｓ１〜Ｓ６はサンプリングタイミングを示す。サンプリング間隔はＴである。Ｓ１での入力データサンプリング値は接点ＯＦＦ信号波形部分（ローレベル）でのサンプリングのために「０（ＯＦＦ）」、Ｓ２での入力データサンプリング値は、接点ＯＮ信号波形部分（ハイレベル）でのサンプリングのため「１（ＯＮ）」である。以下、同様に、Ｓ３でのサンプリング値は「１（ＯＮ）」、Ｓ４でのサンプリング値は「１（ＯＮ）」、Ｓ５でのサンプリング値は「１（ＯＮ）」、Ｓ６でのサンプリング値は「０（ＯＦＦ）」、である。
【００１５】
フィルタカウンタ２０は、サンプリング値が「１（ＯＮ）」ではアップカウント、サンプリング値が「０（ＯＦＦ）」ではダウンカウントする。フィルタカウンタ２０は０以下のカウント値はすべて「０」となる。したがって、フィルタカウンタ２０のカウント値は、Ｓ１ではダウンカウントして「０」、Ｓ２では＋１アップカウントして「１」、Ｓ３では＋１アップカウントして「２」、Ｓ４では＋１アップカウントして「３」、Ｓ５では＋１アップカウントして「４」、Ｓ６では−１ダウンカウントして「３」である。
【００１６】
演算処理部３０は、実施の形態ではフィルタカウンタ２０のカウント値「４」を同一のサンプリング値をアップカウントしたときに接点ＯＮ信号を確定するための規定値とする。同一のサンプリング値を連続サンプリングしたサンプリング回数が、４回になると、フィルタカウンタ２０のカウント値は規定値「４」となる。また、同一のサンプリング値を連続カウントしない場合でも、フィルタカウンタ２０のカウント値が規定値「４」となる場合も含む。これは接点ＯＮ信号波形部分で途中のノイズの影響やその他でフィルタカウンタ２０がダウンカウントする場合があるからである。こうして、フィルタカウンタ２０のカウント値が規定値「４」になると、入力データを「１（ＯＮ）」に確定し、接点ＯＮ信号を確定する。
【００１７】
以上の動作を図３のフローチャートを参照して説明する。まず、起動時には、ステップｎ０を実行して、演算処理部３０内の図示略のメモリに格納する内部入力データと、フィルタカウンタ２０のカウント値とを共に０にリセットし、次いで、ステップｎ１で図２の波形で示す入力データをサンプリング回路１０にてＳ１，Ｓ２，…でサンプリングする。このＳ１，Ｓ２，…のサンプリング間隔Ｔは演算処理部３０のサンプリング制御信号により決めることができる。ステップｎ２では、演算処理部３０はサンプリング回路１０でのサンプリング値が０か否かを判定する。
【００１８】
ステップｎ２で、演算処理部３０は、Ｓ１でサンプリングしたサンプリング値が０であると判定すると、ステップｎ３でフィルタカウンタ２０のカウント値を−１だけデクリメントする。このとき、フィルタカウンタ２０のカウント値は０にセットしてあるので、ステップｎ４では演算処理部３０は、フィルタカウンタ２０のカウント値は０以下の−１と判定する。この結果、ステップｎ５で、演算処理部３０は入力データを０に確定すると共にフィルタカウンタ２０のカウント値を０にセットする。続けて、演算処理部３０は、ステップｎ６ですべての入力データ処理が完了していないと判定しステップｎ１に戻り、次の入力データの入力処理を行う。
【００１９】
そして、次のＳ２で、ステップｎ１で演算処理部３０は、入力データをサンプリングし、ステップｎ２でサンプリング値が０でないと判定すると、ステップｎ７でフィルタカウンタ２０のカウント値を＋１だけインクリメントする。
【００２０】
このインクリメントの後のステップｎ８で、フィルタカウンタ２０のカウント値は「１」であり、規定値（＝４）を達していないと判定し、続けて、ステップｎ６に移行して次のサンプリング値の入力処理に移行する。
【００２１】
次のＳ３、Ｓ４，Ｓ５では、演算処理部３０は、上記ステップを繰り替えする結果、Ｓ５ではフィルタカウンタのカウント値は規定「４」になる。この結果、ステップｎ９で内部入力データを「１」、すなわち接点がＯＮしているとする接点ＯＮ信号に確定し、フィルタカウンタ２０に規定値を代入し、ステップｎ６に移行する。
【００２２】
続けて、次のＳ６では、ステップｎ１に戻って入力データを取り込み、ステップｎ２で、入力データのサンプリング値は０であるので、ステップｎ３でフィルタカウンタを−１だけデクリメントする。この結果、フィルタカウンタのカウント値は３になる。
【００２３】
以上説明したように本実施の形態では、ノイズの状況に応じて、サンプリングタイミングのサンプリング間隔と規定値とを任意に設定可能としたことにより、入力データを早期にかつ安定して確定させることができるようになる。
【００２４】
図４ないし図６を参照して具体的に各種入力データの波形に対しての入力データ確定を示す。図４は規定値「４」、サンプリング間隔「２ｍｓｅｃ」としたフィルタ例を示す。図４では、「０」で接点ＯＦＦ信号、「１」で接点ＯＮ信号とする入力データ波形「…０１１１１０…」に対して、サンプリング値が「…００００００…」、フィルタカウンタ２０のカウント値が「…０１２３４３…」、フィルタ後の値が、「…００００１１…」である。このフィルタ例では接点ＯＮ信号の確定には、入力データ波形のサンプリング値「１１１１」と４回連続したときのサンプリング回数４回×サンプリング間隔２ｍｓｅｃ＝８ｍｓｅｃかかる。
【００２５】
そして、上記のフィルタ例では、ノイズ等で１０ｍｓｅｃ間、入力が不定になる状態が発生する環境の場合、上記入力の不定状態が反映されてしまうので、誤った結果を出力してしまう。そこで、これを無くすフィルタ例を図５に示す。図５のフィルタ例では、規定値「４」、サンプリング間隔「３ｍｓｅｃ」とする。このフィルタ例では、接点ＯＮ信号の確定には、サンプリング回数４回×サンプリング間隔３ｍｓｅｃ＝１２ｍｓｅｃかかるので、１０ｍｓｅｃの入力不定に対応することができる。
【００２６】
一方、フィルタカウンタ２０の規定値を変更することでも、上記入力の不定に対応することができる。例えば、図６で示すように、規定値を上記「４」から「６」に変更すると、サンプリング回数６回×サンプリング間隔２ｍｓｅｃ＝１２ｍｓｅｃとなり、１０ｍｓｅｃを超えるフィルタを得ることができる。
【００２７】
以上説明したように本実施の形態では、サンプリング回路１０での入力データに対するサンプリングタイミングと、フィルタカウンタ２０の規定値とを任意に設定可能としたので、ノイズの影響で入力状態が不定なとき、その不定な時間より長くフィルタ処理することができ、入力データを早期に安定的に確定することができる。
【図面の簡単な説明】
【００２８】
【図１】図１は入力データフィルタ装置の構成図である。
【図２】図２は入力データの波形を示す図である。
【図３】図３は入力データ確定のフロー図である。
【図４】図４は規定値「４」、サンプリング間隔「２ｍｓｅｃ」としたフィルタ例を示す図である。
【図５】図５は規定値「４」、サンプリング間隔「３ｍｓｅｃ」としたフィルタ例を示す図である。
【図６】図６は規定値「６」、サンプリング間隔「２ｍｓｅｃ」としたフィルタ例を示す図である。
【符号の説明】
【００２９】
１０  サンプリング回路
２０  フィルタカウンタ
３０  演算処理部
【図１】
2009217539.tif 000003
【図２】
2009217539.tif 000004
【図３】
2009217539.tif 000005
【図４】
2009217539.tif 000006
【図５】
2009217539.tif 000007
【図６】
2009217539.tif 000008