(57)【要約】【課題】  アナログ信号入力処理を、高速フーリエ変換のような高度な演算をリアルタイムで行うとともに、高速フーリエ変換の入力パラメータをユーザアプリケーションから任意に指定できるプログラマブルコントローラを提供する。【解決手段】  アナログ信号入力処理部２と、ユーザアプリケーションを格納するユーザアプリケーションメモ６と、ユーザアプリケーションの実行と前記アナログ信号入力処理部とのデータのやり取りを行うメイン処理部７と、高速フーリエ変換の入力パラメータを指定し、高速フーリエ変換の開始を指示する高速フーリエ変換開始関数を実行する高速フーリエ変換開始関数処理部１３と、高速フーリエ変換されたデータを読み込む高速フーリエ変換データ読込み関数を実行する高速フーリエ変換読込み関数処理部１４とを備える。【選択図】図１
2006209387.tif 000002
【特許請求の範囲】
【請求項１】
アナログ信号を入力し電圧変換及び信号レベルを調整する信号入力部と、
該信号入力部から出力された信号をデジタルデータに変換するＡ／Ｄ変換部と、
データの受け渡しや処理の指示を行うデータ制御部と、
該データ制御部の指示により、Ａ／Ｄ変換されたデータを高速フーリエ変換する高速フーリエ変換処理部と、
前記高速フーリエ変換されたデータの受け渡しを行うデュアルポートメモリを有するアナログ信号入力処理部と、
ユーザアプリケーションを格納するユーザアプリケーションメモリと、
該ユーザアプリケーションの実行と前記アナログ信号入力処理部とのデータのやり取りを行うメイン処理部と、
前記ユーザアプリケーションのプログラミングやデータ表示を行う保守ツールとの通信インターフェースを有するプログラマブルコントローラにおいて、
ユーザアプリケーションから呼び出され、高速フーリエ変換の入力パラメータを指定し、高速フーリエ変換の開始を指示する高速フーリエ変換開始関数を実行する高速フーリエ変換開始関数処理部と、
高速フーリエ変換されたデータを読み込む高速フーリエ変換データ読込み関数を実行する高速フーリエ変換読込み関数処理部とを備えることを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアナログ信号入力機能をもつプログラマブルコントローラに関するものである。
【背景技術】
【０００２】
従来アナログ信号入力はＡ／Ｄ変換された入力データの値を高速又は低速スキャンで動作するユーザが作成するユーザアプリケーションで処理していた。
図８は従来のアナログ信号入力機能を持つプログラマブルコントローラのブロック図である。図８において、１はプログラマブルコントローラである。２はアナログ信号入力処理部であり、信号入力部４とＡ/Ｄ変換部５を有する。６はユーザが作成するユーザアプリケーションを格納するユーザアプリケーションメモリであり、７はユーザアプリケーションを実行するメイン処理部である。また、８の通信インターフェースを通じて９の保守ツールと接続される。保守ツール９はプログラミング、データ表示等を行う。
３相交流電源や振動センサ等のアナログ信号３は、信号入力部４に入力される。信号入力部４は、アナログ信号３の用途によりＡ／Ｄ変換器に入力するための電圧変換器及び信号レベルを調整するための増幅器を設ける。また、Ａ／Ｄ変換器のサンプリング周波数以上の高周波成分入力におけるエリアジングの影響を防ぐためにローパスフィルター（ＬＰＦ）を設ける。
信号入力部４で処理された信号入力はＡ/Ｄ変換器５に入力され、デジタル値に変換される。
ユーザアプリケーションメモリ６にはユーザが保守ツール９を使用して作成したユーザアプリケーションがあり、そのプログラムはメイン処理部７で実行される。
例えば、交流入力信号の周波数分析を行おうとすると、周波数分析には高速フーリエ変換（ＦＦＴ）等の高度なアルゴリズム演算を高速で実行する必要がある。その演算をこの構成で実現しようとすると、ユーザアプリケーションのステップ数が非常に大きくなり、またメイン処理部７の演算速度も遅いため、リアルタイムに演算結果を出すのは実用的に困難であるという問題がある。
【０００３】
これに対し特許文献１では、アナログ信号に対して高速フーリエ変換処理を行い、アナログ信号を周波数分析して得たデータをプログラマブルコントローラのコントロールユニットに伝達する増設ユニットを備えることが提案されている。
図９は特許文献１の増設ユニットのブロック図である。２１は入力回路部、２２はＡ/Ｄ変換回路部、２３は高速フーリエ変換部、２４はＩＦ回路図である。
入力信号が入力回路部２１に取り込まれると、その入力信号に対して、Ａ/Ｄ変換回路部２２でデジタル信号への変換が行われる。この後、そのデジタル信号に対して高速フーリエ変換部２３で高速フーリエ変換処理が行われ、これにより得られたデータがＩＦ回路部２４を通じてプログラマブルコントローラのコントロールユニットに伝達される。
この構成をとれば、高速フーリエ変換処理がプログラマブルコントローラのコントローラユニットと独立しているので、アナログ信号をリアルタイムに処理することができる。
【特許文献１】特開２００１−１７５３１２号公報（６頁、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のプログラマブルコントローラで、アナログ入力信号処理を、入力データの値を高速又は低速スキャンで動作するユーザが作成するユーザアプリケーションで処理するものでは、ユーザアプリケーションのステップ数が非常に大きくなり、また、メイン処理部の演算速度も遅いため、リアルタイムに演算結果を出すのは実用的に困難であるという問題がある。
また、アナログ信号に対して高速フーリエ変換処理を行い、アナログ信号を周波数分析して得たデータをプログラマブルコントローラのコントロールユニットに伝達する増設ユニットを備えるものでは、基本周波数、基本周波数スペクトラムレンジ、計測次数といった高速フーリエ変換の入力パラメータが固定されたものに対し結果を出力するだけであり、入力パラメータをユーザが任意に設定できないため柔軟性に欠けるという問題がある。
本発明はこのような問題に鑑みてなされたものであり、アナログ信号入力処理を、高速フーリエ変換のような高度な演算をリアルタイムで行うとともに、高速フーリエ変換の入力パラメータをユーザアプリケーションから任意に指定できるプログラマブルコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記問題を解決するため、本発明のプログラマブルコントローラは、アナログ信号を入力し電圧変換及び信号レベルを調整する信号入力部と、該信号入力部から出力された信号をデジタルデータに変換するＡ／Ｄ変換部と、データの受け渡しや処理の指示を行うデータ制御部と、該データ制御部の指示により、Ａ／Ｄ変換されたデータを高速フーリエ変換する高速フーリエ変換処理部と、前記高速フーリエ変換されたデータの受け渡しを行うデュアルポートメモリを有するアナログ信号入力処理部と、ユーザアプリケーションを格納するユーザアプリケーションメモリと、該ユーザアプリケーションの実行と前記アナログ信号入力処理部とのデータのやり取りを行うメイン処理部と、前記ユーザアプリケーションのプログラミングやデータ表示を行う保守ツールとの通信インターフェースを有するプログラマブルコントローラにおいて、ユーザアプリケーションから呼び出され、高速フーリエ変換の入力パラメータを指定し、高速フーリエ変換の開始を指示する高速フーリエ変換開始関数を実行する高速フーリエ変換開始関数処理部と、高速フーリエ変換されたデータを読み込む高速フーリエ変換データ読込み関数を実行する高速フーリエ変換読込み関数処理部とを備えることを特徴としている。
【発明の効果】
【０００６】
本発明によれば、高速フーリエ変換の入力パラメータを指定し、高速フーリエ変換の開始を指示する高速フーリエ変換開始関数を実行する高速フーリエ変換開始関数処理部と、高速フーリエ変換されたデータを読み込む高速フーリエ変換データ読込み関数を実行する高速フーリエ変換読込み関数処理部とを備えるため、アナログ信号入力処理を、高速フーリエ変換のような高度な演算をリアルタイムで行うとともに、高速フーリエ変換の入力パラメータをユーザアプリケーションから任意に指定できるプログラマブルコントローラを提供することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について図を参照して説明する。
【実施例】
【０００８】
図１は本発明のプログラマブルコントローラのブロック図である。
図１において１から９までは、図８と同一であり、同一名称には同じ符号を付け、重複説明は省略する。１０はアナログ信号入力処理部のデータ制御部で、Ａ／Ｄ変換部５、高速フーリエ変換処理部１１、メイン処理部７とのデータのやり取りを行う。１１は高速フーリエ変換処理部で、高速フーリエ変換を行う。データ制御部１０、高速フーリエ変換処理部１１は、高速フーリエ変換のアルゴリズムを処理するため、高速なＤＳＰ（デジタルシグナルプロセッサ）またはそれ相当のＣＰＵで実行する。１２はデュアルポートメモリで、メイン処理部７とデータ制御部１０とのデータの受け渡しを行う。なお、１１は図９の高速フーリエ変換部２３、１２は図９のＩＦ回路部２４に相当する。１３は高速フーリエ変換開始関数処理部で、ユーザアプリケーションから呼び出される高速フーリエ変換開始関数を処理する。１４は高速フーリエ変換データ読込み関数処理部で、高速フーリエ変換読込み関数を処理する。本発明が従来と異なる点は、高速フーリエ変換開始関数処理部１３、高速フーリエ変換データ読込み関数処理部１４を設けた点である。
ユーザが高速フーリエ変換を実行させる場合、ユーザアプリケーションに高速フーリエ変換開始関数及び高速フーリエ変換読込み関数を記載し、通常のユーザアプリケーションのラダープログラムと同様にメイン処理部７のスキャン処理で実行させる。プログラミングには保守ツール９を使用する。
【０００９】
以下に、高速フーリエ変換開始関数とその処理について説明する。
図２は、高速フーリエ変換開始関数を説明する図である。図２（ａ）は高速フーリエ変換開始関数のラダー回路図である。入力として実行指令、リセット指令、アナログ入力のチャンネル番号、出力として実行中、完了報告、エラー報告を設けており、これら入出力には任意のレジスタ接点又はコイルを割り当てる。パラメータアドレス入力の格納エリアは任意のユーザーレジスタのアドレスを指定する。図２（ｂ）はパラメータの入力内容である。パラメータ内容として基本周波数（１次周波数）、基本周波数スペクトラムレンジ、計測次数、窓関数指定を設けておりパラメータアドレス入力で指定したアドレスのレジスタ領域にデータを設定する。計測次数とは基本周波数のｎ倍の周波数のｎを指す。窓関数とは高速フーリエ変換の演算をおこなう際、入力離散信号の左右の歪を抑えるために用いられるものでありハニング、ハミング、ガウスなどの種類がある。
図３は、高速フーリエ変換開始関数処理部１３のフローチャートである。
ステップＳ１で高速フーリエ変換開始関数が実行中かどうかをチェックする。もし、実行中でなければステップＳ２に進み、データ制御部１０に高速フーリエ変換所開始を指令し、実行中出力をオンする。この指令で基本周波数、基本周波数スペクトラムレンジ、計測次数等のパラメータデータをデータ制御部１０に伝達する。ステップＳ１で実行中ならステップＳ３に進み、高速フーリエ変換処理部からの変換完了を待つ。ステップＳ３で高速フーリエ変換が正常に完了したかどうか確認し、正常に完了した場合、ステップＳ４に進み完了報告出力をオンする。ステップＳ５で、エラーが有ったかどうかチェックし、もしエラーが有った場合、ステップＳ６に進み、エラー報告出力をオンする。
【００１０】
図４は、データ制御部１０の高速フーリエ変換開始のフローチャートである。
ステップＳ１１で高速フーリエ変換開始の指令が有るかどうかチェックする。指令があればステップＳ１２に進み高速フーリエ変換開始関数から指令されたパラメータ内容を取り込む。次にステップＳ１３に進みパラメータ内容からアナログデータの取り込みを行う。ステップＳ１４で取り込んだデータをＡ／Ｄ変換する。ステップＳ１５でパラメータにて指定された計測次数分のデータ全てを取り込んだかどうかをチェックする。データを全て取り込んでいない場合はステップＳ１３に戻り全てを取り込むまでデータの取り込みを行う。データ全ての取り込みが完了した場合、ステップＳ１６に進み、高速フーリエ変換処理部１１で高速フーリエ変換を行う。そしてステップＳ１７に進み、高速フーリエ変換完了を出力する。もし、高速フーリエ変換でエラーが発生した場合、エラーを出力する。エラー出力の例としては図２（ｂ）のパラメータの入力内容が指定範囲外を超えている場合や図３の３におけるアナログ入力信号レベルが小さく演算不可能の場合等がある。
【００１１】
次に、高速フーリエ変換データ読込み関数とその処理について説明する。
図５は、高速フーリエ変換データ読込み関数を説明する図である。図５（ａ）は高速フーリエ変換データ読込み関数のラダー回路図である。入力としてデータ読込み指令、アナログ入力のチャンネル番号、出力として完了報告、エラー報告を設けており、これら入出力には任意のレジスタ接点又はコイルを割り当てる。ユーザアプリケーションのユーザレジスタに格納するために出力データ先頭アドレスは任意のユーザレジスタの先頭アドレスを指定する。図５（ｂ）はデータ出力内容の例である。例えば、図２（ｂ）の高速フーリエ変換開始関数のパラメータが、基本周波数に６０Ｈｚ、基本周波数スペクトラムレンジに１０００、計測次数に５１２、窓関数にハミングを指定した状態で、図１のアナログ信号３が方形波であったとする。方形波入力であるので高速フーリエ変換の各計測次数スペクトラムの演算結果データは基本周波数スペクトラムレンジ／計測次数となる（偶数次数のスペクトラムは０となる）。計測次数分の演算データが図５（ａ）で指定した出力データアドレスを先頭に実数値にて出力される。
【００１２】
図６は、高速フーリエ変換データ読込み関数処理部１３のフローチャートである。
ステップＳ２１で高速フーリエ変換データ読込み指令実行中かどうかチェックし、指令実行中でなければステップＳ２２に進み、データ制御部１０に高速フーリエ変換データ読込み指令を行い、データ読込み中出力をオンする。この指令で読み込みデータの出力データ先頭アドレスがデータ制御部１０に伝達される。ステップＳ２１で実行中ならステップＳ２３に進み、制御部１０からのデータ読込み完了を待つ。ステップＳ２３でデータ読込みが正常に完了したかどうか確認し、正常に完了した場合、ステップＳ２４に進み完了報告出力をオンする。ステップＳ２５で、エラーがあったかどうかチェックし、もしエラーが有った場合、ステップＳ２６に進み、エラー報告出力をオンする。エラー出力の例としては図２（ａ）の高速フーリエ変換開始関数が実行されておらず演算結果が格納されていない場合等がある。
図７は、データ制御部１０の高速フーリエ変換データ読込みのフローチャートである。
ステップＳ３１で高速フーリエ変換データ読込み指令があるかどうかチェックする。読込み指令があればステップＳ３２に進みアプリケーションから指令されたパラメータ内容を取り込む。次にステップＳ３３に進みパラメータ内容により高速フーリエ変換されたデータを読込む。ステップＳ３４で出力データ指定レジスタにデータを転送し、正常完了またはエラーをオンする。
【００１３】
次に、読込んだ高速フーリエ変換データの処理の例を説明する。
例えば、保守ツール９のデータ表示機能を利用して、アナログ信号のチャンネル毎の周波数スペクトラムを各次数毎に棒グラフでグラフィカル表示したい場合、保守ツール９から周波数分析データが格納されたユーザレジスタ番地の読込みをメイン処理部７に要求する。メイン処理部７はそのレジスタ番地のデータを保守ツール９へ転送する。高速フーリエ変換の演算結果は高速フーリエ変換開始関数及び高速フーリエ変換データ読込み関数が逐次実行されていれば随時更新され転送されるのでリアルタイムにデータの表示更新が可能である。
また、ユーザアプリケーションでも演算結果が格納されたレジスタデータから各次数の周波数スペクトラムのデータを取得できるので任意の目的に応用可能である。
このように、高速フーリエ変換処理部をメイン処理部と独立させ、高速フーリエ変換開始関数と高速フーリエ変換データ読込み関数をユーザアプリケーションで実行できるように構成したので、アナログ信号入力処理で、高速フーリエ変換のような高度な演算をリアルタイムで行うとともに、高速フーリエ変換の入力パラメータをユーザアプリケーションから任意に指定できるのである。
【産業上の利用可能性】
【００１４】
応用分野として、３相交流電源電流又は電圧のアナログ入力信号を取り込みデータの周波数分析を行い、ユーザアプリケーションにて任意にデータを処理しリアルタイムに高調波分析データの表示が可能な計装モニタを構築することが可能である。また、外部入力に振動センサを設け入力データの周波数分析をおこないユーザアプリケーションにて任意にデータを処理することによって、プログラマブルコントローラで振動分析機能を処理できるといった応用がある。振動周波数データのレベルをリアルタイムで入力できることにより、モータや盤の筐体等の異常振動や衝撃発生に対するフェイルセーフ等をユーザアプリケーションにて処理するといったことが可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明のプログラマブルコントローラのブロック図
【図２】高速フーリエ変換開始関数を説明する図
【図３】高速フーリエ変換開始関数処理部のフローチャート
【図４】データ制御部の高速フーリエ変換開始のフローチャート
【図５】高速フーリエ変換データ読込み関数を説明する図
【図６】高速フーリエ変換データ読込み関数処理部のフローチャート
【図７】制御部１０の高速フーリエ変換データ読込みのフローチャート
【図８】従来のアナログ信号入力機能を持つプログラマブルコントローラのブロック図
【図９】従来の増設ユニットのブロック図
【符号の説明】
【００１６】
１  プログラマブルコントローラ
２  アナログ入力処理部
３  アナログ信号
４  信号入力部
５  Ａ／Ｄ変換部
６  ユーザアプリケーションメモリ
７  メイン処理部
８  通信インターフェース
９  保守ツール
１０  データ制御部
１１  高速フーリエ変換部
１２  デュアルポートメモリ
１３  高速フーリエ変換開始関数処理部
１４  高速フーリエ変換データ読込み関数処理部
２１  入力回路部
２２  Ａ／Ｄ変換回路部
２３  高速フーリエ変換部
２４  ＩＦ回路部
【図１】
2006209387.tif 000003
【図２】
2006209387.tif 000004
【図３】
2006209387.tif 000005
【図４】
2006209387.tif 000006
【図５】
2006209387.tif 000007
【図６】
2006209387.tif 000008
【図７】
2006209387.tif 000009
【図８】
2006209387.tif 000010
【図９】
2006209387.tif 000011