(57)【要約】  高速なＡ／Ｄ変換周期を維持したまま、ユーザの所望するフィルタ特性を持ったデジタルフィルタ処理を実現するために、Ａ／Ｄ変換装置１００は、Ａ／Ｄ変換後の複数のデジタル値の夫々が遅延量に応じた固定のアドレスに位置するように記憶する入力データ記憶部１３１と、係数データ記憶部１３２と、デジタルフィルタ処理実行要求が入力されたとき、予め設定されたフィルタ特性に基づいて次数とフィルタ係数とを算出し、算出したフィルタ係数の夫々を、対応する遅延量順に配列するとともに対応する遅延量に応じた固定のアドレスに位置するように係数データ記憶部１３２に格納する係数データ演算部１３４と、デジタル値を入力データ記憶部１３１から、フィルタ係数を係数データ記憶部１３２から、遅延量毎に夫々読出して、読出した遅延量毎の値に基づくフィルタ演算を実行するデジタルフィルタ演算部１３３と、を備える。
2014068747.tif 000002
【特許請求の範囲】
【請求項１】
アナログ値をＡ／Ｄ変換周期毎に逐次デジタル値に変換し、出力するＡ／Ｄ変換部と、
最も新しく出力された複数のデジタル値を遅延量順に配列し、前記複数のデジタル値の夫々が遅延量に応じた固定のアドレスに位置するように記憶する入力データ記憶部と、
フィルタ特性を指定する設定情報を記憶するフィルタ特性記憶部と、
フィルタ係数を記憶する係数データ記憶部と、
実行要求を受け付ける受け付け部と、
前記受け付け部が前記実行要求を受け付けたとき、前記フィルタ特性記憶部から設定情報を読出して前記読出した設定情報に基づいて次数と前記次数の数のフィルタ係数とを算出し、前記算出したフィルタ係数の夫々を、対応する遅延量順に配列するとともに対応する遅延量に応じた固定のアドレスに位置するように前記係数データ記憶部に格納する係数データ演算部と、
前記算出した次数の数のデジタル値を前記入力データ記憶部から、前記算出した次数の数のフィルタ係数を前記係数データ記憶部から、格納されたアドレスに基づいて遅延量毎に夫々読出して、前記読出した遅延量毎の値に基づくフィルタ演算を実行し、演算結果を出力する動作を、Ａ／Ｄ変換周期毎に実行するデジタルフィルタ演算部と、
を備えることを特徴とする変換装置。
【請求項２】
前記変換装置は、外部装置が接続され、
前記受け付け部は、前記外部装置から前記実行要求を受け付ける、
ことを特徴とする請求項１に記載の変換装置。
【請求項３】
前記フィルタ特性記憶部は異なる複数の設定情報が格納され、
前記受け付け部は、前記実行要求とともに、前記フィルタ特性記憶部に格納された複数の設定情報のうちの一を指定する指定要求を前記外部装置から受け付け、
前記係数データ演算部は、前記指定要求により指定された設定情報に基づいて次数とフィルタ係数とを算出する、
ことを特徴とする請求項２に記載の変換装置。
【請求項４】
前記受け付け部は、前記外部装置から前記設定情報を受け付けて、前記受け付けた設定情報を前記フィルタ特性記憶部に格納する、
ことを特徴とする請求項２または３に記載の変換装置。
【請求項５】
前記外部装置は、ユーザからの直接の操作を受け付ける周辺装置、または、自変換装置とともにプログラマブルコントローラを構成するＣＰＵ装置である、
ことを特徴とする請求項４に記載の変換装置。
【請求項６】
前記設定情報は、ローパスフィルタ、ハイパスフィルタもしくはバンドパスフィルタを含むフィルタ種類を指定する情報、または、通過帯域、減衰帯域もしくは阻止帯域を指定する情報である、
ことを特徴とする請求項５に記載の変換装置。
【請求項７】
前記フィルタ演算は、前記係数データ記憶部から読出したデジタル値と前記係数データ記憶部から読出したフィルタ係数とを遅延量毎に個別に乗算し、前記遅延量毎の乗算結果の値を累積することである、
ことを特徴とする請求項６に記載の変換装置。
【請求項８】
ユーザからの操作に応じて請求項１に記載の変換装置に前記実行要求を入力することを特徴とする周辺装置。
【請求項９】
前記ユーザからフィルタ特性の入力を受け付けて、前記入力されたフィルタ特性を設定情報に記述して前記フィルタ特性記憶部に格納する、ことを特徴とする請求項８に記載の周辺装置。
【請求項１０】
前記フィルタ特性記憶部に異なる複数の設定情報を格納せしめ、前記実行要求とともに、前記ユーザからの操作に応じて、前記フィルタ特性記憶部に格納された複数の設定情報のうちの一を指定する指定要求を前記変換装置に入力する、ことを特徴とする請求項９に記載の周辺装置。
【請求項１１】
請求項１に記載の変換装置と、
予め記憶するユーザプログラムに基づいて前記実行要求を前記変換装置に入力するＣＰＵ装置と、
を備えることを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アナログデジタル変換（Ａ／Ｄ変換）を行う変換装置、ユーザからの操作に応じて前記変換装置の操作または設定を行う周辺装置および前記変換装置を備えるプログラマブルコントローラに関する。
【背景技術】
【０００２】
プログラマブルコントローラ（Programmable  Logic  Controller、ＰＬＣ）に、アナログデータを入力する場合、ＰＬＣは、アナログ値をデジタル値に変換する変換装置（以降、Ａ／Ｄ変換装置）が組み込まれて構成される。Ａ／Ｄ変換装置に入力されるアナログ値には、ＰＬＣが設置される環境に応じた様々なノイズ成分が含まれる。特に近年ではＡ／Ｄ変換装置のＡ／Ｄ変換周期が高速化しており、従来のＡ／Ｄ変換装置では感知しなかったノイズも入力されるようになってきた。Ａ／Ｄ変換装置には、ノイズを減衰させる機能として、平均処理機能やデジタルフィルタ機能が搭載されている。Ａ／Ｄ変換装置に搭載されるデジタルフィルタとしては、１次遅れフィルタ、ローパスフィルタ等がある。Ａ／Ｄ変換装置は、ユーザが用途に応じてこれらのフィルタの使い分けを行うことができるように構成されている。Ａ／Ｄ変換装置は、ユーザが取得したい信号の周波数帯とノイズ成分の周波数帯を分け、ノイズ成分を減衰せしめることができる。【０００３】
しかしながら、従来のＰＬＣに実装されるＡ／Ｄ変換装置によれば、所望するフィルタ特性が得られない場合、ユーザはユーザプログラムにてフィルタ演算を実現する必要があった。ユーザプログラムを用いてフィルタ演算を実行することは、プログラムの作成工数の増加およびＣＰＵのスキャンタイムの増大を引き起こす。【０００４】
また、ＰＬＣが設置される各種生産装置では、１つの装置で複数の製品を生産可能にすることが多い。そのような場合、生産する製品を切り替える際は、外部スイッチや、プログラマブル表示器の画面押下によりＰＬＣ内のプログラムを変更し、稼動させるパラメータを、一括で変更する。このとき、ＰＬＣ内のプログラムや、プログラマブル表示器からの要求で容易にＡ／Ｄ変換装置内のパラメータを変更する手段が求められる。【０００５】
これに対し、例えば特許文献１には、過去の入力データをリングバッファに記憶すると共に、デジタルフィルタ処理に必要な係数データのセットを２つ、メモリに記憶しておく技術が開示されている。この技術によれば、リングバッファ処理のための終端判定処理を不要とし、結果として演算を高速化することができる。【０００６】
また、例えば特許文献２には、外部から入力されたフィルタ特性に応じて係数データを算出することができる装置が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−４３７３１号公報
【特許文献２】特開昭５８−１４７２２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１の技術によれば、演算時間の高速化が図れる反面、係数データを格納するためのメモリ領域のサイズが、最低限必要なサイズの約２倍のサイズとなるため、メモリ使用量が大きくなるという問題があった。【０００９】
また、特許文献２の技術によれば、ＰＬＣに実装されるＡ／Ｄ変換装置に求められる、ＰＬＣやプログラマブル表示器からのパラメータ変更要求に応答する手段が無いという問題があった。【００１０】
本発明は、上記に鑑みてなされたものであって、高速なＡ／Ｄ変換周期を維持したまま、ユーザの所望するフィルタ特性を持ったデジタルフィルタ処理を実現することが可能なＡ／Ｄ変換装置、周辺装置およびプログラマブルコントローラを得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、アナログ値をＡ／Ｄ変換周期毎に逐次デジタル値に変換し、出力するＡ／Ｄ変換部と、最も新しく出力された複数のデジタル値を遅延量順に配列し、前記複数のデジタル値の夫々が遅延量に応じた固定のアドレスに位置するように記憶する入力データ記憶部と、フィルタ特性を指定する設定情報を記憶するフィルタ特性記憶部と、フィルタ係数を記憶する係数データ記憶部と、実行要求を受け付ける受け付け部と、前記受け付け部が前記実行要求を受け付けたとき、前記フィルタ特性記憶部から設定情報を読出して前記読出した設定情報に基づいて次数と前記次数の数のフィルタ係数とを算出し、前記算出したフィルタ係数の夫々を、対応する遅延量順に配列するとともに対応する遅延量に応じた固定のアドレスに位置するように前記係数データ記憶部に格納する係数データ演算部と、前記算出した次数の数のデジタル値を前記入力データ記憶部から、前記算出した次数の数のフィルタ係数を前記係数データ記憶部から、格納されたアドレスに基づいて遅延量毎に夫々読出して、前記読出した遅延量毎の値に基づくフィルタ演算を実行し、演算結果を出力する動作を、Ａ／Ｄ変換周期毎に実行するデジタルフィルタ演算部と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明にかかる変換装置は、実行要求を受け付けると、指定されたフィルタ特性を持つデジタルフィルタを適用したデジタル値の出力を開始することができ、かつ、Ａ／Ｄ変換周期毎にデジタルフィルタ処理を実行できるため、高速なＡ／Ｄ変換周期を維持したままユーザの所望するフィルタ特性を持ったデジタルフィルタ処理を実現するという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、ＰＬＣシステムの構成を示すブロック図である。
【図２】図２は、ＦＩＲフィルタの回路図である。
【図３】図３は、入力データ記憶部のメモリ構成を示す図である。
【図４】図４は、係数データ記憶部のメモリ構成を示す図である。
【図５】図５は、Ａ／Ｄ変換装置の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかるＡ／Ｄ変換装置、周辺装置およびプログラマブルコントローラ（以降、ＰＬＣ）の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態．
図１は、Ａ／Ｄ変換装置が実装されたＰＬＣシステムの構成を示すブロック図である。図１に示すＰＬＣシステム１０は、ＰＬＣ１０００と周辺装置２０００とを備える。ＰＬＣ１０００と周辺装置２０００とは、接続ケーブル３０００を介して互いに接続される。
【００１６】
周辺装置２０００は、ユーザからの入力に応じてＰＬＣ１０００の操作または設定を実行することができる。周辺装置２０００は、本発明の実施の形態のＡ／Ｄ変換装置１００に対してフィルタ特性を入力するフィルタ特性入力支援ツール５００を備える。フィルタ特性入力支援ツール５００はフィルタ特性入力ソフトウェアが周辺装置２０００にインストールされることにより、実現される。具体的には、周辺装置２０００は、ＣＰＵ（Central  Processing  Unit）、フィルタ特性入力ソフトウェアを予め記憶するＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ユーザからの入力を受け付けるマウスやキーボードなどで構成される、ユーザからの直接の操作を受け付ける入力装置、および液晶ディスプレイなどで構成される表示装置を備える。そして、ＣＰＵは、当該フィルタ特性入力ソフトウェアをＲＡＭに展開し、ＲＡＭに展開された当該フィルタ特性入力ソフトウェアによる制御に基づいて、フィルタ特性入力支援ツール５００として機能する。フィルタ特性入力支援ツール５００が生成する表示内容は表示装置に表示される。ユーザは、当該表示内容を確認しながら入力装置を操作することによってフィルタ特性入力支援ツール５００に対する操作を行うことができる。
【００１７】
ＰＬＣ１０００は、Ａ／Ｄ変換装置１００とＣＰＵ装置２００とを備える。なお、ＰＬＣ１０００は、さらに図示しない装置を備えてもよい。Ａ／Ｄ変換装置１００、ＣＰＵ装置２００以外の、ＰＬＣ１０００が具備可能な装置として、例えば、サーボアンプを制御することにより多軸の位置制御を実現するモーションコントローラ装置、または、ＣＰＵ装置２００からの指令に基づき温度制御信号を出力する温度コントローラ装置が該当する。ＰＬＣ１０００が備える各装置は、互いに装置間バス３００を介して接続される。
【００１８】
ＣＰＵ装置２００は、ＣＰＵ装置２００全体の制御を実行する演算部２２０と、メモリカードなどの外部メモリと接続される外部メモリインタフェース２１０と、内蔵メモリ２３０とを備える。外部メモリまたは内蔵メモリ２３０には、ユーザプログラム、ユーザプログラムの実行に用いられるデータ、およびユーザプログラムの実行結果データが記憶される。ここで、ユーザプログラムとは、ＰＬＣ１０００が制御対象とする外部機器を制御するためのプログラムであり、例えばラダー言語またはＣ言語を用いて記述されている。また、ＣＰＵ装置２００は、周辺装置２０００と接続される周辺装置インタフェース２４０と、装置間バス３００と接続されるバスインタフェース２５０とを備える。外部メモリインタフェース２１０、演算部２２０、内蔵メモリ２３０、周辺装置インタフェース２４０、およびバスインタフェース２５０は、互いに内部バス２６０を介して接続される。
【００１９】
ＣＰＵ装置２００は、ユーザプログラムの実行、ユーザプログラムの実行に用いるデータの読出し、およびユーザプログラムの実行結果の書込みを、所定の制御周期毎に繰り返して行う。この制御周期は、ＣＰＵ装置２００が実行するユーザプログラムの実行周期に等しい。このユーザプログラムの実行結果の書込みには、後述するＡ／Ｄ変換装置１００の共用メモリ１４０にフィルタ特性、デジタルフィルタ処理実行要求またはデジタルフィルタ処理停止要求を書込む動作が含まれる。
【００２０】
Ａ／Ｄ変換装置１００は、Ａ／Ｄ変換装置１００全体を制御する演算部１３０と、ＣＰＵ装置２００からの書込みおよび読出しが可能に構成された共用メモリ１４０と、Ａ／Ｄ変換部１２０とを備える。また、Ａ／Ｄ変換装置１００は、ＰＬＣ１０００が制御対象とする外部機器（即ち被制御装置）に接続されるアナログ入力インタフェース１１０と、トリガ信号を入力する外部入力端子に接続されるトリガ信号入力インタフェース１５０と、装置間バス３００に接続されるバスインタフェース１６０と、Ａ／Ｄ変換周期毎にカウンタ信号を出力するカウンタ１８０と、内蔵メモリ１９０とを備える。Ａ／Ｄ変換周期とは、１つのアナログ値をデジタル値へ変換する周期として設定される値である。
【００２１】
演算部１３０、共用メモリ１４０およびバスインタフェース１６０は、互いに内部バス１７０を介して接続される。また、Ａ／Ｄ変換部１２０は演算部１３０に接続され、アナログ入力インタフェース１１０はＡ／Ｄ変換部１２０に接続される。また、トリガ信号入力インタフェース１５０は、演算部１３０に接続される。
【００２２】
Ａ／Ｄ変換部１２０は、カウンタ１８０がカウンタ信号を出力する毎に（即ちＡ／Ｄ変換周期毎に）、被制御装置が出力するアナログ値をアナログ入力インタフェース１１０を介して取り込む。そして、Ａ／Ｄ変換部１２０は、取り込んだアナログ値を順次デジタル値に変換して出力する。
【００２３】
演算部１３０は、入力データに対してデジタルフィルタ処理を実行することができる。入力データとは、Ａ／Ｄ変換部１２０から得られたＡ／Ｄ変換周期毎のデジタル値である。ここで、演算部１３０は、デジタルフィルタ処理のうちの一例として、ＦＩＲ（Finite  Impulse  Response）型のデジタルフィルタ（以降、ＦＩＲフィルタ）としての処理を実行するものとして説明する。
【００２４】
図２は、ＦＩＲフィルタの回路図である。ここで、Ｚ−１は単位遅延回路であり、ｈ０〜ｈＮはフィルタ係数（ｈ０〜ｈＮ）を乗算する乗算器である。ＦＩＲフィルタの回路によると、入力データｘが逐次入力され、出力データｙが逐次出力される。ｉサイクル目の入力データをｘ[ｉ]、ｉサイクル目の出力データをｙ[ｉ]とすると、出力データｙ[ｎ]は、以下の式で与えられる。
ｙ[ｎ]＝ｈ０＊ｘ[ｎ]＋ｈ１＊ｘ[ｎ−１]＋・・・＋ｈＮ−１＊ｘ[ｎ−（Ｎ−１）]＋ｈＮ＊ｘ[ｎ−Ｎ]      式（１）
【００２５】
なお、図２においては、ＦＩＲフィルタの次数をＮ＋１としている。次数とは、処理に使用される乗算器の個数をいう。
【００２６】
上記したデジタルフィルタ処理を実現するために、演算部１３０は、入力データ記憶部１３１、係数データ記憶部１３２、デジタルフィルタ演算部１３３、係数データ演算部１３４およびメイン処理部１３５を備えている。
【００２７】
図３は、入力データ記憶部１３１のメモリ構成を示す図である。入力データ記憶部１３１には、Ａ／Ｄ変換部１２０からの入力データがＡ／Ｄ変換周期毎に格納される。入力データ記憶部１３１は、Ｎ＋１個の入力データを、アドレスが連続した一塊のメモリ領域の先頭から遅延量順に配列して記憶する。入力データ記憶部１３１が新しい入力データを新たに記憶する際には、入力データ記憶部１３１が記憶するＮ＋１点の入力データが１点ずつシフトされ、最も古いデータが削除される。そして、新しい入力データが入力データ記憶部１３１を構成するメモリ領域の先頭に追加される。
【００２８】
なお、入力データ記憶部１３１の記憶方式は、最も新しく出力された複数のデジタル値を遅延量順に配列し、複数のデジタル値の夫々が遅延量に応じた固定のアドレスに位置するように記憶する方式であれば、上記に限定されない。例えば、入力データ記憶部１３１は、最も古いデジタル値を先頭として遅延量順に記憶してもよい。
【００２９】
なお、ここでは一例として、入力データ記憶部１３１の記憶内容の操作（入力データの追加、削除、およびシフト）は後述のデジタルフィルタ演算部１３３によって実行されるものとして説明する。
【００３０】
また、入力データ記憶部１３１は、ハードウェア回路により構成されてもよい。例えば、入力データ記憶部１３１は、シフトレジスタにより構成され、デジタルフィルタ演算部１３３がシフト用の制御信号を操作することによって入力データの追加、削除、およびシフトが実現されるようにしてよい。また、カウンタ１８０によるカウンタ信号をシフト用の制御信号として使用されるようにしてもよい。また、入力データ記憶部１３１は、小規模なメモリ装置により構成されるようにしてもよい。また、内蔵メモリ１９０を入力データ記憶部１３１として機能させるようにしてもよい。
【００３１】
図４は、係数データ記憶部１３２のメモリ構成を示す図である。係数データ記憶部１３２は、アドレスが連続した一塊のメモリ領域を具備し、係数データｈ０〜ｈＮが、遅延量順に先頭から配列されて格納される。言い換えると、係数データ記憶部１３２は、係数データｈ０〜ｈＮの夫々が、対応する遅延量順に配列され、係数データｈ０〜ｈＮの夫々が、対応する遅延量に応じた固定のアドレスに位置するように、係数データｈ０〜ｈＮの夫々を記憶する。係数データｈ０〜ｈＮを係数データ記憶部１３２に格納する動作は後述の係数データ演算部１３４によって実行される。係数データ記憶部１３２に記憶される係数データの数は、係数データ演算部１３４が算出した次数に依存する。なお、係数データ記憶部１３２は、小規模なメモリ装置によって構成されてもよいし、レジスタなどのハードウェア回路によって構成されてもよい。また、内蔵メモリ１９０を係数データ記憶部１３２として機能させるようにしてもよい。
【００３２】
デジタルフィルタ演算部１３３は、出力データを求める演算（デジタルフィルタ演算）を実行する。デジタルフィルタ演算部１３３は、入力データ記憶部１３１から入力データを、係数データ記憶部１３２から係数データを、遅延量毎に夫々１つずつ読み出す。そして、デジタルフィルタ演算部１３３は、読出した値を用いて式（１）の演算を実行する。なお、可及的に高速なデジタルフィルタ演算を実現するために、デジタルフィルタ演算部１３３を図２に示したハードウェア回路で実現するようにしてもよい。
【００３３】
係数データ演算部１３４は、ユーザが所望するフィルタ特性を元に、デジタルフィルタ演算に必要な次数およびフィルタ係数を算出する。そして、係数データ演算部１３４は、算出した係数データおよび次数を係数データ記憶部１３２へ書き込む。ＦＩＲフィルタは、フィルタ係数の組み合わせにより、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタのいずれにも適用できるという特徴を持つ。フィルタ係数の算出手法は、広く知られているため、ここでは説明を省略する。
【００３４】
メイン処理部１３５は、Ａ／Ｄ変換装置１００全体の挙動を制御するためのものである。本実施の形態では、メイン処理部１３５は、バスインタフェース１６０と協働して、ＣＰＵ装置２００または周辺装置２０００から送られてきた各種要求（後述のデジタルフィルタ処理実行要求、デジタルフィルタ処理停止要求）および設定情報を受け付ける受け付け部として機能する。また、メイン処理部１３５は、Ａ／Ｄ変換部１２０より入力された値に対して、各種演算を加え、各種機能に応じたデジタル値を出力するものである。
【００３５】
共用メモリ１４０は、フィルタ特性記憶領域１４１を備える。フィルタ特性記憶領域１４１はフィルタ特性、デジタルフィルタ処理実行要求およびデジタルフィルタ処理停止要求を記憶するためのメモリ領域である。
【００３６】
フィルタ特性記憶領域１４１に格納されるフィルタ特性（設定情報）は、周波数応答特性であって、例えば入力データの周波数と、除去したいノイズの周波数に応じてユーザにより決められる。フィルタ特性記憶領域１４１に設定されるフィルタ特性は、例えば、ローパスフィルタ、バンドパスフィルタあるいはハイパスフィルタ等、フィルタの種類を指定するデータであってよい。また、フィルタ特性記憶領域１４１に設定されるフィルタ特性は、通過帯域、減衰帯域または阻止帯域を指定するデータであってよい。
【００３７】
ここで、フィルタ特性は、次の２通りのうちいずれかの方法により、フィルタ特性記憶領域１４１に書き込まれる。１つ目の方法は、ＣＰＵ装置２００の演算部２２０が、内蔵メモリ２３０または外部メモリに記憶されたユーザプログラムを実行することによりフィルタ特性を作成し、このフィルタ特性をフィルタ特性記憶領域１４１に書き込むものである。これは、フィルタ特性記憶領域１４１を、ＣＰＵ装置２００から直接書込み可能な共用メモリ１４０に設けたことにより実現される。
【００３８】
２つ目の方法は、まずユーザが外部の周辺装置２０００のフィルタ特性入力支援ツール５００にフィルタ特性を入力する。次に、フィルタ特性入力支援ツール５００は、入力されたフィルタ特性を、ＣＰＵ装置２００および装置間バス３００を介してフィルタ特性記憶領域１４１に書き込む。なお、フィルタ特性入力支援ツール５００が描画画面を表示画面に表示して周波数特性を示す曲線の入力を促して、フィルタ特性入力支援ツール５００は、前記描画画面を介して入力された曲線を以って入力されたフィルタ特性として扱うようにしてよい。
【００３９】
また、デジタルフィルタ処理実行要求は、フィルタ特性の変更のトリガとして機能する情報である。即ち、メイン処理部１３５は、デジタルフィルタ処理実行要求が前記フィルタ特性記憶領域１４１に書き込まれたことを検知したとき、係数データ演算部１３４にフィルタ係数を更新せしめることができる。ここでは、簡単のために、デジタルフィルタ処理実行要求は、係数データ演算部１３４およびデジタルフィルタ演算部１３３の処理を開始するトリガとして用いられ、デジタルフィルタ処理停止要求は、デジタルフィルタ演算部１３３の処理を停止するトリガとして用いられることとして説明する。
【００４０】
なお、所定のフラグ情報をデジタルフィルタ処理実行要求およびデジタルフィルタ処理停止要求として用いるようにしてもよい。即ち、例えば、フラグ情報の値が「１」であることを以ってデジタルフィルタ処理実行要求が書き込まれたものとし、フラグ情報の値が「０」であることを以ってデジタルフィルタ処理停止要求が書き込まれたものとすることが可能である。
【００４１】
なお、Ａ／Ｄ変換装置１００は、デジタルフィルタ処理実行要求およびデジタルフィルタ処理停止要求を次の３つの方法のいずれか１つにより受け付けることができる。
・ＣＰＵ装置２００から発行される要求を受け付ける方法
・フィルタ特性入力支援ツール５００から発行される要求を受け付ける方法
・演算部１３０の演算結果により、演算部１３０自身が要求を発行し、当該要求を受け付ける方法
・トリガ信号入力インタフェース１５０から入力されるトリガ信号を要求として受け付ける方法
【００４２】
なお、フィルタ特性記憶領域１４１は、複数のフィルタ特性を記憶するようにしてもよい。例えば、受け付け部は、デジタルフィルタ処理実行要求とともに、フィルタ特性記憶領域１４１が記憶する複数のフィルタ特性のうちの一を指定するフィルタ特性指定データを受け付け、係数データ演算部１３４は、デジタルフィルタ処理実行要求の入力をトリガとして、フィルタ特性指定データにより指定されたフィルタ特性に基づいて次数およびフィルタ係数の算出をするようにしてよい。
【００４３】
また、共用メモリ１４０は、デジタル値を記憶するためのデジタル値記憶領域１４２を備える。デジタル値記憶領域１４２に記憶されるデジタル値は、デジタルフィルタ演算部１３３からの出力データである。
【００４４】
なお、デジタルフィルタ演算部１３３により出力されたデジタル値は、メイン処理部１３５において加工された後にデジタル値記憶領域１４２に格納されるようにしてよい。
【００４５】
次に、本発明の実施の形態のＡ／Ｄ変換装置１００の動作を説明する。図５は、本発明の実施の形態のＡ／Ｄ変換装置１００の動作を説明するフローチャートである。
【００４６】
まず、メイン処理部１３５は、デジタルフィルタ処理実行要求が有ったか否かを判定する（ステップＳ１）。デジタルフィルタ処理実行要求の有無は、フィルタ特性記憶領域１４１へのデジタルフィルタ処理実行要求の書込みの有無に基づいて判定される。デジタルフィルタ処理実行要求が無い場合（ステップＳ１、Ｎｏ）、メイン処理部１３５は、ステップＳ１の判定処理を再び実行する。
【００４７】
デジタルフィルタ処理実行要求が有った場合（ステップＳ１、Ｙｅｓ）、係数データ演算部１３４は、フィルタ特性記憶領域１４１からフィルタ特性を読出し、フィルタ係数および次数を演算する（ステップＳ２）。ステップＳ２において、フィルタ係数を正常に算出できた場合（ステップＳ３、Ｙｅｓ）、フィルタ係数を係数データ記憶部１３２に格納する（ステップＳ４）。
【００４８】
フィルタ係数が正常に算出できなかった場合（ステップＳ３、Ｎｏ）、ステップＳ１の処理が再び実行される。フィルタ係数が正常に算出できない場合とは、例えば、入力されたフィルタ特性に矛盾がある場合や、Ａ／Ｄ変換装置１００では処理できない値が入力された場合等が該当する。
【００４９】
ステップＳ４の処理の後、デジタルフィルタ演算部１３３は、次のＡ／Ｄ変換周期に達したか否かを判定する（ステップＳ５）。次のＡ／Ｄ変換周期に達していない場合（ステップＳ５、Ｎｏ）、デジタルフィルタ演算部１３３は、ステップＳ５の処理を再び実行することで、Ａ／Ｄ変換周期に達するまで待つ。
【００５０】
次のＡ／Ｄ変換周期に達している場合（ステップＳ５、Ｙｅｓ）、デジタルフィルタ演算部１３３は、入力データ記憶部１３１が記憶する入力データを１点ずつ隣のアドレスへシフトするとともに、最も古いデータを削除する（ステップＳ６）。そして、デジタルフィルタ演算部１３３は、Ａ／Ｄ変換部１２０が生成したデジタル値を入力データ記憶部１３１の先頭に格納する（ステップＳ７）。
【００５１】
次に、デジタルフィルタ演算部１３３は、出力データ、入力データ読出しアドレス、係数データ読出しアドレスを初期化する（ステップＳ８）。ここで、入力データ読出しアドレスは、図３に示すように、入力データ記憶部１３１が具備するメモリ領域内の位置を示すポインタである。また、係数データ読出しアドレスは、図４に示すように、係数データ記憶部１３２が具備するメモリ領域内の位置を示すポインタである。入力データ記憶部１３１の先頭アドレスに最も新しい入力データが格納され、係数データ記憶部１３２の先頭アドレスに最も新しい入力データに対応するフィルタ係数が格納されているため、ステップＳ８の処理においては入力データ読出しアドレスおよび係数データ読出しアドレスがともにアドレス０に初期化される。なお、入力データ読出しアドレスおよび係数データ読出しアドレスの記憶位置は特に限定されない。
【００５２】
次に、デジタルフィルタ演算部１３３は、ステップＳ９およびステップＳ１４をループ端とするループ処理を、次数分だけ繰り返す（ステップＳ９）。なお、次数はステップＳ２により算出された値である。
【００５３】
ループ処理内において、デジタルフィルタ演算部１３３は、入力データ記憶部１３１から、入力データ読出しアドレスで指定された入力データを読み出す（ステップＳ１０）。そして、デジタルフィルタ演算部１３３は、係数データ記憶部１３２から、係数データ読出しアドレスで指定されたフィルタ係数を読み出す（ステップＳ１１）。
【００５４】
そして、デジタルフィルタ演算部１３３は、読出した入力データとフィルタ係数とを乗算し、当該乗算により得られた値を中間データに加算する（ステップＳ１２）。なお、中間データの記憶位置は特に限定されない。例えば中間データは内蔵メモリ１９０に格納されるようにしてよい。
【００５５】
そして、デジタルフィルタ演算部１３３は、入力データ読出しアドレス、係数データ読出しアドレスを夫々インクリメントする（ステップＳ１３）。
【００５６】
そして、デジタルフィルタ演算部１３３は、次数分だけ繰り返したか否かを判定する（ステップＳ１４）。繰り返し回数が次数分に満たない場合、デジタルフィルタ演算部１３３は、ステップＳ９の処理に戻る。繰り返し回数が次数に一致する場合、デジタルフィルタ演算部１３３は、ループ処理を抜ける。
【００５７】
ループ処理を抜けた後、デジタルフィルタ演算部１３３は、ループ処理後の中間データを出力データとしてデジタル値記憶領域１４２に格納する（ステップＳ１５）。
【００５８】
次に、メイン処理部１３５は、デジタルフィルタ処理停止要求が有るか否かを確認する（ステップＳ１６）。デジタルフィルタ処理停止要求の有無は、フィルタ特性記憶領域１４１へのデジタルフィルタ処理停止要求の書込みの有無に基づいて判定される。デジタルフィルタ処理停止要求が無い場合（ステップＳ１６、Ｎｏ）、デジタルフィルタ演算部１３３は、ステップＳ５の処理を再び実行する。
【００５９】
デジタルフィルタ処理停止要求が有る場合（ステップＳ１６、Ｙｅｓ）、ステップＳ１の判定処理が再び実行される。
【００６０】
以上述べたように、本発明の実施の形態によれば、Ａ／Ｄ変換装置１００は、最も新しく出力された複数のデジタル値を遅延量順に配列し、複数のデジタル値の夫々が遅延量に応じた固定のアドレスに位置するように記憶する入力データ記憶部１３１と、フィルタ特性を指定する設定情報を記憶するフィルタ特性記憶領域１４１と、フィルタ係数を記憶する係数データ記憶部１３２と、デジタルフィルタ処理実行要求を受け付ける受け付け部としてのメイン処理部１３５およびバスインタフェース１６０と、受け付け部がデジタルフィルタ処理実行要求を受け付けたとき、フィルタ特性記憶領域１４１が記憶するフィルタ特性に基づいて次数と前記次数の数のフィルタ係数とを算出し、算出したフィルタ係数の夫々を、対応する遅延量順に配列するとともに対応する遅延量に応じた固定のアドレスに位置するように係数データ記憶部１３２に格納する係数データ演算部１３４と、次数の数のデジタル値を入力データ記憶部１３１から、次数の数のフィルタ係数を係数データ記憶部１３２から、格納されたアドレスに基づいて遅延量毎に夫々読出して、読出した遅延量毎の値に基づくフィルタ演算を実行し、演算結果を出力する動作を、Ａ／Ｄ変換周期毎に実行するデジタルフィルタ演算部１３３と、を備える。これにより、Ａ／Ｄ変換装置１００は、デジタルフィルタ処理実行要求を受け付けると、指定されたフィルタ特性を持つデジタルフィルタを適用したデジタル値の出力を開始することができるので、ユーザの所望するフィルタ特性を持ったデジタルフィルタ処理を実現することが可能となる。また、Ａ／Ｄ変換装置１００は、入力データの夫々を遅延量に応じた固定のアドレスに記憶するので、デジタル値をリングバッファに格納した場合に必要となる終端判定処理を不要とすることで、Ａ／Ｄ変換の処理にかかる負荷が低減される。また、Ａ／Ｄ変換装置１００は、フィルタ係数の夫々を遅延量に応じた固定のアドレスに記憶するので、フィルタ係数を記憶するための領域のサイズの肥大化を防止することができる。また、Ａ／Ｄ変換装置１００は、Ａ／Ｄ変換周期毎にデジタルフィルタ処理を実行できるため、デジタルフィルタ処理が無いときと同じ周期でデジタル値を出力することができる。即ち、Ａ／Ｄ変換部１２０の変換速度と等しい高速なＡ／Ｄ変換周期を維持したままデジタルフィルタ処理後のデジタル値を得ることができるようになる。
【００６１】
また、Ａ／Ｄ変換装置１００は、周辺装置２０００またはＣＰＵ装置２００などの外部装置が接続され、受け付け部は、外部装置から実行要求を受け付ける。これにより、ユーザは、フィルタ特性を書き換えるとともに、周辺装置２０００を介してデジタルフィルタ実行要求を入力することができるため、ＰＬＣ１０００が設置された装置が扱う製品に応じて、デジタルフィルタの特性を自由に変更することができる。これにより、複数製品を扱う生産ラインであっても、製品毎にデジタルフィルタの特性を簡単に変更することができるようになる。
【００６２】
フィルタ特性記憶領域１４１は、異なる複数の設定情報を記憶し、受け付け部は、デジタルフィルタ処理実行要求とともに、外部装置からフィルタ特性記憶領域１４１に格納された複数の設定情報のうちの一を指定するフィルタ特性指定データを受け付け、係数データ演算部１３４は、フィルタ特性指定データにより指定されたフィルタ特性に基づいて次数およびフィルタ係数を算出する。これにより、ユーザは、製品毎にデジタルフィルタの特性を簡単に変更することができるようになる。
【００６３】
なお、ＰＬＣ１０００のＨＭＩ（Human  Machine  Interface）として機能するプログラマブル表示器も、本発明の実施の形態の周辺装置２０００の概念の範疇に含まれる。即ち、ユーザは、プログラマブル表示器から簡単にデジタルフィルタの特性を変更できる。
【００６４】
また、受け付け部は、外部装置からフィルタ特性の入力を受け付けてフィルタ特性記憶領域１４１に格納する。これにより、ユーザは、外部装置からフィルタ特性を設定することができる。
【産業上の利用可能性】
【００６５】
以上のように、本発明にかかる変換装置、周辺装置およびプログラマブルコントローラは、Ａ／Ｄ変換を行う変換装置、ユーザからの操作に応じて変換装置の操作または設定を行う周辺装置および変換装置を備えるプログラマブルコントローラに適用して好適である。
【符号の説明】
【００６６】
１００  Ａ／Ｄ変換装置、１１０  アナログ入力インタフェース、１２０  Ａ／Ｄ変換部、１３０  演算部、１３１  入力データ記憶部、１３２  係数データ記憶部、１３３  デジタルフィルタ演算部、１３４  係数データ演算部、１３５  メイン処理部、１４０  共用メモリ、１４１  フィルタ特性記憶領域、１４２  デジタル値記憶領域、１５０  トリガ信号入力インタフェース、１６０  バスインタフェース、１７０  内部バス、１８０  カウンタ、２００  ＣＰＵ装置、２１０  外部メモリインタフェース、２２０  演算部、２３０  内蔵メモリ、２４０  周辺装置インタフェース、２５０  バスインタフェース、２６０  内部バス、３００  装置間バス、５００  フィルタ特性入力支援ツール、２０００  周辺装置、３０００  接続ケーブル。
【図１】
2014068747.tif 000003
【図２】
2014068747.tif 000004
【図３】
2014068747.tif 000005
【図４】
2014068747.tif 000006
【図５】
2014068747.tif 000007
【国際調査報告】
2014068747.tif 000008
2014068747.tif 000009