JP2018028493A - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP2018028493A
JP2018028493A JP2016160958A JP2016160958A JP2018028493A JP 2018028493 A JP2018028493 A JP 2018028493A JP 2016160958 A JP2016160958 A JP 2016160958A JP 2016160958 A JP2016160958 A JP 2016160958A JP 2018028493 A JP2018028493 A JP 2018028493A
Authority
JP
Japan
Prior art keywords
period
value
counter
adder
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016160958A
Other languages
English (en)
Other versions
JP6513061B2 (ja
Inventor
敏昭 塩田
Toshiaki Shioda
敏昭 塩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Yokogawa Test and Measurement Corp
Original Assignee
Yokogawa Electric Corp
Yokogawa Test and Measurement Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp, Yokogawa Test and Measurement Corp filed Critical Yokogawa Electric Corp
Priority to JP2016160958A priority Critical patent/JP6513061B2/ja
Priority to CN201710713063.5A priority patent/CN107765064B/zh
Publication of JP2018028493A publication Critical patent/JP2018028493A/ja
Application granted granted Critical
Publication of JP6513061B2 publication Critical patent/JP6513061B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/02Measuring effective values, i.e. root-mean-square values
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/175Indicating the instants of passage of current or voltage through a given value, e.g. passage through zero
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/25Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Measurement Of Current Or Voltage (AREA)
  • Power Sources (AREA)

Abstract

【課題】信号の周波数が低い場合でも、正確に実効値又は平均値を求めることができる演算装置を提供する。
【解決手段】不定周期的に変動する信号に基づいた入力値を積算して平均化する演算を行なう演算手段を備えた演算装置であって、所定期間毎に信号の周期区切れを検出する検出手段を備え、演算手段は、周期区切れが複数個検出される所定期間について、少なくとも複数個の周期区切れで定められる全周期分の入力値を用いて演算を行ない、周期区切れが1つ検出される所定期間について、1つの周期区切れと、1つの周期区切れの1つ前の周期区切れとで定められる周期分の入力値を用いて演算を行なう。
【選択図】図2

Description

本発明は、演算装置に関し、より具体的には、不定周期的に変動する信号に基づいた入力値を積算して平均化する演算を行なう演算装置に関する。
従来、上述した演算装置として、交流電圧又は交流電流のゼロクロスを検出する毎に、交流電圧又は交流電流の実効値を求めるものが提案されている(特許文献1)。具体的には、ゼロクロスからゼロクロスまでの交流電圧又は交流電流を積算して実効値を求めている。
しかしながら、上述した従来の演算装置では、交流電流又は交流電圧の周波数が高い場合、頻繁に実効値を演算する必要があり、演算が追い付かない、という問題があった。
そこで、予め定めたupdateレート(所定期間)毎に、交流電圧又は交流電流の実効値を求めることが考えられている。しかしながら、この場合、交流電圧又は交流電流の周期がupdateレートに比べて長い場合、1周期以上の交流電圧又は交流電流を積算することができず、正確に実効値を求めることができない、という問題があった。
特開2007−232571号公報
本発明は上記事情に鑑みてなされたものであり、不定周期的に変動する信号に基づいた入力値を積算して平均化する演算を行なう演算装置において、信号の周波数が低い場合でも、演算精度を高めることを目的とする。
上記課題を解決するため、本発明の演算装置は、不定周期的に変動する信号に基づいた入力値を積算して平均化する演算を行なう演算手段を備えた演算装置であって、所定期間毎に前記信号の周期区切れを検出する検出手段を備え、前記演算手段は、周期区切れが複数個検出される所定期間について、少なくとも前記複数個の周期区切れで定められる全周期分の入力値を用いて前記演算を行ない、周期区切れが1つ検出される所定期間について、前記1つの周期区切れと、前記1つの周期区切れの1つ前の周期区切れとで定められる周期分の入力値を用いて前記演算を行なうことを特徴とする。
ここで、前記演算手段は、周期区切れが複数個検出される所定期間について、前記複数個の周期区切れで定められる全周期分の入力値に加え、最初の周期区切れと、前記最初の周期区切れの1つ前の周期区切れとで定められる周期分の入力値を用いて前記演算を行なうことができる。
また、周期区切れが検出されない所定期間が規定回数以上継続したときタイムアウトと判定するタイムアウト判定手段をさらに備え、前記演算手段は、前記タイムアウトが判定されると、直近の周期区切れから前記タイムアウトと判定された所定期間の終了までの入力値を用いて前記演算を行なうようにしてもよい。
このとき、前記入力値を加算する加算器と、前記周期区切れの検出時、及び、前記タイムアウトが判定されるタイミングで前記加算器の加算値をリセットする第1加算器リセット手段と、前記周期区切れの検出回数をカウントするカウンタと、前記タイムアウトと判定されたとき前記カウンタを0にリセットし、前記所定期間の終了時に前記カウンタのカウント値が2以上のとき、前記カウンタを1にリセットする第1カウンタリセット手段と、前記周期区切れの検出時に前記カウンタのカウント値が1のとき前記加算器の加算値をメモリに保存する保存手段と、前記タイムアウトが判定されるタイミングでフラグをオフし、前記所定期間の終了時に前記カウンタのカウント値が2以上のときに前記フラグをオンする第1フラグ手段と、を備え、前記演算手段は、前記タイムアウトが判定されるタイミングにおいて、前記カウンタのカウント値が0のとき、前記タイムアウトが判定されるタイミングにおいて、前記カウンタのカウント値が1かつフラグがオンのとき、前記所定期間の終了タイミングにおいて、前記カウンタのカウント値が2以上のとき、前記加算器の加算値に基づいて前演算を行ない、前記タイムアウトが判定されるタイミングにおいて、前記カウント値が1かつ前記フラグがオフのとき、前記加算器の加算値に前記メモリの値を加算した値に基づいて前記演算を行なう第1演算部を有するようにしてもよい。
さらに、自動アップデート又は固定アップデートの何れか一方が設定される設定手段と、前記周期区切れの検出時、及び、前記所定期間の開始タイミングで前記加算器の加算値をリセットする第2加算器リセット手段と、前記自動アップデートが設定されている場合、前記第1加算器リセット手段に前記加算器のリセットを行わせ、前記固定アップデートが設定されている場合、前記第2加算器リセット手段に前記加算器のリセットを行わせる加算器リセット制御手段と、前記所定期間の開始タイミング毎に前記カウンタを0リセットする第2カウンタリセット手段と、前記自動アップデートが設定されている場合、前記第1カウンタリセット手段に前記カウンタのリセットを行なわせ、前記固定アップデートが設定されている場合、前記第2カウンタリセット手段に前記カウンタのリセットを行なわせるカウンタリセット制御手段と、前記フラグを常時オフにする第2フラグ手段と、前記自動アップデートが設定されている場合、前記第1フラグ手段により前記フラグをオンオフさせ、前記固定アップデートが設定されている場合、前記第2フラグ手段により前記フラグを常時オフさせるフラグ制御手段と、を備え、前記演算手段は、前記所定期間の開始タイミングにおいて、前記カウンタのカウント値が0のとき、前記所定期間の開始タイミングにおいて、前記カウンタのカウント値が2以上のとき、前記加算器の加算値に基づいて前記演算を行ない、前記所定期間の開始タイミングにおいて、前記カウンタのカウント値が1であるとき、前記加算器の加算値に前記メモリの値を加算した値に基づいて前記演算を行なう第2演算部をさらに有し、前記演算手段は、前記自動アップデートが設定されている場合、前記第1演算部による処理を行ない、前記固定アップデートが設定されている場合、前記第2演算部による処理を行なうようにしてもよい。
本発明によれば、不定周期的に変動する信号に基づいた入力値を積算して平均化する演算を行なう演算装置において、信号の周波数が低い場合でも、演算精度を高めることができる。
本発明の演算装置としての電力計の一実施形態を示すブロック図である。 図1に示すFPGAの詳細を示すブロック図である。 図1に示すFPGAの動作を説明するためのフローチャートである。 図1に示すFPGAの動作を説明するためのフローチャートである。 図1に示すFPGAの動作を説明するためのフローチャートである。 固定アップデートモードに設定されているときの図1に示すFPGAの動作を説明するためのタイムチャートである。 図1に示すFPGAの動作を説明するためのタイムチャートである。 図1に示すFPGAの動作を説明するためのタイムチャートである。 図1に示すFPGAの動作を説明するためのタイムチャートである。 図1に示すFPGAの動作を説明するためのタイムチャートである。 図1に示すFPGAの動作を説明するためのタイムチャートである。 他の実施形態を示す電力計である。 図12に示すFPGAの詳細を示すブロック図である。
本発明の演算装置としての電力計の一実施形態を図面に基づいて説明する。図1に示す電力計は、デジタル演算により交流電圧、交流電流の実効値や交流電力の平均値などを計測するものである。
図1に示す電力計1は、固定アップデートモードと、自動アップデートモードと、の2つの測定モードでの切り替えが可能である。固定アップデートモードは、予め定めたupdateレート(所定期間)毎に電圧実効値、電流実効値、電力平均値を演算して表示するモードである。自動アップデートモードは、交流の周期が短いときはupdateレート毎に電圧実効値、電流実効値、電力平均値を演算し、交流の周期が長いときは交流の一周期毎に実効値を演算して表示するモードである。これら2つのモードで切り替え可能である。
電力計1は、電圧・電流入力部2と、検出手段、演算手段としてのFPGA3と、CPU4と、表示器5と、操作部6と、を備えている。
電圧・電流入力部2は、アナログの電圧U1、電流I1(信号)を入力して、デジタル信号であるu(n)、i(n)に変換してFPGA3に対して供給する。電圧・電流入力部2は、電圧入力回路21と、A/D変換器22と、ゼロクロス検出器23と、電流入力回路24と、A/D変換器25と、ゼロクロス検出器26と、を備えている。
電圧入力回路21は、入力された電圧U1を、演算増幅器により、後段回路の処理に適したレベルに正規化する。A/D変換器22は、SMPCK(サンプリングクロック)のタイミング毎に、電圧入力回路21により正規化された電圧をデジタル信号であるu(n)に変換する。ここで、u(n)はn番目のサンプリングの電圧瞬時値の変換データである。
電流入力回路24は、入力された電流I1を、シャント抵抗により電圧に変換し、演算増幅器により、後段回路の処理に適したレベルに正規化する。A/D変換器25は、SMPCKのタイミング毎に、電流入力回路24により正規化された電圧をデジタル信号であるi(n)に変換する。ここで、i(n)はn番目のサンプリングの電流瞬時値の変換データである。
A/D変換器22から出力される電圧瞬時値の変換データであるu(n)はFPGA3に入力される。A/D変換器25から出力される電流瞬時値の変換データであるi(n)もFPGA3に入力される。
ゼロクロス検出器23は、電圧入力回路21で正規化された電圧を0レベルと比較し、0レベルより高ければ1を、低ければ0のデジタル値zcuを出力し、FPGA3に入力する。ゼロクロス検出器26は、電流入力回路24で正規化された電圧を0レベルと比較し、0レベルより高ければ1を、低ければ0のデジタル値zciを出力し、FPGA3に入力される。
FPGA3は、電圧・電流入力部2によって入力されたu(n)、i(n)から電圧実効値、電流実効値、電力平均値などを演算する。演算結果は、CPU4を介して表示器に表示される。CPU4は、操作部6からの操作入力により固定アップデートモード及び自動アップデートモードと、の一方が選択操作されると、その旨をFPGA3に伝える。
次に、FPGA3の詳細な構成について図2を参照して説明する。FPGA3は、MEST・MEEND発生器301と、AUTOUPDATE設定302と、サンプリングクロック発生器303と、2乗演算器304、305と、乗算器306と、タイミング制御回路307と、電圧2乗平均値演算回路308と、サンプリング数演算回路309と、平方根演算器310と、電流2乗平均値演算回路311と、平方根演算器312と、電力平均値演算回路313と、を備えている。
MEST・MEEND発生器301は、測定がスタートしたら、MESTを出力し、updateレート経過後にMEENDを出力する。MEENDを出力したら、次のサンプリングクロックのタイミングでMESTを出力し、これを繰り返す。即ち、図6〜図11に示すように、updateレートの開始時にMESTが出力され、updateレートの終了時にMEENDが出力される。
AUTOUPDATE設定302は、CPU4により固定アップデートモードが選択されたことが入力されると、AUTOUPDATEを0にして固定アップデートモードに設定する。また、AUTOUPDATE設定302は、CPU4により自動アップデートモードが選択されたことが入力されると、AUTOUPDATEを1にして自動アップデートモードに設定する。
サンプリングクロック発生器303は、A/D変換器22、A/D変換器25のサンプリングタイミングであるSMPCKを出力する。
2乗演算器304、305は各々、u(n)、i(u)を2乗した値をu_sqr(n)、i_sqr(n)として出力する。乗算器306は、u(n)とi(u)を乗算した値をp(n)として出力する。u_sqr(n)、i_sqr(n)及びp(n)が請求項中の「入力値」に相当する。残りの回路307〜309、311、313及び演算器310、312は、u_sqr(n)、i_sqr(n)、u×i(n)を積算してそれぞれ電圧実効値、電流実効値、電力平均値を演算する回路である。
次に、FPGA3の詳細な構成を説明する前に、上記FPGA3の動作について図3及び図4を参照して簡単に説明する。演算開始によってFPGA3は、処理を開始する。FPGA3は、AUTOUPDATE=0の場合(ステップS1でNo)、すなわち固定アップデートモードが選択されている場合、図4のステップS3に進む。その後、FPGA3は、updateレート終了まで待つ(ステップS3)。FPGA3は、updateレートが終了すると(ステップS3でYes)、そのupdateレート内に電圧U1、電流I1のうち選択されている一方の完全周期が入力されているか否かを判定する(ステップS4)
ここで、完全周期とは、電圧U1又は電流I1の負から正に変わる際のゼロクロス点を周期区切れとした場合、周期区切れから次の又は複数回の周期区切れまでを言う。そして、FPGA3は、updateレート内に電圧U1又は電流I1の周期区切れから次のまたは複数回の周期区切れまでが入力されると、完全周期が入力されていると判定する。
完全周期があれば(ステップS4でYes)、FPGA3は、updateレート内に入力された全ての完全周期分のu_sqr(n)、i_sqr(n)及びu×i(n)(以下、単に「データ」と略記)の積算値をサンプリング数で割った値に基づいて電圧実効値、電流実効値、電力平均値を演算した後(ステップS5)、ステップS1に戻る。
一方、完全周期がなければ(ステップS4でNo)、FPGA3は、そのupdateレートの開始から終了までのデータの積算値をサンプリング数で割った値に基づいて電圧実効値、電流実効値、電力平均値を演算した後(ステップS7)、ステップS1に戻る。
上述した固定アップデートモード時(ステップS3〜S6)の動作を図6に基づいて説明する。同図に示すように、最初のupdateレートには2周期分の完全周期が入力されている。このとき、FPGA3は、2周期分のデータの積算値(即ち、n=2〜n=13までの積算値)に基づいて実効値などを演算する。2番目のupdateレートには1周期分の完全周期が入力されている。このとき、FPGA3は、1周期分のデータの積算値(即ち、n=20〜n=27までの積算値)に基づいて実効値などを演算する。3番目、4番目のupdateレートのように完全周期がなければ、FPGA3は、updateレートに開始から終了までの全てのデータの積算値(即ち、n=35〜n=51までの積算値、n=52〜n=68までの積算値)に基づいて実効値などを演算する。
これに対して、FPGA3は、AUTOUPDATE=1の場合、即ち、自動アップデートモードの場合、図3のステップS8に進む。その後、FPGA3は、updateレートが終了すると(ステップS8でYes)、そのupdateレート内に電圧U1又は電流I1の周期区切れがあるか否かを判定する(ステップS9)。周期区切れがあれば(ステップS9でYes)、FPGA3は、今回のupdateレートよりも前に周期区切れがあるか否かを判定する(ステップS10)。
今回のupdateレートよりも前に周期区切れがあれば(ステップS10でYes)、FPGA3は、今回のupdateレートよりも前の最後の周期区切れ(=update前周期区切れ)から今回のupdateレート内の最後の周期区切れ(=今回最終周期区切れ)までの積算値をサンプリング数で割った値に基づいて電圧実効値、電流実効値、電力平均値を演算した後(ステップS11)、ステップS1に戻る。
一方、今回のupdateレートよりも前に周期区切れがなければ(ステップS10でNo)、FPGA3は、今回のupdateレート内に完全周期が一周期以上入力されているか否かを判定する(ステップS12)。完全周期があれば(ステップS12でYes)、FPGA3は、updateレート内に入力された全ての完全周期分のデータの積算値をサンプリング数で割った値に基づいて電圧実効値、電流実効値、電力平均値を演算した後(ステップS13)、ステップS1に戻る。完全周期がなければ(ステップS12でNo)、FPGA3は、電圧実効値、電流実効値、電力平均値を演算することなく、ステップS1に戻る。
上記自動アップデート時で、かつ、後述するタイムアウトする前の動作(ステップS10〜S13)を図7、図8に基づいて説明する。図7に示すように、1番目のupdateレートには2周期分の完全周期が入力されている。また、updateレート前周期区切れがない。このとき、FPGA3は、2周期分のデータの積算値(即ち、n=2〜n=13までの積算値)に基づいて実効値などを演算する。
2番目、3番目のupdateレートには周期区切れがあり、各updateレートよりも前に周期区切れがある。このとき、FPGA3は、2番目、3番目のupdateレートがそれぞれ終了すると、updateレート前周期区切れから2番目、3番目のupdateレートの最後の周期区切れまでのデータの積算値(即ち、n=14〜n=27までの積算値、n=28〜n=39までの積算値)に基づいて実効値などを演算する。
一方、図8に示すように、1番目のupdateレートには周期区切れがない。このため、1番目のupdateレート終了時には実効値の演算は行われない。2番目のupdateレートには周期区切れがあるが、2番目のupdateレートよりも前に周期区切れがない。このため、2番目のupdateレート終了時にも実効値の演算は行われない。3番目〜5番目のupdateレートには周期区切れがない。このため、3番目〜5番目のupdateレート終了時には実効値の演算は行われない。6番目のupdateレートには周期区切れがあり、6番目のupdateレートよりも前に周期区切れがある。このため、6番目のupdateレート終了時にはupdateレート前周期区切れから6番目のupdateレートの最後の周期区切れまでのデータの積算値(即ち、n=17〜n=58までの積算値)に基づいて実効値などを演算する。
次に、図3のステップS14〜S18の動作を説明する前にFPGA3のタイムアウトカウンタ機能について図5を参照して説明する。まず、FPGA3は、AUTOUPDATE=1のときに(ステップS20でYes)、updateレートが終了する毎に(ステップS21でYes)、当該updateレート内に周期区切れがあるか否かを判定する(ステップS22)。そして、周期区切れがあれば(ステップS22でYes)、FPGA3は、タイムアウトカウンタを0リセットして(ステップS23)、ステップS20に戻る。一方、周期区切れがなければ(ステップS22でNo)、FPGA3は、タイムアウトカウンタをカウントアップした後(ステップS24)、ステップS20に戻る。即ち、タイムアウトカウンタは、周期区切れがないと判定され続けるupdateレートの回数をカウントする。ただし、周期区切れがある場合であっても(ステップS22でYes)、その周期区切れが開始直後あるいはリセット直後の周期区切れの場合は、タイムアウトカウンタを0リセットせずに、カウントアップする。
次に、図3のステップS14〜S17の動作について説明する。FPGA3は、updateレート内に周期区切りがなければ(ステップS9でNo)、タイムアウト判定手段として機能し、上記タイムアウトカウンタがタイムアウト回数以上か否かを判定する(ステップS14)。タイムアウト回数未満であり(ステップS14でNo)、タイムアウトでなければ、FPGA3はステップS1に戻る。一方、タイムアウト回数(=規定回数)以上であれば、FPGA3はタイムアウトと判定する(ステップS14でYes)。そして、FPGA3は、完全周期がないと判定された最初のupdateレートよりも前に周期区切れがあるか否かを判定する(ステップS15)。なお、タイムアウト回数を適切に設定することで長周期や直流信号も測定可能になる。
周期区切れがあれば(ステップS15でYes)、完全周期がないと判定された最初のupdateレートよりも前の最後の周期区切れ(カウント開始前周期区切れ)からのデータの積算値をサンプリング数で割った値に基づいて電圧実効値、電流実効値、電力平均値を演算した後(ステップS16)、ステップS18に進む。区切れがなければ(ステップS15でNo)、完全周期がないと判定された最初のupdateレートの開始からのデータの積算値をサンプリング数で割った値に基づいて電圧実効値、電流実効値、電力平均値を演算した後(ステップS17)、ステップS18に戻る。
ステップS18において、FPGA3は、タイムアップカウンタをリセットするとともに、前の周期区切れもリセットし、ステップS1に戻る。
上記自動アップデート時で、かつ、タイムアウト後の動作(ステップS14〜S17)を図9〜図11に基づいて説明する。なお、図9に示す場合は、タイムアウト回数=2回に設定されている。図9に示すように、1番目のupdateレートには2周期分の完全周期が入力されている。また、updateレート前周期区切れがない。このとき、FPGA3は、2周期分のデータの積算値(即ち、n=2〜n=13までの積算値)に基づいて実効値などを演算する。2番目のupdateレートには完全周期がないため、実効値などの演算は行われない。また、2番目のupdateレート終了時にタイムアップカウンタがカウントアップされ、カウント値=1となる。
3番目のupdateレートには完全周期がない。3番目のupdateレート終了時にタイムアップカウンタがカウントアップされ、カウント値=2となる。このとき、タイムアウトと判定され、完全周期がないと判定された最初のupdateレート(2番目のupdateレート)よりも前に周期区切れがあるため、その周期区切れからタイムアウトと判定されたupdateレートの終了時までの積算値(即ち、n=14〜n=51までの積算値)に基づいて実効値などを演算する。
また、図10、図11に示す場合は、タイムアウト回数=3回に設定されている。図10、図11に示すように、1、2番目のupdateレートには完全周期が入力されていない。このため、実効値などの演算は行われない。そして、1、2番目のupdateレートが終了する毎にタイムアップカウンタがカウントアップされる。3番目のupdateレートにも完全周期が入力されていないため、3番目のupdateレートが終了したときもタイムアップカウンタがカウントアップされ、カウント値=3となりタイムアウトと判定される。このとき、完全周期がないと判定された最初のupdateレート(1番目のupdateレート)よりも前に周期区切れがないため、最初のupdateレートの開始からタイムアウトが判定されたupdateレートの終了時までの積算値(即ち、n=1〜n=51までの積算値)に基づいて実効値などが演算される。
次に、再び図2を参照してFPGA3の詳細な構成について説明する。
タイミング制御回路307は、MEST_1ST・MEEND_LAST発生器307Aと、セレクタ307Bと、検出手段としてのエッジ検出器307Cと、カウンタ、第1カウンタリセット手段、第1フラグ手段、第2カウンタリセット手段、カウンタリセット制御手段、第2フラグ手段、フラグ制御手段としてのZCエッジカウンタ307Dと、を備えている。
MEST_1ST・MEEND_LAST発生器307Aは、AUTOUPDATE=0のとき、MEST_1ST、MEEND_LASTとも0を出力する。AUTOUPDATE=1のとき、MEST_1ST・MEEND_LAST発生器307Aは、測定開始後、一番最初にMESTが出力されるタイミングで、MEST_1STを出力する。また、MEST_1ST・MEEND_LAST発生器307Aは、後述のMEEND_LASTを出力したら、次のMESTのとき、それをMEST_1STとして出力する。また、MEST_1ST・MEEND_LAST発生器307Aは、AUTOUPDATE=1のとき、MEST_1STを出力する毎にMEENDの数をカウンタで数えて設定したタイムアウト回数に達したら、その回のMEENDをMEEND_LASTとして出力する。このMEENDの数を数えるカウンタは、MEEND_LAST、または、後述するCOUNT_ZC≧2かつMEENDで0に初期化する。即ち、MEST_1ST・MEEND_LAST発生器307Aが、上述した図5に示す動作を行う。
セレクタ307Bは、ゼロクロス検出器23から出力されるzcuとゼロクロス検出器26から出力されるzciのうち1つを選択して、出力ZCとする。エッジ検出器307Cは、ZCの立ち上がりエッジを検出し、ZC_EDGEとして出力する。即ち、ゼロクロス検出器23、26、セレクタ307B及びエッジ検出器307Cが、検出手段として機能し、周期区切れの検出タイミングで、ZC_EDGEを出力する。
ZCエッジカウンタ307Dは、AUTOUPDATE=0のときは、MEST・MEEND発生器301からのMESTのタイミングでCOUNT_ZCを0に初期化する。また、フラグとしてのFLAG_PAST_2OVERは0に設定する。
電圧2乗平均値演算回路308は、第1加算器リセット手段、第2加算器リセット手段、加算器リセット制御手段としての加算器308Aと、保存手段としてのセレクタ308Bと、メモリ308Cと、加算器308Dと、メモリ308Eと、加算器308Fと、セレクタ308Gと、除算器308Hと、を備える。
加算器308Aは、u_sqr(n)を今までの加算値に加算し、SUM_INST_Uとして出力する。加算器308Aは、エッジ検出器307Cの出力ZC_EDGEのタイミングでも加算値SUM_INST_Uを0に初期化する。また、加算器308Aは、AUTOUPDATE=0のときは、MESTのタイミングで加算値SUM_INST_Uを0に初期化し、AUTOUPDATE=1のときは、MEST_1STのタイミングで加算値SUM_INST_Uを0に初期化する。
セレクタ308Bは、COUNT_ZC=1かつ、ZC_EDGEのとき、SUM_INST_UをSUM_INST_PREZC_Uに出力する。メモリ308Cは、このタイミングでSUM_INST_PREZC_Uを保存し、SUM_PREZC_Uとして出力する。セレクタ308Bは、COUNT_ZC≧2かつ、ZC_EDGEのとき、SUM_INST_UをSUM_INST_ZC_Uに出力する。
加算器308Dは、このタイミングでCOUNT_ZC=2であれば、SUM_INST_ZC_Uをメモリ308Eに保存する。加算器308Dは、COUNT_ZC≧3であれば、SUM_INST_ZC_Uとメモリ308Eの出力SUM_ZC_Uを加算し、メモリ308Eに保存する。メモリ308Eは、保存してあるデータをSUM_ZC_Uとして出力する。
セレクタ308Gは、AUTOUPDATE=0のときは、MEENDのタイミングで、COUNT_ZC=0であれば、SUM_INST_UをSUM_Uとして出力する。セレクタ308Gは、COUNT_ZC=1であれば、SUM_INST_UとSUM_PREZC_Uを加算器308Fで加算した出力SUM_ALL_UをSUM_Uとして出力する。セレクタ308Gは、COUNT_ZC≧2であれば、SUM_ZC_UをSUM_Uとして出力する。
セレクタ308Gは、AUTOUPDATE=1のときは、MEEND_LASTのタイミングで、COUNT_ZC=0であれば、SUM_INST_UをSUM_Uとして出力する。セレクタ308Gは、MEEND_LASTのタイミングで、COUNT_ZC=1かつFLAG_PAST_2OVER=0であれば、SUM_INST_UとSUM_PREZC_Uを加算器308Fで加算した出力SUM_ALL_UをSUM_Uとして出力する。セレクタ308Gは、MEEND_LASTのタイミングで、COUNT_ZC=1かつFLAG_PAST_2OVER=1であれば、SUM_INST_UをSUM_Uとして出力する。セレクタ308Gは、MEENDのタイミングで、COUNT_ZC≧2であれば、SUM_ZC_UをSUM_Uとして出力する。除算器308Hは、SUM_U/COUNT_SMPの演算を行い、AVG_Uとして出力する。
サンプリング数演算回路309は、カウンタ309Aと、セレクタ309Bと、メモリ309Cと、加算器309Dと、メモリ309Eと、加算器309Fと、セレクタ309Gと、を備えている。
カウンタ309Aは、SMPCKの数をカウントし、COUNT_SMP_INSTとして出力する。カウンタ309Aは、AUTOUPDATE=0のときは、MESTのタイミングで0に初期化し、AUTOUPDATE=1のときは、MEST_1STのタイミングで0に初期化する。また、カウンタ309Aは、ZC_EDGEのタイミングでも0に初期化する。
セレクタ309Bは、COUNT_ZC=1かつ、ZC_EDGEのとき、COUNT_SMP_INSTをCOUNT_SMP_INST_PREZCに出力する。メモリ309Cは、このタイミングでCOUNT_SMP_INST_PREZCを保存し、COUNT_SMP_PREZCとして出力する。セレクタ309Bは、COUN_ZC≧2かつ、ZC_EDGEのとき、COUNT_SMP_INSTをCOUNT_SMP_INST_ZCに出力する。加算器309Dは、このタイミングでCOUNT_ZC=2であれば、COUNT_SMP_INST_ZCをメモリ309Eに保存する。加算器309Dは、COUNT_ZC≧3であれば、COUNT_SMP_INST_ZCとメモリ309Eの出力COUNT_SMP_ZCを加算し、メモリ309Eに保存する。メモリ309Eは、保存してあるデータをCOUNT_SMP_ZCとして出力する。
セレクタ309Gは、AUTOUPDATE=0のときは、MEENDのタイミングで、COUNT_ZC=0であれば、COUNT_SMP_INSTをCOUNT_SMPとして出力する。セレクタ309Gは、COUNT_ZC=1であれば、COUNT_SMP_INSTとCOUNT_SMP_PREZCを加算器309Fで加算した出力COUNT_SMP_ALLをCOUNT_SMPとして出力する。セレクタ309Gは、COUNT_ZC≧2であれば、COUNT_SMP_ZCをCOUNT_SMPとして出力する。
AUTOUPDATE=1のときは、セレクタ309Gは、MEEND_LASTのタイミングで、COUNT_ZC=0であれば、COUNT_SMP_INSTをCOUNT_SMPとして出力する。セレクタ309Gは、MEEND_LASTのタイミングで、COUNT_ZC=1かつFLAG_PAST_2OVER=0であれば、COUNT_SMP_INSTとCOUNT_SMP_PREZCを加算器309Fで加算した出力COUNT_SMP_ALLをCOUNT_SMPとして出力する。セレクタ309Gは、MEEND_LASTのタイミングで、COUNT_ZC=1かつFLAG_PAST_2OVER=1であれば、COUNT_SMP_INSTをCOUNT_SMPとして出力する。セレクタ309Gは、MEENDのタイミングで、COUNT_ZC≧2であれば、COUNT_SMP_ZCをCOUNT_SMPとして出力する。
平方根演算器310は、AVG_Uの平方根を演算し、RMS_Uとして出力し、CPU4へ送る。
電流2乗平均値演算回路311は、電圧2乗平均値演算回路308と同様に、加算器308A、セレクタ308B、加算器308D、メモリ308C、308E、加算器308F、セレクタ308G及び除算器308Hを備えている。電流2乗平均値演算回路311は、電圧2乗平均値演算回路308と共通のタイミング制御回路307からのMEST、MEST_1ST、ZC_EDGE、COUNT_ZC、MEEND、MEEND_LAST、FLAG_PAST_2OVER、サンプリング数演算回路309からのCOUNT_SMPが供給されている。そして、電流2乗平均値演算回路311は、電圧2乗平均値演算回路308と同様のタイミングでi_sqr(n)を積算したSUM_UをCOUNT_SMPで除した値をAVG_Iとして出力する。
平方根演算器312は、AVG_Iの平方根を演算し、RMS_Iとして出力し、CPU4へ送る。
電力平均値演算回路313は、電圧2乗平均値演算回路308と同様に、加算器308A、セレクタ308B、加算器308D、メモリ308C、308E、加算器308F、セレクタ308G及び除算器308Hを備えている。電力平均値演算回路313も、電圧2乗平均値演算回路308と共通のタイミング制御回路307からのMEST、MEST_1ST、ZC_EDGE、COUNT_ZC、MEEND、MEEND_LAST、FLAG_PAST_2OVER、サンプリング数演算回路309からのCOUNT_SMPが供給されている。そして、電力平均値演算回路313は、電圧2乗平均値演算回路308と同様のタイミングでp(n)を積算したSUM_UをCOUNT_SMPで除した値をAVG_PとしてCPU4へ出力する。
上述した構成のFPGA3の動作を図6〜図10を参照して説明する。
図6は、固定アップデートモードにおける各処理の出力のタイミングチャートを示したものである。なお、1つのupdateレート間のサンプリングクロックSMPCKの個数は、実際はもっと多いが、ここでは説明の都合上少なくしている。1つのupdateレートは、MESTからMEENDで区切られている。MEENDのタイミングで、そのupdate間の電圧実効値RMS_Uを求めている。SUM_INST_Uは、u(n)^2を加算した値だが、ここでは、その最終値をS1、S2、…として表記している。最終値とは、ZC_EDGEの直前までの加算値、あるいはMEENDまでの加算値である。
n=17のMEENDのタイミングでは、COUNT_ZC=3なので、AVG_U=(S2+S3)/12となり、このときRMS_U=√{(S2+S3)/12}となり、MEST後の最初のZC_EDGEからMEEND前の最後のZC_EDGEまでの電圧波形の2周期分の実効値となる。
n=34のMEENDのタイミングでは、COUNT_ZC=2なので、AVG_U=S6/8となり、このときRMS_U=√(S6/8)となり、MEST後の最初のZC_EDGEからMEEND前の最後のZC_EDGEまでの電圧波形の1周期分の実効値となる。
n=51のMEENDのタイミングでは、COUNT_ZC=1なので、AVG_U=(S8+S9)/17となり、このときRMS_U=√{(S8+S9)/17}となり、MESTからMEENDまでの電圧波形の周期とは同期していない実効値となる。
n=68のMEENDのタイミングでは、COUNT_ZC=1なので、AVG_U=(S10+S11)/17となり、このときRMS_U=√{(S10+S11)/17}となり、MESTからMEENDまでの電圧波形の周期とは同期していない実効値となる。
図7は、AUTOUPDATE=1のときの各処理の出力のタイミングチャートを示したものの例1である。なお、1つのupdateレート間のサンプリングクロックSMPCKの個数は、実際はもっと多いが、ここでは説明の都合上少なくしている。
1つのupdateレートは、MESTからMEENDで区切られている。MEENDのタイミングで、COUNT_ZC≧2であれば、そのときの最新の電圧実効値RMS_Uを求めている。MEENDのタイミングでCOUNT_ZC≦1であれば、RMS_Uは求めない。
SUM_INST_Uは、u(n)^2を加算した値だが、ここでは、その最終値をS1、S2、…として表記している。最終値とは、ZC_EDGEの直前までの加算値、あるいはMEEND_LASTまでの加算値である。
n=17のMEENDのタイミングでは、COUNT_ZC=3なので、AVG_U=(S2+S3)/12となり、このときRMS_U=√{(S2+S3)/12}となり、MEST_1ST後の最初のZC_EDGEからMEEND前の最後のZC_EDGEまでの電圧波形の2周期分の実効値となる。このとき、MEENDのタイミングでCOUNT_ZC≧2なので、COUNT_ZCを1に書き換える。また、FLAG_PAST_2OVERを1に設定する。
n=34のMEENDのタイミングでは、COUNT_ZC=3なので、AVG_U=(S4+S5)/14となり、このときRMS_U=√{(S4+S5)/14}となり、n=17のMEEND前の最後のZC_EDGEからn=34のMEEND前の最後のZC_EDGEまでの電圧波形の2周期分の実効値となる。
n=51のMEENDのタイミングでは、COUNT_ZC=2なので、AVG_U=S6/12となり、このときRMS_U=√(S6/12)となり、n=34のMEEND前の最後のZC_EDGEからn=51のMEEND前の最後のZC_EDGEまでの電圧波形の1周期分の実効値となる。
n=68のMEENDのタイミングでは、COUNT_ZC=2なので、AVG_U=S7/18となり、このときRMS_U=√(S7/18)となり、n=51のMEEND前の最後のZC_EDGEからn=68のMEEND前の最後のZC_EDGEまでの電圧波形の1周期分の実効値となる。
図8は、AUTOUPDATE=1のときの各処理の出力のタイミングチャートを示したものの例2である。
n=11のMEENDのタイミングでは、COUNT_ZC=0なので、RMS_Uは求めない。
n=22のMEENDのタイミングでは、COUNT_ZC=1なので、RMS_Uは求めない。
n=33のMEENDのタイミングでは、COUNT_ZC=1なので、RMS_Uは求めない。
n=44のMEENDのタイミングでは、COUNT_ZC=1なので、RMS_Uは求めない。
n=55のMEENDのタイミングでは、COUNT_ZC=1なので、RMS_Uは求めない。
n=66のMEENDのタイミングでは、COUNT_ZC=2なので、AVG_U=S2/42となり、このときRMS_U=√(S2/4)となり、MEST_1ST後の最初のZC_EDGEからn=66のMEEND前の最後のZC_EDGEまでの電圧波形の1周期分の実効値となる。このとき、MEENDのタイミングでCOUNT_ZC≧2なので、COUNT_ZCを1に書き換える。また、FLAG_PAST_2OVERを1に設定する。
図9は、AUTOUPDATE=1のときの各処理の出力のタイミングチャートを示したものの例3である。タイムアウト時の動作を示すため、タイムアウト回数を2に設定した場合の例である。実際のタイムアウト回数は、例えばupdateレート=50ms、タイムアウト時間が1sであれば20となり、タイムアウト時間が20sであれば400となる。
n=17のMEENDのタイミングでは、COUNT_ZC=3なので、AVG_U=(S2+S3)/12となり、このときRMS_U=√{(S2+S3)/12}となり、MEST_1ST後の最初のZC_EDGEからMEEND前の最後のZC_EDGEまでの電圧波形の2周期分の実効値となる。このとき、MEENDのタイミングでCOUNT_ZC≧2なので、COUNT_ZCを1に書き換える。また、FLAG_PAST_2OVERを1に設定する。
n=34のMEENDのタイミングでは、COUNT_ZC=1なので、RMS_Uは求めない。
n=51のMEENDのタイミングでは、MEENDのカウント数がタイムアウト回数に達したためMEEND_LASTが出ている。このときCOUNT_ZC=1かつFLAG_PAST_2OVER=1なので、AVG_U=S4/38となり、このときRMS_U=√(S4/38)となり、電圧波形の周期とは同期していない実効値となる。このときは、次のMESTのタイミングでMEST_1STを出し、FLAG_PAST_2OVERは0にする。また、COUNT_ZCを0に初期化する。
n=68のMEENDのタイミングでは、COUNT_ZC=2なので、AVG_U=S6/6となり、このときRMS_U=√(S6/6)となり、MEST_1ST後の最初のZC_EDGEからMEEND前の最後のZC_EDGEまでの電圧波形の1周期分の実効値となる。このとき、MEENDのタイミングでCOUNT_ZC≧2なので、COUNT_ZCを1に書き換える。また、FLAG_PAST_2OVERを1に設定する。
図10は、AUTOUPDATE=1のときの各処理の出力のタイミングチャートを示したものの例4である。タイムアウト時の動作を示すため、タイムアウト回数を3に設定した場合の例である。
n=17のMEENDのタイミングでは、COUNT_ZC=0なので、RMS_Uは求めない。
n=34のMEENDのタイミングでは、COUNT_ZC=1なので、RMS_Uは求めない。
n=51のMEENDのタイミングでは、MEENDのカウント数がタイムアウト回数に達したためMEEND_LASTが出ている。このときCOUNT_ZC=1かつFLAG_PAST_2OVER=0なので、AVG_U=(S1+S2)/51となり、このときRMS_U=√{(S1+S2)/51}となり、電圧波形の周期とは同期していない実効値となる。このときは、次のMESTのタイミングでMEST_1STを出し、FLAG_PAST_2OVERは0にする。また、COUNT_ZCを0に初期化する。
n=68のMEENDのタイミングでは、COUNT_ZC=1なので、RMS_Uは求めない。
図11は、AUTOUPDATE=1のときの各処理の出力のタイミングチャートを示したものの例5である。タイムアウト時の動作を示すため、タイムアウト回数を3に設定した場合の例である。
n=17のMEENDのタイミングでは、COUNT_ZC=0なので、RMS_Uは求めない。
n=34のMEENDのタイミングでは、COUNT_ZC=0なので、RMS_Uは求めない。
n=51のMEENDのタイミングでは、MEENDのカウント数がタイムアウト回数に達したためMEEND_LASTが出ている。このときCOUNT_ZC=0なので、AVG_U=S1/51となり、このときRMS_U=√(S1/51)となり、電圧波形の周期とは同期していない実効値となる。このときは、次のMESTのタイミングでMEST_1STを出し、FLAG_PAST_2OVERは0にする。また、COUNT_ZCを0に初期化する。
n=68のMEENDのタイミングでは、COUNT_ZC=1なので、RMS_Uは求めない。
上述した実施形態によれば、FPGA3が、周期区切れを検出する。そして、FPGA3は、updateレート内に一周期以上入力されていると判定した場合(即ちupdateレート内に複数の周期区切れが検出された場合)、一周期以上検出されるupdateレートについて、少なくとも複数個の周期区切れで定められる全周期分のu_sqr(n)、i_sqr(n)、p(n)を積算して実効値などを演算する。FPGA3は、周期区切れが1つ検出されるupdateレートについて、1つの周期区切れと、1つの周期区切れの1つ前の周期区切れとで定められる一周期分のu_sqr(n)、i_sqr(n)、p(n)を積算して実効値などの演算を行なう。
これにより、updateレート内に電圧U1又は電流I1が一周期以上入力されていれば、updateレート毎に実効値又は平均値が求められ、updateレート内に電圧U1又は電流I1が一周期以上入力されなければ、電圧U1又は電流I1の一周期毎に実効値又は平均値が求められる。これにより、電圧U1又は電流I1の周波数が低い場合でも、正確に実効値又は平均値を求めることができる。
即ち、updateレートに対して電圧波形の周波数が低く1周期以上入っていないため、正確に測定ができていないような場合でも、本実施形態によれば、演算区間を複数のupdateレートをまたいで処理できるように改良し、周期の整数倍の演算区間とし、正確に測定できるようになった。このとき、従来のように電力計1の使用者が電力計1のupdateレートの変更をする必要がなく、自動的に、updateレートをまたぐ回数が決まる。
従来は、updateレートを長いままに設定しておくと、低い周波数でも測定できるが時間がかかり、電圧波形の周波数が高い場合は、無駄な待ち時間になってしまったが、本実施形態によれば、updateレートは最短にしておけるので、周波数が高い場合は、1回のupdateレートで測定できるので、無駄な待ち時間は発生しない。
従来は、電圧波形の周波数が変化するような場合、その都度updateレートを変更するのが煩わしく、また周波数の変化が速い場合、updateレートの変更が追い付かない場合もあったが、本実施例によれば、周波数に自動的に追従するので、このような場合でも正確に測定できる。
また、従来は、updateレート内に電圧U1又は電流I1が一周期以上入っている場合、updateレートとupdateレートとの間をまたいで一周期が入力された電圧U1又は電流I1については積算の対象外で、その部分は測定することができなかった。
上述した実施形態によれば、FPGA3は、updateレート内に電圧U1又は電流I1が一周期以上入力され、かつ、前回のupdateレートに電圧U1又は電流I1の周期区切れがあった場合、当該前回のupdateレートの最後の周期区切れから今回のupdateレートの最後の周期区切れまでのu_sqr(n)、i_sqr(n)、p(n)を積算して実効値又は前記平均値を演算する。
これにより、updateレートとupdateレートとの間をまたいで一周期が入力された電圧U1又は電流I1についても積算区間に含まれるので、演算対象外の部分はほとんどなくすことができた。
上述した実施形態によれば、FPGA3は、タイムアウトが判定されると、電圧U1又は電流I1が一周期以上入力されなくなった最初のupdateレートの開始からタイムアウトと判定されたupdateレートの終了までのu_sqr(n)、i_sqr(n)、p(n)を積算して実効値又は平均値を演算する。
電圧U1又は電流I1がDCの場合、上述したタイムアウト判定時に演算された実効値又は平均値が適切な値である。これにより、電圧U1又は電流I1がDCの場合でも実効値又は平均値を測定することができる。
上述した実施形態によれば、AUTOUPDATE=1の場合、加算器308Aが、周期区切れ検出時(ZC_EDGEのタイミング)、及び、タイムアウトが判定されるタイミング(MEEND_LASTのタイミング)でリセットされる。FLAG_PAST_2OVERが、MEEND_LASTのタイミングでオフされ、updateレートの終了時(MEENDのタイミング)にCOUNT_ZCが2以上のときにオンされる。また、セレクタ308Gが、タイムアウトが判定されるタイミングにおいて、COUNT_ZC=0のとき、タイムアウトが判定されるタイミングにおいて、COUNT_ZC=1かつFLAG_PAST_2OVER=1のとき、updateレートの終了タイミングにおいて、COUNT_ZCが2以上のとき、加算器308Aの加算値に基づいて実効値又は平均値を演算し、タイムアウトが判定されるタイミングにおいて、COUNT_ZC=1かつFLAG_PAST_2OVER=0のとき、加算器308Aの加算値にメモリ308Cの値を加算した値に基づいて実効値又は平均値を演算する。
FLAG_PAST_2OVERを設定することにより、例えば、図9に示す場合、タイムアウトした後、n=14〜n=51の積算値に加えてメモリ308Cに格納されたn=1の積算値S1が加算されないようにしている。
これにより、演算手段としてCPU等を用いることなく、低コストで積和演算を高速に行うことができるFPGAを用いることができる。
また、上述した実施形態によれば、AUTOUPDATE=0の場合、加算器308Aは、周期区切れ検出時、及び、updateレートの開始タイミング(MESTのタイミング)でリセットする。FLAG_PAST_2OVERが常時オフされる。また、updateレートの開始タイミングにおいて、COUNT_ZC=0のとき、updateレートの開始タイミングにおいて、COUNT_ZC=2以上のとき、加算器308Aの加算値に基づいて実効値又は平均値を演算し、updateレートの開始タイミングにおいて、COUNT_ZC=1であるとき、加算器308Aの加算値にメモリ308Cの値を加算した値に基づいて実効値又は平均値を演算する。
これにより、FPGA3は、簡単な構成で自動アップデートモードと固定アップデートモードとの2つのモードを切り替えて動作を行うことができる。
なお、上述した実施形態では、電圧U1又は電流I1の立ち上がりエッジを周期区切れとして検出としていたが、これに限ったものではない。エッジ検出器307Cにより、立ち下がりエッジを検出し、これを周期区切れとしてもよい。
さらに、立ち上がり、立ち下がりを固定せず、MEST_1ST後の最初のエッジが立ち上がりなら、その後のエッジも立ち上がりエッジを周期区切れとして検出する。MEST_1ST後の最初のエッジが立ち下がりなら、その後のエッジも立ち下がりエッジを周期区切れとして検出するようにしてもよい。
また、上述した実施形態では、電圧実効値、電流実効値を対象としたが、図2の2乗演算器304、305を絶対値演算器に変えてMEAN(実効値換算平均値)や、2乗演算器304、305を通さずDC(平均値)とすることも可能である。
また、上述した実施形態では、updateレート内に例えば3周期分入力されていれば、3周期分のデータを積算していたが、これに限ったものではない。少なくとも一周期分のデータを積算すればよく、上述したようにupdateレート内に3周期分入力されても一周期分のデータのみを積算するようにしてもよい。
また、上述した実施形態では、タイムアウト機能を有していたが、この機能は必須ではなく、なくてもよい。
また、上述した実施形態では、電力測定エレメントが1個(入力回路がU1、I1の1組)としたが、例えば、二相交流や三相交流のように2個(入力回路がU1、I1、U2、I2の2組)や3個(入力回路がU1、I1、U2、I2、U3、I3の3組)またはそれ以上にすることも可能。
例えば3エレメントとした場合、図12及び図13に示すように、図2のMEST・MEEND発生器301、AUTOUPDATE設定302、サンプリングクロック発生器303を除く部分を3個ずつ用意することで可能になる。
この場合、エレメント毎にZCのタイミングが異なっていたり、周波数が異なっていても、測定ができる。また、1つのエレメントのみタイムアウトしても、他のエレメントはそれに影響されず、連続した演算区間となる。
また、セレクタ307Bを同一のエレメントのzcu、zciのみからの選択ではなく、他のエレメントのzcu、zciからも選択できるようにすることで、3エレメントとも同じZCのタイミングでの演算区間とすることも可能になる。
RMS_U、RMS_I、AVG_Pは、専用の電圧2乗平均値演算回路308、電流2乗平均値演算回路311、電力平均値演算回路313を設け並列処理しているが、回路308、311、313の処理は共通なので、サンプリング周波数に比べ、システムクロックの周波数が十分高ければ、u_sqr(n)、i_sqr(n)、p(n)を時分割で入力して、回路308、311、313を1つにするようにしてもよい。また、前述の2エレメント以上の場合でも、u1_sqr(n)、u2_sqr(n)、u3_sqr(n)、…、i1_sqr(n)、i2_sqr(n)、i3_sqr(n)、…、p1(n)、p2(n)、p3(n)、…と時分割で入力して、回路308〜313を1つにすることも可能である。
また、上述した実施形態では、ゼロクロス検出器23、26にアナログの電圧入力回路21、電流入力回路24の出力を入力して、zcu、zciを求めていたが、これに限ったものではない。A/D変換後のu(n)、i(n)のデータが正か負かを判定して、それに応じてzcu、zciを出力するゼロクロス検出器23、26を用いてもよい。
なお、前述した各実施形態は本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、当業者は、従来公知の知見に従い、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。かかる変形によってもなお本発明の給紙装置の構成を具備する限り、勿論、本発明の範疇に含まれるものである。
1 電力計(演算装置)
3 FPGA(演算手段、判定手段、タイムアウト判定手段)
302 AUTOUPDATE設定(設定手段)
307C エッジ検出器(周期区切れ検出器)
307D ZCエッジカウンタ(カウンタ、第1カウンタリセット手段、第1フラグ手段、第2カウンタリセット手段、カウンタリセット制御手段、第2フラグ手段、フラグ制御手段)
308A 加算器(第1加算器リセット手段、第2加算器リセット手段、加算器リセット制御手段)
308B セレクタ(保存手段)
308C メモリ

Claims (5)

  1. 不定周期的に変動する信号に基づいた入力値を積算して平均化する演算を行なう演算手段を備えた演算装置であって、
    所定期間毎に前記信号の周期区切れを検出する検出手段を備え、
    前記演算手段は、周期区切れが複数個検出される所定期間について、少なくとも前記複数個の周期区切れで定められる全周期分の入力値を用いて前記演算を行ない、
    周期区切れが1つ検出される所定期間について、前記1つの周期区切れと、前記1つの周期区切れの1つ前の周期区切れとで定められる周期分の入力値を用いて前記演算を行なう
    ことを特徴とする演算装置。
  2. 前記演算手段は、
    周期区切れが複数個検出される所定期間について、前記複数個の周期区切れで定められる全周期分の入力値に加え、最初の周期区切れと、前記最初の周期区切れの1つ前の周期区切れとで定められる周期分の入力値を用いて前記演算を行なう
    ことを特徴とする請求項1に記載の演算装置。
  3. 周期区切れが検出されない所定期間が規定回数以上継続したときタイムアウトと判定するタイムアウト判定手段をさらに備え、
    前記演算手段は、前記タイムアウトが判定されると、直近の周期区切れから前記タイムアウトと判定された所定期間の終了までの入力値を用いて前記演算を行なう
    ことを特徴とする請求項1または2に記載の演算装置。
  4. 前記入力値を加算する加算器と、
    前記周期区切れの検出時、及び、前記タイムアウトが判定されるタイミングで前記加算器の加算値をリセットする第1加算器リセット手段と、
    前記周期区切れの検出回数をカウントするカウンタと、
    前記タイムアウトと判定されたとき前記カウンタを0にリセットし、前記所定期間の終了時に前記カウンタのカウント値が2以上のとき、前記カウンタを1にリセットする第1カウンタリセット手段と、
    前記周期区切れの検出時に前記カウンタのカウント値が1のとき前記加算器の加算値をメモリに保存する保存手段と、
    前記タイムアウトが判定されるタイミングでフラグをオフし、前記所定期間の終了時に前記カウンタのカウント値が2以上のときに前記フラグをオンする第1フラグ手段と、を備え、
    前記演算手段は、前記タイムアウトが判定されるタイミングにおいて、前記カウンタのカウント値が0のとき、前記タイムアウトが判定されるタイミングにおいて、前記カウンタのカウント値が1かつフラグがオンのとき、前記所定期間の終了タイミングにおいて、前記カウンタのカウント値が2以上のとき、前記加算器の加算値に基づいて前演算を行ない、前記タイムアウトが判定されるタイミングにおいて、前記カウント値が1かつ前記フラグがオフのとき、前記加算器の加算値に前記メモリの値を加算した値に基づいて前記演算を行なう第1演算部を有する
    ことを特徴とする請求項3に記載の演算装置。
  5. 自動アップデート又は固定アップデートの何れか一方が設定される設定手段と、
    前記周期区切れの検出時、及び、前記所定期間の開始タイミングで前記加算器の加算値をリセットする第2加算器リセット手段と、
    前記自動アップデートが設定されている場合、前記第1加算器リセット手段に前記加算器のリセットを行わせ、前記固定アップデートが設定されている場合、前記第2加算器リセット手段に前記加算器のリセットを行わせる加算器リセット制御手段と、
    前記所定期間の開始タイミング毎に前記カウンタを0リセットする第2カウンタリセット手段と、
    前記自動アップデートが設定されている場合、前記第1カウンタリセット手段に前記カウンタのリセットを行なわせ、前記固定アップデートが設定されている場合、前記第2カウンタリセット手段に前記カウンタのリセットを行なわせるカウンタリセット制御手段と、
    前記フラグを常時オフにする第2フラグ手段と、
    前記自動アップデートが設定されている場合、前記第1フラグ手段により前記フラグをオンオフさせ、前記固定アップデートが設定されている場合、前記第2フラグ手段により前記フラグを常時オフさせるフラグ制御手段と、を備え、
    前記演算手段は、前記所定期間の開始タイミングにおいて、前記カウンタのカウント値が0のとき、前記所定期間の開始タイミングにおいて、前記カウンタのカウント値が2以上のとき、前記加算器の加算値に基づいて前記演算を行ない、前記所定期間の開始タイミングにおいて、前記カウンタのカウント値が1であるとき、前記加算器の加算値に前記メモリの値を加算した値に基づいて前記演算を行なう第2演算部をさらに有し、
    前記演算手段は、前記自動アップデートが設定されている場合、前記第1演算部による処理を行ない、前記固定アップデートが設定されている場合、前記第2演算部による処理を行なう
    ことを特徴とする請求項4に記載の演算装置。
JP2016160958A 2016-08-19 2016-08-19 演算装置 Active JP6513061B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016160958A JP6513061B2 (ja) 2016-08-19 2016-08-19 演算装置
CN201710713063.5A CN107765064B (zh) 2016-08-19 2017-08-18 运算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016160958A JP6513061B2 (ja) 2016-08-19 2016-08-19 演算装置

Publications (2)

Publication Number Publication Date
JP2018028493A true JP2018028493A (ja) 2018-02-22
JP6513061B2 JP6513061B2 (ja) 2019-05-15

Family

ID=61248751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160958A Active JP6513061B2 (ja) 2016-08-19 2016-08-19 演算装置

Country Status (2)

Country Link
JP (1) JP6513061B2 (ja)
CN (1) CN107765064B (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01124773A (ja) * 1987-11-09 1989-05-17 Yokogawa Electric Corp 周波数測定装置
JP2001305165A (ja) * 2000-04-26 2001-10-31 Yokogawa Electric Corp 演算方法
JP2002055128A (ja) * 2000-08-11 2002-02-20 Yokogawa Electric Corp 交流信号測定器
JP2004233179A (ja) * 2003-01-30 2004-08-19 Yokogawa Electric Corp 交流信号測定装置
JP2011058921A (ja) * 2009-09-09 2011-03-24 Hioki Ee Corp 電気特性測定装置および電気特性測定方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102914687A (zh) * 2012-11-05 2013-02-06 冶金自动化研究设计院 一种精确计算电压或电流有效值的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01124773A (ja) * 1987-11-09 1989-05-17 Yokogawa Electric Corp 周波数測定装置
JP2001305165A (ja) * 2000-04-26 2001-10-31 Yokogawa Electric Corp 演算方法
JP2002055128A (ja) * 2000-08-11 2002-02-20 Yokogawa Electric Corp 交流信号測定器
JP2004233179A (ja) * 2003-01-30 2004-08-19 Yokogawa Electric Corp 交流信号測定装置
JP2011058921A (ja) * 2009-09-09 2011-03-24 Hioki Ee Corp 電気特性測定装置および電気特性測定方法

Also Published As

Publication number Publication date
JP6513061B2 (ja) 2019-05-15
CN107765064A (zh) 2018-03-06
CN107765064B (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN109425801B (zh) 管理测量传感器的传递函数的确定
JP3769821B2 (ja) 高精度相対デジタル電圧計測方法及び装置
CN115015474A (zh) 一种电力用户的碳排放量检测方法及设备
JP6219201B2 (ja) 交流インピーダンス測定装置および交流インピーダンス測定方法
JP2009079972A (ja) 電力測定方法および電力測定装置
JP2023101509A (ja) 半導体装置、およびバッテリの残量の検出方法
KR102041677B1 (ko) 고조파 전력 정확도 보증 장치, 이의 방법, 그리고 이 방법을 저장한 컴퓨터 판독 가능 저장 매체
JP2011158268A (ja) 平滑電流算出装置、平滑電流算出方法、電池監視モジュール
JP2018028493A (ja) 演算装置
JP2010054229A (ja) 静電容量測定装置
US8669893B2 (en) Performing multiplication using an analog-to-digital converter
JP2021113792A (ja) 実効値算出装置
JPH06308167A (ja) 実効値等の測定装置
JP6150552B2 (ja) 波形測定装置、電流測定装置および電力測定装置
US9013172B2 (en) Apparatus and method for detecting frequency
EP2936172B1 (en) Method and apparatus for determining characteristics of an input signal
JP6728003B2 (ja) 測定値積算装置
JP6225839B2 (ja) デマンド一括監視システム、デマンド一括監視装置、およびデマンド監視装置
JP2012037308A (ja) 力率計用位相進み/遅れ判別装置
RU2582848C2 (ru) Способ измерения среднеквадратического значения синусоидального напряжения и измеритель, его реализующий (варианты)
JP6312062B2 (ja) 電力計測装置及び電力計測方法
JP5687909B2 (ja) 測定装置および測定方法
JP6374350B2 (ja) タイマ同期システム
CN115408867A (zh) 电力实时仿真中提高计算精度的方法、装置及相关设备
JP3631023B2 (ja) 電池容量表示装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190409

R150 Certificate of patent or registration of utility model

Ref document number: 6513061

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350