(57)【特許請求の範囲】
【請求項１】
被測定流量に対応する周波数を有するパルス信号を出力するセンサ部と、
第１の周期を有する第１の信号を発生する第１の信号発生部と、
前記第１の信号に応じて、前記第１の周期の期間に前記センサ部から出力されるパルスの数を計数する第１の測定部と、
前記第１の信号をその周期中に含むパルスにおける前記第１の信号の位置を測定する第２の測定部と、
前記第１の測定部による計数値と前記第２の測定部による測定結果とに基づいて、前記第１の周期毎に前記パルス信号の周波数を算出する第１の演算部と、
該算出されたパルス信号の周波数に基づいて瞬時流量を算出する第２の演算部とを有する流量計であって、
前記第１の信号と同期し、かつ、前記第１の周期を測定下限周波数で除算した第２の周期を有する第２の信号を発生する第２の信号発生部と、
前記パルス信号中のパルスの周期が、商用交流電源周波数に対応する周期と等しい状態が所定回数連続したときは、当該測定結果を無効とする手段とを有し、
前記第２の信号発生部の出力に基づいて前記各演算部の演算動作のタイミングが制御されることを特徴とする流量計。
【請求項２】
被測定流量に対応する周波数を有するパルス信号を出力するセンサ部と、
第１の周期を有する第１の信号を発生する第１の信号発生部と、
前記第１の信号に応じて、前記第１の周期の期間に前記センサ部から出力されるパルスの数を計数する第１の測定部と、
前記第１の信号をその周期中に含むパルスにおける前記第１の信号の位置を測定する第２の測定部と、
前記第１の測定部による計数値と前記第２の測定部による測定結果とに基づいて、前記第１の周期毎に前記パルス信号の周波数を算出する第１の演算部と、
該算出されたパルス信号の周波数に基づいて瞬時流量を算出する第２の演算部とを有する流量計であって、
予め設定された設定流量値と前記第２の演算部により算出された瞬時流量値とを比較する比較部と、
該比較結果をディジタル信号として出力するスイッチ出力部とを有し、
前記比較部は、前記第１の周期毎に前記第１の演算部の出力に基づいて算出された瞬時流量値と前記設定流量値とを比較する通常モードと、前記第１の周期を測定下限周波数で除算した第２の周期毎に前記第１の測定部の測定値に基づいて算出された瞬時流量値と前記設定流量値とを比較する高速モードの２つの動作モードを有することを特徴とする流量計。
【請求項３】
前記設定流量値として複数の値が設定可能とされており、前記スイッチ出力部は、該複数の設定流量値に対する比較結果の論理和により制御されるようになされていることを特徴とする前記請求項２記載の流量計。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、センサからの流量に対応する周波数を有するパルス信号により流体の流量を測定する流量計、及び、測定した流量と予め設定された設定流量値とを比較し、該比較結果に対応するディジタル出力を外部装置に出力する流量計に関する。
【０００２】
【従来の技術】
被測定物理量を検出してパルス信号を発するセンサからの信号を測定する装置として、周波数計、回転数計、パルスカウンタ等が知られている。
例えば、静電容量式圧力センサは発振器を構成し、圧力に対応する周波数の信号を発生する。そこで、この圧力センサからの信号の周波数を測定することにより圧力を測定することができる。また、羽根車式流量センサにおいては、着磁された羽根車が流れによって回転し、固定されたホール素子がその磁気を検出して流量に対応する周波数を有するパルス信号を出力する。このパルス信号の周波数を測定することにより流量を測定することができる。
【０００３】
このような物理量測定装置の一つとしてカルマン渦式流量センサがある。このカルマン渦式流量センサは、流路の中に設けられた柱状の渦発生体の両側から交互に発生するカルマン渦列の周波数を超音波センサや圧電素子センサにより検出して、気体や液体など流体の流量を測定するものである。
流路の口径と流量センサの配管部の材質とにより、流量測定範囲と前記流量に対応するカルマン渦の発生周波数は決定される。ここで、周波数値をｆとすると、瞬時流量値Ｑは次の一次式（１）により求められる。
Ｑ＝ａ×ｆ＋ｂ            ……（１）
また、上の式（１）は精度確保が困難であるため、流量測定範囲を複数ｎの区間に分割し、下の式（２）に示すように、各々の区間ｉ（ｉ＝１〜ｎ）毎の一次式を定めることによりフルスケール精度±１％程度を確保することが行なわれている（特開昭６０−２３８７２０号公報）。
Ｑ＝ａｉ×ｆ＋ｂｉ        ……（２）
さらに精度を向上させる場合は、１台毎に前記ａｉ値、ｂｉ値を決定し、個別に決定された値Ａｉ、ＢｉをＲＡＭまたはＥＥＰＲＯＭに格納しておき、次の式（３）によってフルスケール精度±０．５％を確保することも提案されている（特願平９−３４５７４２号）。
Ｑ＝Ａｉ×ｆ＋Ｂｉ        ……（３）
ここで、Ａｉ，Ｂｉ（ｉ＝１〜ｎ）は、各機器１台毎に決定される補正された係数である。
【０００４】
また、上記周波数値ｆについても、その測定精度が問題となる。一般に、パルス信号の周波数を測定する場合には、所定期間（ゲートタイム）内に入力されるパルスの数を計数すること、あるいは、入力パルスの周期を測定し、その逆数から当該周波数を算出することが行われている。しかしながら、流量測定においては、上の式からも明らかなように、大流量時には発生するパルスの周波数は高く（周期は短く）なり、小流量時には低く（周期は長く）なる。したがって、大流量時および小流量時のいずれにおいても、所定の測定精度を得ることが求められる。
【０００５】
そこで、一定時間のタイマ、クロック発生器、クロック計数用カウンタ、クロックによる計数動作を制御するカウンタ制御手段、パルス信号の検出と計数と所定の演算制御を行なう処理手段とを備える周波数測定装置が提案されている（特開平５−２９７０３６号公報）。
この周波数測定装置によれば、前記タイマに測定下限周波数の周期の２倍以上の時間を設定して、パルス信号の検出と計数とを開始する。そして、パルス信号を検出したときは、前記クロック計数用カウンタが前記クロック発生器からのクロックの計数を開始するように前記カウンタ制御手段を制御し、パルス信号を検出するごとにクロック計数用カウンタの計数値を確認する。そして、前記計数値が所定値に達しないときは、検出と計数とを継続する。一方、前記計数値が所定値に達したときは、前記検出と計数とを停止し、前記カウンタ制御手段を制御して前記クロック計数用カウンタの計数値から周波数測定値を演算により算出する。また、前記タイマの計時終了時に、クロックの計数が終了していないときはパルス信号の検出と計数とを停止し、さらに前記カウンタ制御手段を制御してクロック計数用カウンタによる計数を終了する。
これにより、パルス信号のＮ回分の周期をクロック計数用カウンタで計数し、計数値が所望の分解能を確保するまで周期の積算を続けることにより、パルス信号の周波数値によらずに一定値以上の測定分解能を得るようにしている。
【０００６】
また、大流量時における平均周期の算出精度を高め、且つ小流量時における応答性をも向上させることを目的とするカルマン渦式空気流量センサ出力パルスの平均周期算出装置も提案されている（特公平５−７００８６号公報）。
この平均周期算出装置は、パルス数計数手段、パルス周期計測手段、計測周期と第１の所定時間とを比較するパルス周期比較手段と、前回の平均算出終了時から前記パルス数計数手段で第１の所定値に相当するパルス数が計数されたとき、前記パルス周期比較手段から大なる比較結果が第２の所定値に相当する回数だけ出力されたとき、および、前記パルス周期比較手段から小なる比較結果に続いて大なる比較結果が出力される状態が第３の所定値に相当する回数だけ現れたときの各条件のいずれかが成立するごとにパルス信号の周期の平均を算出する平均周期算出手段とを備えたものである。さらに、前記第２の所定値と前記パルス周期比較手段との比較結果により平均周期を算出する第２の平均周期算出手段、あるいは、前記計測周期と第２の所定時間とを比較する第２のパルス周期比較手段および前記第２のパルス周期比較手段の出力により平均周期を算出する第２の平均周期算出手段をさらに備えたものである。
これらの構成により、小流量時、中流量時、大流量時に亘って、センサから入力されるパルス信号の平均周期を速やかに算出することができる。
【０００７】
他方、このような流量センサ（流量計）において、流量発信器あるいは流量伝送器として測定した流量を所定の信号形態に変換して外部の装置に信号を出力することも行なわれている。一般に、このような流量発信器においては、測定値に対応する８ビットのディジタルデータを前記所定の信号形態に変換して送信することが行われている。
また、このような流量計において、測定した流量（瞬時流量）を積算して積算流量を算出し、表示部において瞬時流量だけではなく積算流量も表示するようにしたものも知られている。
【０００８】
さらに、このような流量計の応用例として、流路を流れる流体の流量と予め設定された基準流量値（設定流量値）とを比較し、この比較結果によって外部機器を制御する信号を出力する流量検出スイッチが提案されている（特開平９−８９６１３号公報）。
この提案されている流量検出スイッチにおいては、カルマン渦の発生周期に対応する周波数を有するパルス信号の周期を計測し、該計測した周期に基づいてテーブル参照により当該流量値を求めるようにしている。また、測定精度を向上するために、複数のパルスの周期を測定して平均化するようにしている。そして、予め設定されたしきい値と前記測定した流量とを比較し、この比較結果をＬＥＤにより表示するとともに、コレクタが出力端子に接続されたトランジスタのベースに印加し、該出力端子に接続された負荷への電源供給などを制御するようにしている。
【０００９】
【発明が解決しようとする課題】
一般に、入力パルスの数を計数する周波数測定の方法では、ゲートタイムの値が何であれ、低い周波数の入力のときの測定の分解能が粗く精度が得られないという問題点がある。例えば、上述のようにゲートタイムを１秒間とすれば、２００Ｈｚ以上の周波数でないと±０．５％の精度を得ることができない。
また、周期測定による場合には、周期の長さ、あるいは、計測用基準クロックの値が何であれ、高い周波数の入力のときの測定の分解能が粗く、精度が得られないという問題点がある。例えば、カウント数として２００以上が必要となる。
【００１０】
また、前述した周波数測定装置においては、測定下限周波数の周期の２倍以上の時間が設定されたタイマを用いているために、測定下限周波数付近の周波数を測定する場合には、その周期の２倍以上の測定時間を必要としている。また、タイマの計時時間の終了前に、パルス信号のＮ回分の周期をクロック計数用カウンタで計数し、前記計数値が所定値に達したときは、検出と計数とを停止し、前記計数値から周波数測定値を演算するようにしている。この場合、タイマの設定時間内をすべて測定していないため、入力されるパルス信号の真の周波数測定を行なっていることにはならないという問題点があった。
【００１１】
また、前述した平均周期算出装置によれば、４〜５つのパラメータの設定により、小流量時、中流量時および大流量時にわたってセンサから入力されるパルス信号の平均周期を速やかに算出することができるが、パルス数計数手段、パルス周期計測手段、第１および第２のパルス周期比較手段、第１および第２の平均周期算出手段を用いているため、複雑な構成となってしまう。また、これらの各手段による処理をマイクロコンピュータなどにより実行させる場合には、プログラムに膨大なメモリを必要とし、また、処理に要する時間も長くなり、平均周期算出処理に占有する割合が多く、他の処理を実行する余裕がなくなってしまうという問題点があった。
【００１２】
さらに、上述したように、流量発信器においては測定値に対応する８ビットのディジタルデータを前記所定の信号形態に変換して送信することが行われている。この場合、ディジタルの量子化誤差が±１ディジット生じるので誤差は約±０．４％となり、高精度の検出を行ない良質の信号を外部の装置に送出しようとする場合には、誤差の伝搬を防ぐために８ビットよりもビット数の多いディジタルデータを用いる必要があることを示している。
【００１３】
さらにまた、従来の積算流量値を表示する機能を有する流量計においては、固定小数点方式で積算流量を表示しているに過ぎず、長期間に亘る積算流量値を知るためには、はなはだ不便であるという問題点があった。
さらにまた、上述のように、カルマン渦式流量センサにおいては、流量測定範囲とカルマン渦の発生周波数は、流路の口径と流量センサの配管部の材質とにより決定されるものであり、単一種類の流量計を、それが挿入される配管部に容易に対応させることが求められている。
【００１４】
さらにまた、前述した流量検出スイッチにおいては、カルマン渦の発生周期を測定しているため、周波数が高い場合は周期が短くなってしまい、測定分解能が得られず、測定精度が悪くなってしまうという問題点があった。また、周期の逆数より得られた周波数からデータテーブルを参照して流量を決定しているため、１つの周波数に対して１つの流量データを定義することとなり、膨大な容量のメモリを必要とし、多種類の口径のデータテーブルや制御プログラムを１つのマイコンに収容することができず、何種類ものマイコンを準備しなければならないという問題点があった。
さらに、流量検出スイッチは、その用途に応じて、高速なスイッチ出力が必要とされる場合がある。例えば、溶接ガンや放電加工機などにおいて、前記流量検出スイッチを冷却水の流路に配設し、該冷却水の流量の異常によりチップ抜けなどの異常を検出するような場合には、機器の焼損を防止するために、高速なスイッチ出力が要求される。
【００１５】
そこで本発明は、簡単な構成で、高速かつ高精度の測定を行なうことができる流量計を提供することを目的としている。
また、処理が簡単、操作も簡単で、低価格の流量計を提供することを目的としている。
さらに、積算流量値の実質的な表示桁数を多くすることにより実用性に優れた流量計を提供することを目的としている。
さらにまた、キー操作部の操作により容易に流路の特性を選択することのできる流量計を提供することと目的としている。
さらにまた、瞬時流量を検出し、設定値と比較してスイッチ（離れた場所に設置された外部の制御装置に対して出力信号を送出する）として使用する際、設定値の確認変更を容易に行なうことができ、設定ミス、操作ミスが無く操作者にとって使い勝手のよい流量計を提供することを目的としている。
さらにまた、流体の流れに異変が生じたとき、高速にスイッチ出力を作動させることのできる流量計を提供することを目的としている。
さらにまた、伝送信号を出力するタイミングを所定のタイミングで送出することのできる流量計を提供することを目的としている。
さらにまた、外部の装置に対して良質の伝送信号を発信することのできる流量計を提供することを目的としている。
【００１８】
【課題を解決するための手段】
上記目的を達成するために、本発明の流量計は、被測定流量に対応する周波数を有するパルス信号を出力するセンサ部と、第１の周期を有する第１の信号を発生する第１の信号発生部と、前記第１の信号に応じて、前記第１の周期の期間に前記センサ部から出力されるパルスの数を計数する第１の測定部と、前記第１の信号をその周期中に含むパルスにおける前記第１の信号の位置を測定する第２の測定部と、前記第１の測定部による計数値と前記第２の測定部による測定結果とに基づいて、前記第１の周期毎に前記パルス信号の周波数を算出する第１の演算部と、該算出されたパルス信号の周波数に基づいて瞬時流量を算出する第２の演算部とを有する流量計であって、前記第１の信号と同期し、かつ、前記第１の周期を測定下限周波数で除算した第２の周期を有する第２の信号を発生する第２の信号発生部と、前記パルス信号中のパルスの周期が、商用交流電源周波数に対応する周期と等しい状態が所定回数連続したときは、当該測定結果を無効とする手段とを有し、前記第２の信号発生部の出力に基づいて前記各演算部の演算動作のタイミングが制御されるようになされているものである。
【００１９】
また、本発明の他の流量計は、被測定流量に対応する周波数を有するパルス信号を出力するセンサ部と、第１の周期を有する第１の信号を発生する第１の信号発生部と、前記第１の信号に応じて、前記第１の周期の期間に前記センサ部から出力されるパルスの数を計数する第１の測定部と、前記第１の信号をその周期中に含むパルスにおける前記第１の信号の位置を測定する第２の測定部と、前記第１の測定部による計数値と前記第２の測定部による測定結果とに基づいて、前記第１の周期毎に前記パルス信号の周波数を算出する第１の演算部と、該算出されたパルス信号の周波数に基づいて瞬時流量を算出する第２の演算部とを有する流量計であって、予め設定された設定流量値と前記第２の演算部により算出された瞬時流量値とを比較する比較部と、該比較結果をディジタル信号として出力するスイッチ出力部とを有し、前記比較部は、前記第１の周期毎に前記第１の演算部の出力に基づいて算出された瞬時流量値と前記設定流量値とを比較する通常モードと、前記第１の周期を測定下限周波数で除算した第２の周期毎に前記第１の測定部の測定値に基づいて算出された瞬時流量値と前記設定流量値とを比較する高速モードの２つの動作モードを有するものである。
さらに、前記設定流量値として複数の値が設定可能とされており、前記スイッチ出力部は、該複数の設定流量値に対する比較結果の論理和により制御されるようになされているものである。
【００２６】
【発明の実施の形態】
図１は、本発明の流量計の周波数測定方法が適用された周波数測定部の構成例を示すブロック図である。この図において、１は被測定対象となるパルス信号を出力する周波数検出部である。２は第１カウンタ、４は測定開始および終了時点を規定する第１の信号を発生する第１タイマであり、第１カウンタ２は、前記第１タイマ４からの第１の信号により規定される測定開始時点から測定終了時点までの期間に入力される入力パルスの個数を計数する。３は第２のカウンタ、５は基準クロック信号を発生する基準クロック発生部であり、第２カウンタ３は、前記周波数検出部１からの入力パルスの立上がりエッジ（または立下がりエッジ）から次の入力パルスの立上がりエッジ（または立下がりエッジ）までの期間に前記基準クロック発生部５から入力される基準クロックを計数することにより、入力パルスの周期を計測する。また、図示するように、前記第１タイマ４からの第１の信号は、前記第２カウンタ３に制御信号として印加されており、前記第２カウンタ３は前記第１の信号の発生タイミングにおける計数値を出力することができるようになされている。
また、６は演算処理部であり、前記第１カウンタ２および前記第２カウンタ３からの計数出力に基づいて、前記入力パルス信号の周波数を算出する。８は前記演算処理部６により算出された周波数を表示する表示部、９は前記算出された周波数を外部の装置に出力する出力部、７は前記各構成要素の動作を制御する制御部である。
なお、図中破線で囲んだ第１カウンタ２、第２カウンタ３、第１タイマ４、基準クロック発生部５、演算処理部６および制御部７は、例えば、シングルチップマイクロコンピュータにより構成することができる。
【００２７】
このように構成された周波数測定部において実行される本発明の流量計の周波数測定方法における測定原理について、図２を参照して説明する。この図において、（ａ）は前記周波数検出部１からの入力パルス信号の一例、（ｂ）は前記第１タイマ４から出力される第１の信号、（ｃ）は前記第１カウンタ２の計数値、（ｄ）は前記第２カウンタ３における計数内容を示している。ここで、前記（ｂ）の第１の信号は、この周波数測定における測定開始点と測定終了点を規定するものであり、被測定パルス信号の周波数に応じた周期の信号とすることができるが、説明を簡単にするために、ここでは、１秒周期の出力信号とされている。なお、前記測定終了点を次の測定周期における測定開始点とすることにより、前記第１の信号の周期（第１の周期）ごとに連続的に周波数を測定することができる。また、前記入力パルス信号の周期を計測するための基準クロックの周期は、測定の精度を決定するものであるが、ここでは、１ｍｓｅｃ周期のクロック信号とされているものとする。
【００２８】
さて、前記第１のカウンタ２は、前記第１の信号により規定される測定開始点から測定終了点までの測定期間（この例においては１秒間）に入力されるパルスの個数を計数する。このときに、入力パルスの立上がりおよび立下がりのいずれを用いても計数することができるが、ここでは、入力パルスの立上がりを計数するものとする。図示した例においては５個のパルスが計数される。この場合には、測定期間が１秒であるため、この５という値は、この入力信号の周波数の整数部に対応している。
【００２９】
しかしながら、このようにパルスの個数を計数するだけでは、図２の（ａ）に示すように、計数開始時点から第１番目のパルス（パルス１）の立ち上がり時点までの期間Ａについては当該計数値に反映されていない。また、第５番目のパルス（パルス５）については、測定終了点以後次のパルス（パルス６）の立上がり時点までの期間Ｂについても含まれているものとしてカウントされていることとなる。したがって、入力パルス信号の周波数を正確に測定するためには、前記ＡおよびＢの部分についても考慮することが必要となる。
すなわち、前記測定開始時点からパルス１の立上がり時点までの期間Ａがパルス０の周期Ｔ１に占めている割合、および、前記測定終了点からパルス６の立上がり時点までの期間Ｂのパルス５の周期Ｔ２に占めている割合を求め、これにより、前記パルスの個数を修正することにより、正確な周波数ｆを得ることができる。
【００３０】
前述したＡの部分およびＢの部分を測定するため、前記周波数測定部における前記第２カウンタ３は、図２の（ｄ）に示すように、前記入力パルス信号の立ち上がりエッジで前記基準クロックの計数を開始し、次の入力パルス信号の立ち上がりエッジで当該計数値（Ｎ１）を出力するとともに、再び０から計数を開始する。前記計数の途中に前記第１タイマからの第１の信号が入力されたときには、その時点の計数値（ｎ１）を出力するようになされている。これにより、前述した時間Ｔ１，Ｔ２，ｔ１，ｔ２にそれぞれ対応する計数出力Ｎ１，Ｎ２，ｎ１，ｎ２を得ることができる。なお、前記入力パルスの周期の計測中に第１の信号の入力がなければ、その計測値を捨てて次の計測を行なえばよい。
そして、前記演算処理部６は、前記第１カウンタ２からの計数値ｆ０および前記第２カウンタ３からの計数値Ｎ１，Ｎ２，ｎ１，ｎ２に基づいて、次の式（４）の演算を行ない、周波数値ｆを算出する。
ｆ＝ｆ０＋（１−ｎ１／Ｎ１）−（１−ｎ２／Ｎ２）
＝ｆ０−ｎ１／Ｎ１＋ｎ２／Ｎ２                  ……（４）
【００３１】
なお、上記においては、前記測定期間（第１の信号の周期）を１秒間であるとして説明したが、この期間は、被測定信号周波数に応じて任意の値とすることができ、前記測定期間をＴ秒とした場合には、次の式（５）により、周波数値ｆを求めることができる。
ｆ＝（ｆ０−ｎ１／Ｎ１＋ｎ２／Ｎ２）×（１／Ｔ）  ……（５）
【００３２】
上述した本発明の流量計の周波数測定方法においては、前記測定期間中に入力されるパルスが１つ以上あるときに、上記式（５）を用いて当該周波数を算出することができる。したがって、測定下限周波数の周期以上の測定期間で、高精度の周波数測定が可能となり、従来の測定方法のように、精度をあげるために測定時間を長くする必要がない。例えば、測定下限周波数が１Ｈｚの場合には１秒、５Ｈｚの場合には０．２秒の測定期間で精度良く当該周波数を測定することができる。
また、測定下限周波数における測定精度は前記基準クロックの周期により決定される。例えば、前記第１の信号の周期を１秒（測定下限周波数が１Ｈｚ）とした場合、必要とする分解能が２００（精度±０．５％）であるときは基準クロックを５ｍｓｅｃとすればよく、分解能が１０００（精度±０．１％）のときは基準クロックを１ｍｓｅｃとすればよい。また、測定下限周波数が５Ｈｚであれば周期は２００ｍｓｅｃであるので、基準クロックを１ｍｓｅｃとすれば分解能２００が得られる。
【００３３】
このように、本発明の流量計の周波数測定方法によれば、測定開始点から測定終了点までの測定期間に含まれている入力パルスの周期をその小数部まで正確に算出することができ、入力パルス信号の周波数を測定期間の長短にかかわらず高精度に算出することが可能となる。
また、測定を連続して繰り返し実行する場合には、前記測定終了点における小数部（前記Ｂの時間に対応する小数部）は次の測定における測定開始点における小数部（前記Ａの時間に対応する小数部）となり、演算処理が簡単化され、第１の信号の周期毎に正確な周波数データを得ることが可能となる。
なお、上記においては、入力パルスの立ち上がり時点により、その周期の計測を開始しているものとしたが、立ち下がり時点により計測を開始するようにしてもよいことは明らかである。
また、前記第１カウンタ２による測定の結果、２００≦ｆ０であるときには、前記第２カウンタ３の測定結果を算出するまでもなく０．５％の測定精度が得られるので、上述した小数部分測定処理を省略することができる。
【００３４】
上述した測定原理に基づいて動作する前記図１に示した周波数測定部の動作について、図３〜５のフローチャートに基づいて詳細に説明する。なお、簡単のため、ここでは、前記第１の周期が１秒間に設定されているものとして説明する。
ここで、前記図１において破線で囲んだ部分はシングルチップマイクロコンピュータ（以下、単にマイコンという）により構成されており、前記第１カウンタ２および第２カウンタ３は、該マイコンの内蔵カウンタが用いられ、前記第１タイマ４および前記基準クロック発生部５は前記マイコンの内蔵タイマが用いられる。そして、前記制御部７は、図示しないプログラムメモリに格納されたプログラムにしたがって、演算処理部６を用いて入力パルスの周波数を算出する。
【００３５】
以下、この周波数測定部の動作について、図３〜図５に示すフローチャートおよび図６のタイムチャートを参照して説明する。図３はこの周波数測定部のメインルーチンを示すフローチャート、図４は、前記第１タイマ４からの第１の信号により起動される第１タイマ割込処理ルーチンのフローチャート、図５は前記入力パルスの立上がりエッジ（立下がりエッジ）により発生される割込により起動される第２カウンタの計数処理ルーチンのフローチャートである。
前記制御部７は、順次格納フラグ１および順次格納フラグ２、演算許可フラグ１および演算許可フラグ２、第２カウンタ有効フラグなどの各種フラグに基づいて処理を進行するようになされている。ここで、順次格納フラグ１および２は動作開始時にセットされるフラグであり、演算許可フラグ１および２は前記演算処理部６において周波数を算出する演算を実行すべきタイミングを示すフラグ、前記第２カウンタ有効フラグは前記第２カウンタ３の計数内容をレジスタに格納すべきタイミングであることを示すフラグである。
【００３６】
この周波数測定部が起動されると（図６にｔ０のタイミング）、図３に示すメインルーチンが起動され、まず、ステップＳ１において各レジスタの初期化など各部の初期化処理が行われる。そして、ステップＳ２に進み、順次格納フラグ１および順次格納フラグ２がともにセットされるとともに、前記演算許可フラグ１および２、前記第２カウンタ有効フラグがリセットされる。次に、ステップＳ３において前記第１タイマ４の計時が開始される。これにより、前記第１の周期後に前記第１タイマ４からの割込処理（図４）が実行されることとなる。次に、ステップＳ４において、前記第１カウンタ２の計数を開始する。続いて、ステップＳ５において前記入力パルスの立上がりエッジによる割込を許可する。これにより、入力パルスの立上がりエッジのタイミングで、第２カウンタ３の計数処理（図５）が実行されることとなる。なお、立上がりエッジにより割込を行うようにする代わりに、立下がりエッジにより行うようにしてもよい。
【００３７】
次に、ステップＳ６に進み、演算許可フラグ１および２がともにセットされているか否かを判定する。前述のように、動作開始直後においては、演算許可フラグ１および２のいずれもリセットされているため、この判定の結果はＮＯとなる。一方、この判定の結果がＹＥＳのときは、ステップＳ７に進み、前記式（４）に基づいて周波数ｆを算出し、前記演算許可フラグ１および２をリセットする（ステップＳ８）。前記ステップＳ６の判定結果がＮＯのとき、あるいは前記ステップＳ８の処理が終了した後に、ステップＳ９の表示、出力処理、ステップＳ１０のその他の処理が実行され、再び、前記ステップＳ６以降の処理が繰り返し実行される。
【００３８】
図４は、前記第１タイマ４による第１の周期の信号により起動される第１タイマ割込処理の処理フローチャートである。前述のように、時刻ｔ０で動作が開始されたときには、時刻ｔ１にこの処理が開始される。まず、ステップＳ１１において、前記第１タイマの計時を再開させる。これにより、正確なタイミング（ｔ２、ｔ３…）での第１タイマ割込が保証される。次に、ステップＳ１２において、この時点における前記第１カウンタの計数値をレジスタｆ０に格納するとともに、ステップＳ１３において該第１カウンタを初期化し、再び第１カウンタの計数を開始させる。これにより、前記第１の周期毎の入力パルスの個数をレジスタｆ０に格納することができる。この場合には、前記ｔ０〜ｔ１までの１秒間に入力されたパルスの個数がレジスタｆ０に格納されることとなる。
【００３９】
続いて、ステップＳ１４に進み、前記順次格納フラグ１がセットされているか否かを判定する。前述のように、順次格納フラグ１は前記ステップＳ２（図３）においてセットされており、時刻ｔ１の第１信号による割込時には、この判定結果はＹＥＳとなる。このときは、ステップＳ１５に進み、この時点の前記第２カウンタの計数値（ｎｔ１）をレジスタｎ２に格納するとともに、レジスタｎ１にも格納する（ステップＳ１６）。そして、ステップＳ１７において、前記順次格納フラグ１をリセットする。これにより、時刻ｔ１の直前の入力パルスの立上がり時点から時刻ｔ１までの時間に対応する計数値ｎｔ１がレジスタｎ１およびｎ２に格納されることとなる。
【００４０】
一方、時刻ｔ２以降のこの第１タイマ割込処理ルーチンにおいては、前記ステップＳ１７において、順次格納フラグ１がリセットされているため、前記ステップＳ１４の判定結果がＮＯとなる。この場合には、ステップＳ１８において、前記レジスタｎ２に格納されている前回の割込時における第２カウンタの計数値をレジスタｎ１に転送するとともに、この時点における第２カウンタの計数値を前記レジスタｎ２に格納する。すなわち、時刻ｔ２の割込時においては時刻ｔ１における計数値ｎｔ１をレジスタｎ１に転送するとともに、時刻ｔ２における第２カウンタの計数値ｎｔ２をレジスタｎ２に転送する。
前記ステップＳ１７あるいはＳ１９が実行された後、ステップＳ２０において、前記第２カウンタ有効フラグをセットし、さらに、ステップＳ２１において、前記演算許可フラグ１をセットして、この第１タイマ割込処理ルーチンを終了する。
【００４１】
図５は、前記第２カウンタの計数処理ルーチンのフローチャートである。前述のように、このルーチンは、前記入力パルスの立上がり（あるいは立下がり）エッジにより起動される。入力パルスの立ち上がりにより割込みが発生されると、まず、前記第２カウンタ有効フラグがセットされているか否かが判定される（ステップＳ２２）。前述のように、前記第２カウンタ有効フラグはメインルーチンの起動時（ステップＳ２）においてリセットされ、前記第１タイマ割込処理ルーチンのステップＳ２０においてセットされるようになされている。したがって、図６に示す時刻ｔ１より前には、この第２カウンタ有効フラグはリセット状態とされている。したがって、この時間までに、入力されるパルスの立上がりにより起動されるこの割込処理ルーチンにおいては、前記ステップＳ２２の判定結果はＮＯとなるため、ステップＳ２３に進み、前記第２カウンタを０にリセットして再び前記入力パルスの周期の計測を再開する。なお、後述する説明から明らかなように、前記メインルーチンにおいて周波数算出処理（ステップＳ７）が実行され、演算許可フラグ１および２がリセット（ステップＳ８）された後、前記第１の信号が発生されるタイミング（ｔ２、ｔ３…）までの時間においても、このステップＳ２２の判定結果はＮＯとなり、これらの時間においては、第２カウンタは、入力パルスの周期の計測をただ単に繰り返すこととなる。
【００４２】
一方、前記第１タイマ割込処理ルーチンにおけるステップＳ２０（図４）が実行された直後のこの割込処理ルーチン（図６における時刻ｔ１、ｔ２、ｔ３…の直後の入力パルスの立上がりエッジによる第２カウンタの計数処理ルーチン）においては、前記第２カウンタ有効フラグがセット状態とされているため、このステップＳ２２の判定結果がＹＥＳとなる。このときには、ステップＳ２４に進み、順次格納フラグ２がセットされているか否かが判定される。前述のように、順次格納フラグ２は、動作開始直後における前記メインルーチンのステップＳ２においてセットされており、図６に示す時刻t１の直後の入力パルスの立上がりエッジによるこの割込処理ルーチンにおいては、このステップＳ２４の判定結果がＹＥＳとなる。したがって、このときには、ステップＳ２５に進み、この時点（時刻ｔ１の直後の入力パルスの立上がり時点）における第２カウンタの計数値（図６におけるＮｔ１）をレジスタＮ２に格納するとともに、レジスタＮ１にも格納する（ステップＳ２６）。そして、ステップＳ２７において、前記順次格納フラグ２をリセットする。これにより、前記時刻ｔ１における第１の信号をその周期中に含む入力パルスの周期Ｎｔ１が前記レジスタＮ２およびＮ１に格納されることとなる。
【００４３】
一方、前記時刻ｔ２以降においては、前記ステップＳ２７において前記順次格納フラグ２がリセットされているため、前記ステップＳ２４の判定結果がＮＯとなる。このときは、ステップＳ２８において、前記レジスタＮ２に格納されている前記第２カウンタの計数値（時刻ｔ２の直後のこの割込処理においては、前記Ｎｔ１）を前記レジスタＮ１に転送するとともに、前記レジスタＮ２にこの時点における第２カウンタの計数値（時刻ｔ２の直後のこの割込処理においては、Ｎｔ２）を前記レジスタＮ２に格納する（ステップＳ２９）。これにより、第１の信号の発生タイミングをその周期中に含む入力パルスの周期を前記レジスタＮ２に格納することができ、その直前の第１の信号の発生タイミングをその周期中に含む入力パルスの周期を前記レジスタＮ１に格納することができる。
前記ステップＳ２７あるいはＳ２９が実行された後、ステップＳ３０に進み、前記第２カウンタ有効フラグ２をリセットする。そして、ステップＳ３１に進み、前記第２カウンタを０に初期化した後、再び、入力パルスの周期の計数を再開する。そして、ステップＳ３２において、前記演算許可フラグ２をセットし、この割込処理ルーチンを終了する。
【００４４】
以上のように、前記第２カウンタ有効フラグは、前記第１の信号をその周期中に含む入力パルスの該第１の信号の発生タイミングまでの時間ｎ２（ｎ１）をレジスタに格納した後（ステップＳ２０）、該入力パルスの周期Ｎ２（Ｎ１）をレジスタに格納する（ステップＳ３０）までの期間セットされるようになされている。これにより、前記第１の信号の発生タイミングをその周期中に含む入力パルスについて、該第１の信号の発生タイミングまでの時間および該入力パルスの周期を確実にレジスタに格納することができる。
また、前記順次格納フラグ１および２は、動作開始時において、前記レジスタｎ１、ｎ２およびＮ１、Ｎ２に、最初の第１の信号に対応する第２カウンタの計数値を格納するために設けらているフラグであり、それ以降においてはリセットされる。
【００４５】
さらに、前記演算許可フラグ１は、前記第１の信号が発生したときに実行される前記第１タイマ割込処理ルーチン（図４）において、前記レジスタｎ１およびｎ２に第１の信号の発生タイミングにおける第２カウンタの計数値、すなわち、前記第１の信号をその周期中に含む入力パルスにおける前記第１の信号の位置に対応するデータをレジスタに格納したときにセットされる。
さらにまた、前記演算許可フラグ２は、前記第２カウンタ有効フラグがセットされているときに立上がりエッジが検出されたときの前記第２カウンタの計数値、すなわち、前記第１の信号をその周期中に含む入力パルスの周期（および前回の入力パルスの周期）を前記レジスタＮ２（およびＮ１）に格納したときにセットされる。
そして、前記メインルーチンは、前記演算許可フラグ１および２がともにセットされているときに、前記式（４）（第１の信号の周期が１秒以外とされているときは、式（５））の演算を行い（ステップＳ７，図３）、前記第１の演算許可フラグ１および２をリセットしている。
【００４６】
したがって、図６に示したように、時刻ｔ１以降の最初の入力パルスの立上がり時点以後に前記メインルーチンのステップＳ６の判定結果がＹＥＳとなり、最初の周波数算出処理（ステップＳ７）が実行される。ただし、この場合は、前述のように、前記レジスタｎ１およびｎ２にともにｎｔ１が格納されており、前記レジスタＮ１およびＮ２にともにＮｔ１が格納されているために、この回の周波数算出結果は前記第１カウンタの計数値ｆ０となる。時刻ｔ２以降の最初の入力パルスの立上がり時点以後にメインルーチンのステップＳ７が実行されたときは、前記式（４）に基づいて、正確な周波数を得ることができる。
【００４７】
このように、本発明の流量計の周波数測定部によれば、前記第１の信号の周期（第１の周期）毎に、正確な周波数を小数部まで算出することが可能となる。したがって、高精度の測定を行うために長時間を必要とすることがなく、短時間で正確な周波数測定を行うことができる。
また、前回の測定周期における第２のカウンタの計数値（ｎ１、Ｎ１）を次回の測定周期における周波数の算出に用いているため、演算効率のよい周波数測定を行うことができる。
【００４８】
次に、上述した本発明の流量計の周波数測定方法を適用した流量計について説明する。図７は、上述した本発明の流量計の周波数測定方法を適用した流量計の基本構成の一例を示すブロック図である。
図示するように、この流量計は、大別すると、流体の流量に対応する周波数のパルス信号を出力するセンサ部１１と、この流量計の機能を選択するための機能選択部１２と、各種指示及び各種データを手動で入力するための手動操作部１３と、電源のオン／オフを検出してリセット信号を出力するリセット信号出力部１４と、コントロール部２０が正常に動作しているか否かを判定し、異常時に割込み信号を出力するウォッチドッグタイマ部１５と、電源電圧を監視し、電源電圧の低下を検出したときに割込み信号を出力する電圧低下検出部１６と、この流量計全体の制御を行うコントロール部２０と、各種データを保持する不揮発性記憶部１７と、計測した流量値等の各種表示を行う表示部３０と、集中監視装置などの外部装置ＥＸＣＴに信号の出力を行う信号出力部４０と、電源部４５を備えて構成されている。
【００４９】
ここで、前記コントロール部２０は、各種比較を行うための比較ユニット２１と、比較ユニット２１における比較結果に基づいて各種判断を行う判断ユニット２２と、各種演算を行うための演算ユニット２３と、コントロール部２０全体を制御するための制御ユニット２４と、各種タイマ割込を発生させるためなどに用いられるタイマユニット２５と、制御プログラムや各種のデータを記憶するためのＲＯＭ、ＲＡＭなどで構成された記憶ユニット２６とを備えて構成されている。なお、このコントロール部２０は、例えば、シングルチップマイクロコンピュータにより構成される。
【００５０】
また、前記表示部３０は、計測した流量値を表示するデータ表示ユニット３１と、該データ表示ユニット３１で表示される流量の単位を表示する単位表示ユニット３２と、後述する信号出力時などに点灯制御される出力１表示ユニット３３および出力２表示ユニット３４とを備えて構成されている。なお、流量の表示単位が固定されているときには、前記単位表示ユニット３２はあえて設けなくともよい。
【００５１】
さらに、前記信号出力部４０は、測定した流量値をＰＷＭ（パルス幅変調）信号に変換して、集中監視装置などの外部装置ＥＸＣＴの第１のデータ入力端子ＤＩＮ１に出力するＰＷＭ信号出力ユニット４０−１、測定流量値が第１の所定の値以下（あるいは以上）になったときに、そのことを示す出力１を外部装置ＥＸＣＴのスイッチ１入力ＳＷ１に出力するスイッチ出力１出力ユニット４０−３、および、測定流量値が第２の所定の値以上（あるいは以下）になったときにそのことを示す出力２を外部装置ＥＸＣＴのスイッチ２入力ＳＷ２に出力するスイッチ出力２出力ユニット４０−４を備えている。
なお、前記ＰＷＭ信号出力ユニット４０−１に代えてあるいは加えて、破線で示すように、４〜２０［ｍＡ］の電流範囲を有し、測定した流量値に対応するアナログ流量信号を集中監視装置などの外部装置ＥＸＣＴのアナログ入力端子に出力する４〜２０ｍＡ伝送信号出力ユニット４０−２を備えるようしてもよい。
また、４５は電源部であり、例えば、前記外部装置ＥＸＣＴから供給される直流１２〜２４［Ｖ］の電源をこの流量計の動作電圧に変換して供給する。また、電源として電池を使用するようにしてもよい。
【００５２】
このように構成された流量計の動作の概要について説明する。
この流量計が起動されると、前記制御ユニット２４は、まず、この流量計の初期設定を行なう。そして、前記機能選択部１２の設定状態を読み込み、この流量計の動作モードを判定する。ここでは、瞬時流量計モードが設定されているものとする。
次に、前記機能選択部１２により設定されている流路の口径および材質、制御プログラムのバージョンなどの各種設定状態を前記表示部３０に表示し、前記センサ部１１から入力される被測定流量に対応する周波数を有するパルス信号の周波数の測定を開始する。
【００５３】
この測定は、前述のように、第１タイマ（１秒タイマ）の出力に応じて、前記入力信号のパルスの数を計数して被測定周波数の整数部を測定するとともに、該入力パルスの周期および前記第１タイマの出力タイミングを１ｍｓｅｃ周期の前記基準クロックで計数することにより被測定周波数の小数部を測定することにより行なわれる。
そして、前記比較ユニット２１、判断ユニット２２および演算ユニット２３を用いて、前記式（４）に基づいて周波数を算出するとともに、該算出した周波数から前記式（２）あるいは（３）により瞬時流量を算出する。そして、該算出した瞬時流量値を前記表示部３０に表示し、また、前記信号出力部４０から外部装置ＥＸＣＴに出力する。そして、前記比較ユニット２１および前記判断ユニット２２により、該測定された瞬時流量と予め設定された設定流量値とを比較し、該比較結果に応じて、前記スイッチ出力ユニット４０−３あるいは４０−４から前記外部装置ＥＸＣＴにスイッチ出力を供給する。さらに、前記算出した瞬時流量値を積算した積算流量値を算出する。この積算流量値は、前記手動操作部１３の操作に応じて前記表示部３０に表示される。
【００５４】
次に、この本発明の流量計の周波数測定方法を適用した本発明の流量計（瞬時流量計）のより具体的な実施の形態について詳細に説明する。なお、この実施の形態においては、この流量計を瞬時流量計および積算バッチ流量計のいずれとしても使用することができるように両流量計に共通の制御プログラムが使用されているものとする。
図８は、この流量計の一実施の形態の構造を示す図であり、（ａ）は表示及び操作パネル面を示す上面図、（ｂ）は内部構造を示す断面図、（ｃ）は一部分を破断して示す側面図である。この図において、瞬時流量計は、流量を計測すべき流体が流れる流路の途中に接続される計量部本体５０と、この計量部本体５０の上方に９０°毎に位置出し可能に取付けられた計測表示部とからなっている。ここで、前記計量部本体５０はそれが接続される配管に合わせたサイズとされており、前記計測表示部は多種類（例えば、６４種類）の配管の材質や口径に共通に適用することができるものとされている。すなわち、前記計測表示部は多数の機種に共通に使用することができるようになされており、後述するように、手動操作部（キー入力部）の操作により配管の口径や材質を選択設定することができるようになされている。
【００５５】
前記計量部本体５０は、その入口が上流側に、出口が下流側にそれぞれ接続され、流れの中に置かれた柱状物体５１の下流側に形成されるカルマン渦の発生周波数が広いレイノルズ数において流速に比例していることを利用し、この渦流の発生周波数を計測することにより、流速或いは流量を知ることができるカルマン渦流式のものとして構成されている。このカルマン渦流式のものは、摺動部がなくシンプルな構造で、信頼性、耐久性が優れているほか、流体流路には渦発生体と渦検出器があるだけで、流路の絞りが小さいので、圧力損失が小さくなっているという特徴を有している。
そして、前記計量部本体５０には、渦流の発生によって変化する流路中の圧力を検知するためホルダの内部にセンサとしての圧電素子５２が取付けられている。該圧電素子５２は渦流の発生周波数に等しい周波数で変化する電気信号からなる流量信号を出力し、これをリード線を介して計測表示部内に設けられた電子回路に供給する。
【００５６】
計測表示部は、防水パッキンを介して突き合わされた上ケース５４と下ケース５５とからなるケース５３、このケース５３内に収容された第１のプリント基板（表示基板）６１、第２のプリント基板（ＣＰＵ基板）６２、第３のプリント基板（センサ基板）６３、上ケース５４の上面に配置されたＬＥＤ３３、３４、例えば３桁の７セグメントＬＥＤ表示器により構成されたデータ表示ユニット３１及び操作キー４１、４２および４３などにより構成され、下ケース５５の底部にあけた孔に計量部本体５０の上にネジ５９により固定された中空の回転軸５６が防水パッキンを介して回転自在に嵌合され、計量部本体５０に対して９０°毎に位置出し可能に調整できるようになっている。前記圧電素子５２からのリード線は回転軸５６の中空部を通ってセンサ基板６３上に形成された電子回路まで導かれている。なお、６０は外部装置に接続するためのシールド線からなる信号線である。
【００５７】
また、前記表示基板６１および前記ＣＰＵ基板６２は、金属スペーサを介して取付ネジ５８により前記上ケース５４に取り付けられており、前記センサ基板６３は金属スペーサを介して取付ネジ５８により下ケース５５に取り付けられている。ここで、前記上ケース５４と下ケース５５は、例えば、内部に導電性シールド材が塗布された樹脂製とされており、前記プリント基板６１〜６３におけるネジ５８および金属スペーサが当接する箇所に設けられた金属部を介して、前記ケース５３とプリント基板６１〜６３との電気的接続がとられるようになされている。
また、前記上ケース５４は前記下ケース５５に対してネジ５７によって開閉自在に取付けられ、各種の設定操作を行うときに開けられるようになっている。
【００５８】
なお、上述した例においては、前記上ケース５４上に表示部として、２つのＬＥＤ３３および３４と前記データ表示ユニットとしての３桁の７セグメント表示器３１が設けられている例を示したが、これに限られることはない。図９は、前記表示部の他の例を示す図であり、この図に示した例においては、前述したＬＥＤ３３および３４、３桁の表示器３１の他に、表示単位を示す２つのＬＥＤ３５および３６を有し、ＬＥＤ３５の右方には「ｍ3」、ＬＥＤ３６の右方には「Ｌ」の表示がなされている。これにより、この図９に示した例においては、ＬＥＤ３５が点灯することにより、前記３桁の表示器３１において表示されている数値の単位が立方メートルであることを示し、また、ＬＥＤ３６が点灯することにより前記表示器３１において表示されている数値の単位がリットルであることを示すことができる。すなわち、この例においては、前記ＬＥＤ３５および３６により、前記単位表示ユニット３２が構成されている。
また、前記ＬＥＤ３３およびＬＥＤ３４は、後述するように、第１の出力および第２の出力が外部装置に出力されているときに点等制御されるものである。なお、前記ＬＥＤ３３として赤色のＬＥＤを用い、前記ＬＥＤ３４として緑色のものを用いるといったように、ＬＥＤの色を変更するようにしてもよい。
【００５９】
図１０は、前記３つのプリント基板、すなわち、表示基板６１、ＣＰＵ基板６２およびセンサ基板６３上における各回路部品の配置の一例を示す図である。この図において、（ａ）は前記プリント基板６１〜６３が前記ケース５３内に組み上げられている状態を示す図、（ｂ）は前記表示基板６１の表面図、（ｃ）は前記ＣＰＵ基板６２の裏面図、（ｄ）は前記センサ基板６３の表面図、（ｅ）は前記センサ基板６３の裏面図である。
図１０の（ａ）に示すように、前記表示基板６１と前記ＣＰＵ基板６２はコネクタ６４を介して電気的に接続されており、前記ＣＰＵ基板６２とセンサ基板６３はフラットケーブル６５を介して電気的に接続されている。また、前記ＣＰＵ基板６２上には、前記コントロール部として動作するマイクロコンピュータ２０が設けられ、その裏面に前記不揮発性記憶素子１７として動作するＥＥＰＲＯＭが設けられている。
また、図１０の（ｂ）に示すように、前記表示基板６１の表面には、２つのピンから成る検査モード設定ピン１８が設けられており、この検査モード設定ピン１８を短絡することにより、後述する検査モードとすることができるようになされている。
【００６０】
さらに、同図（ｃ）に示すように、前記ＣＰＵ基板６２の裏面には前記機能選択部１２を構成する２組のジャンパーピンＪ１およびＪ２からなる機能選択用ピンが設けられている。ジャンパーピンＪ１は、この流量計を瞬時流量計として動作させるかあるいは積算バッチ流量計として動作させるかを選択するためのものであり、ジャンパー線によりジャンパーピンＪ１を短絡したときには瞬時流量計として動作し、開放されているときには積算バッチ流量計として動作するように設定される。また、ジャンパーピンＪ２は、この流量計による測定データを４〜２０ｍＡ伝送方式で外部装置に伝送するかあるいはＰＷＭ変調された信号で伝送するかを選択するためのものであり、ジャンパー線により短絡したときには４〜２０ｍＡ伝送方式で測定流量データを伝送し、開放されているときにはＰＷＭ変調信号を外部装置に伝送するように設定される。
【００６１】
図１０の（ｄ）に示すように、前記センサ基板６３の表面には前記圧電素子５２からのリード線が接続される端子Ｓ＋およびＳ−が設けられており、さらに、調整用のトリマＶＲ、各種のオペアンプ、ダイオード、バリスタやコンデンサなど各種の電子部品が配置されている。また、６６は前記外部装置との接続ケーブル６０が接続される端子である。さらに、同図（ｅ）に示すように、前記センサ基板６３の裏面には、後述するＰＷＭ出力用のトランジスタ７６などの各種出力トランジスタや前記電源部４５として動作する３端子安定化電源回路７８など各種の電子部品が設けられている。
【００６２】
この流量計の回路構成の一例について、図１１および図１２のブロック図を参照して説明する。
図１１において、２０はこの流量計の全体の制御を行うマイコンであり、その内部には、第１カウンタ（主カウンタ）８１、第２カウンタ（副カウンタ）８２、タイマ１〜タイマｎの複数個のタイマからなるタイマレジスタ群８３、制御プログラムおよび後述する演算係数テーブル等を格納するＲＯＭ８４、各種のデータを格納するデータエリアおよびワークエリアなどとして使用されるＲＡＭ８５、および表示部３０を駆動するための表示ドライバ、および、ＰＷＭ信号を出力ポートから出力するためのＰＷＭ出力機能部等が搭載されている。このＰＷＭ出力機能部は、例えば１０ビットの分解能を有しており、ＰＷＭ周期を設定するＰＷＭプリスケーラ、出力パルスの「Ｈ」レベルの期間を設定するＰＷＭレジスタなどから構成されている。
なお、前記タイマレジスタ群８３の中には、前記第１タイマに相当する第１周期タイマ（１秒タイマ）、１ｍｓｅｃの基準クロックを発生するタイマおよび第２周期タイマ（０．２秒タイマ）などが含まれている。ここで、前記第２周期タイマは、前記第１周期タイマの出力信号と同期し、かつ、前記第１周期タイマの出力信号周期を測定下限周波数で除算した第２の周期を有する信号を出力するものであり、この例では、前記第１タイマ出力の周期１秒を測定下限周波数５Ｈｚで除算した０．２秒の周期を有する信号とされている。そして、後述するように、この第２周期タイマの出力信号に応じて、演算部の演算動作のタイミングを制御するようにしている。
また、前記第１周期タイマと前記第２周期タイマは別個に設けても良いが、ここでは、前記第２周期タイマの出力に基づいて前記第１周期タイマ出力を得るようにしている。例えば、前記第２周期タイマの出力を計数し、５を計数するごとに前記第１周期タイマ出力を出力するようにすればよい。
さらに、前記主カウンタ８１および副カウンタ８２は、前記センサ部１１からの入力信号が印加される入力ポート（カウント信号入力ポート）に接続されており、前記主カウンタ８１は、１秒間（第１周期タイマ出力信号の周期）に入力される入力パルスの個数を計数し、前記副カウンタ８２は前記入力パルスの周期を１ｍｓｅｃ単位で測定する。
【００６３】
１１は、前記圧電素子５２、この圧電素子５２からの電気信号を増幅する増幅器６７およびこの増幅器６７の出力信号を波形整形してパルス信号として出力する波形整形回路６８からなるセンサ部であり、このセンサ部１１の出力βは、前記マイコン２０のカウント信号入力ポートに入力される。また、このセンサ部１１の出力βは、図１２に示した信号出力部にも印加されており、出力トランジスタ７７を介して、調整検査装置等の外部装置ＥＸＣＴに直接出力することができるようになされている。
１２は機能選択部であり、前述のように、瞬時流量計として動作させるかあるいは積算バッチ流量計として動作させるかを選択するジャンパーピンＪ１および計測出力を４〜２０ｍＡ伝送信号により外部装置に伝送するかあるいはＰＷＭ（Pulse Width Modulation：パルス幅変調）信号により外部装置に出力するかを選択するジャンパーピンＪ２が設けられている。この各ジャンパーピンＪ１およびＪ２の出力は前記マイコン２０の入力ポートに接続されている。
また、１８は検査モード設定ピンであり、前述のように、この検査モード設定ピン１８を短絡することにより、この流量計を検査モードとすることができる。工場出荷前の検査時にこの検査モード設定ピン１８により検査モードとし、後述するように、前記外部装置ＥＸＣＴとして調整検査装置を接続して検査を実行する。この検査モード設定ピン１８の出力は前記マイコン２０の入力ポートに接続される。
【００６４】
１３は手動操作部（キー入力部）であり、前述のように、設定キー（ＥＮＴキー）４１、アップキー（△キー）４２、ダウンキー（▽キー）４３の３つの操作キーが設けられ、それぞれ前記マイコン２０の入力ポートに接続されている。
１５はウォッチドッグタイマであり、マイコン２０の出力ポートからの信号が所定時間入力されなかったときに、マイコン２０に割り込み信号を入力する。この割り込み入力によりマイコン２０は後述する第２のスタート処理を開始することとなる。なお、このウォッチドッグタイマへの定時出力は、例えば所定周期毎に実行されるようになされたタイマ割り込み処理ルーチンにより実行されるようになされている。
さらに、１４はパワーオンリセット回路であり、電源電圧Ｖｃｃが印加されたときに、これを検出して前記マイコン２０のリセット端子にパルス信号を印加する。これにより、マイコン２０は後述する第１のスタート処理を実行することとなる。
【００６５】
３０は前記表示部であり、図示するように、データ表示ユニットとしての３桁の７セグメントＬＥＤ表示器３１、第１の出力ＯＵＴ１（あるいは積算バッチ流量計として使用される場合には出力信号ＯＵＴ）の出力時に点灯されるＯＵＴ１ＬＥＤ３３、第２の出力ＯＵＴ２（積算バッチ流量計として使用される場合には、入力ＩＮ）の出力（入力）時に点灯されるＯＵＴ２（ＩＮ）ＬＥＤ３４、駆動桁選択回路３７およびＬＥＤ駆動回路３８を有している。また、前記図９に示した単位表示部３２を有する実施例の場合には、前記３桁の表示器３１における数値がｍ3（立方メートル）単位の数値であることを表示するＬＥＤ３５およびＬ（リットル）単位の数値であることを表示するＬＥＤ３６がさらに設けられる。そして、前記マイコン２０に内蔵されている表示駆動回路から、出力ポートを介して前記駆動桁選択回路３７およびＬＥＤ駆動回路３８に当該表示を行なうためのデータが出力され、所望の表示を行なうことができるようになされている。
なお、ここでは表示素子としてＬＥＤを使用した例を示したが、これに限られることはなく液晶（ＬＣＤ）など他の表示素子を採用することができる。
また、前記表示器３１の桁数も３桁に限られることはなく、例えば、８桁など任意の桁数としてもよい。
【００６６】
１７は前記不揮発性記憶素子であるＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）であり、積算流量値データ、各種設定値、後述する調整検査時に補正された一次式傾きデータや切片データなどが格納される。これにより、電源電圧低下時におけるデータの消失を防止することが可能となる。
また、６９は電源端子に並列に接続された大容量コンデンサであり、電源電圧の一時的な低下時におけるバックアップに用いられる。
さらに、１６は、電源電圧を監視し、所定電圧以下になったときに、電源電圧チェック割込を行なう電圧検出器である。
【００６７】
前記マイコン２０の出力ポートから、第１の出力ＯＵＴ１および第２の出力ＯＵＴ２が図１２に示す信号出力部４０に供給される。ここで、第１の出力ＯＵＴ１は測定した瞬時流量値が第１の設定流量値（例えば、下限流量値）ＱＬよりも低くなったときに出力される信号であり、第２の出力ＯＵＴ２は計測した瞬時流量値が第２の設定流量値（例えば、上限流量値）ＱＵよりも多くなったときに出力される信号である。前述したように、この第１の出力ＯＵＴ１および第２の出力ＯＵＴ２を外部装置に遅滞なく出力することにより、外部機器に対する迅速な制御が可能となる。
なお、この流量計が積算バッチ流量計として使用される場合には、前記第１の出力ＯＵＴ１は出力ＯＵＴとされ、前記第２の出力ＯＵＴ２に代えて、点線で示すように、信号出力部４０／電源部４５を介して外部装置ＥＸＣＴからの入力ＩＮがマイコン２０の入力ポートに入力されることとなるが、ここでは、これ以上の説明は省略する。
【００６８】
図１２において、７０は前記第１の比較結果である第１の出力ＯＵＴ１がそのゲートに印加される出力トランジスタ、７１は前記第２の比較結果である第２の出力ＯＵＴ２がそのゲートに印加される出力トランジスタである。これら各出力トランジスタ７０および７１のドレインは、対応する出力端子から外部装置に出力される。これにより、外部装置側では、このＯＵＴ１出力およびＯＵＴ２出力を用いて迅速なスイッチ制御などを行なうことができる。図示するように、前記各出力端子と接地との間には、保護用のツェナーダイオードＺＤが接続されている。
なお、前述のように、積算バッチ流量計として使用される場合には、前記外部装置ＥＸＣＴからの入力信号ＩＮがしきい値回路７２により整形されて入力されることとなる。入力信号ＩＮとしきい値回路７２との間には、保護用の抵抗Ｒと保護用のダイオードＤとが接続されている。
【００６９】
また、上記においては、第１の比較結果出力ＯＵＴ１と第２の比較結果出力ＯＵＴ２に対してそれぞれ対応して出力トランジスタ７０および７１を設けているが、図１２の下部に他の例として記載したように、前記第１の出力ＯＵＴ１と第２の出力ＯＵＴ２をオア回路ＯＲに入力してその論理和をとり、該論理和出力によりトランジスタ７０の導通非導通を制御するようにしてもよい。この場合には、少ない出力トランジスタにより多数の比較結果を出力することが可能となる。ただし、外部装置側において、測定出力データから第１および第２のいずれの比較結果により前記出力トランジスタが導通あるいは非導通とされたのかを判定することが必要となる。また、３種類以上の比較結果を出力するようにしてもよい。
【００７０】
さらに、前記マイコン２０の出力ラッチ付きの出力ポートから１０ビットの測定出力データが前記信号出力部４０に供給されている。この１０ビットの測定データは、図１２に示す信号出力部４０におけるデジタルアナログ（Ｄ／Ａ）変換部７３に入力されるとともに、検査モード時に調整検査装置が接続される検査用信号出力端子に供給される。前記１０ビットのＤ／Ａ変換部７３においてアナログ信号に変換された測定データは電圧電流変換部（Ｖ／Ｉ変換部）７４を介して、４〜２０ｍＡ伝送信号出力部７５に入力され、４〜２０ｍＡ伝送信号として前記外部装置ＥＸＣＴに出力されることとなる。この４〜２０ｍＡ伝送信号出力部７５の出力と接地との間には、図示するように、コンデンサＣとバリスタＶとが並列に接続されており、ノイズやサージを吸収するようになされている。
【００７１】
さらにまた、前記マイコン２０の出力ポートから測定した流量値に対応する前述した１０ビットの分解能を有するＰＷＭ信号が出力され、該ＰＷＭ信号は、図１２に示した出力トランジスタ７６のゲートに印加され、ＰＷＭ出力端子を介して外部装置ＥＸＣＴに出力される。なお、前記ＰＷＭ出力端子と接地との間には保護用のツェナーダイオードＺＤが接続されている。
このように、本発明においては、測定流量値に対応する前記４〜２０ｍＡ伝送信号あるいは前記ＰＷＭ信号は、いずれも、１０ビットの分解能を有する測定データに基づいて生成されているため、誤差の伝搬のない信号を外部装置に出力することが可能となる。
【００７２】
さらに、前記センサ部１１の波形整形部６８からの被測定パルス信号βは前記信号出力部４０の出力トランジスタ７７のゲートに印加されており、このトランジスタ７７のドレインは、信号出力部４０の検査用信号出力端子を介して、検査モード時に接続される調整検査装置に接続される。
なお、図１２においては、各出力トランジスタとしてＭＯＳトランジスタを使用しているが、バイポーラトランジスタを用いるようにしてもよい。この場合には、出力ＯＵＴ１およびＯＵＴ２はそれぞれバイポーラトランジスタのベースに印加され、それらのコレクタが前記出力端子に接続されることとなる。
また、７８は直流安定化電源回路であり、この実施の形態においては、前記外部装置ＥＸＣＴから供給される１２〜２４Ｖの直流電圧を入力とし、この流量計の駆動電圧に変換して出力する。また、図１２に示すように、前記外部装置から供給される電源ライン（＋ＤＣ、−ＤＣおよびＧＮＤ）の各線間には、サージ防止用のバリスタＶとノイズ除去用のコンデンサＣがそれぞれ並列に接続されている。また、電源ライン＋ＤＣと直流安定化電源７８との間に挿入されているダイオードＤは、電源ラインの極性の逆接続に対して回路の破損を防止する。
【００７３】
前記ＲＯＭ８４、前記ＲＡＭ８５および前記ＥＥＰＲＯＭ１７に格納される各種のデータについて説明する。
図１３の（ａ）は、前記ＲＯＭ８４およびＲＡＭ８５のメモリマップの一例を示す図である。この図に示すように、前記ＲＡＭ８５の領域には、各種のレジスタ領域、後述する補正係数や各種フラグなどを格納する領域、ワークエリア、積算流量値データを格納する領域、積算バッチ流量値を格納する領域などが設けられている。
また、ＲＯＭ８４の領域には、制御プログラム、口径設定データテーブル、割込みベクトル等が格納されている。ここで、口径設定データテーブルは、前記配管の口径および材質にそれぞれ対応した係数データ（前記式（２）における傾きデータａｉおよび切片データｂｉ）であり、例えば６４種類の機種（口径および材質）に対応するデータが格納されている。
【００７４】
図１３の（ｂ）は、前記口径設定データテーブルの構成を説明するための図である。この図に示すように、口径設定データテーブルは、それぞれ１６種類の設定データを１ページとする４ページの構成とされている。そして、各設定データとしては、図示するように、当該設定データを識別する設定コード（機種設定コード）、口径を指定するコード、本体材質を指定する材質コード、流れ有り周波数ｆ１〜定格流量の１１０％の瞬時流量値に対応する周波数ｆ６までを５つの区間に区切る周波数データｆ１〜ｆ６、周波数と流量との関数を前記５つの区間に対応する折れ線で近似したときの一次式傾きデータａ１〜ａ５および切片データｂ１〜ｂ５が格納されている。なお、前記流れ有り周波数はｆ１は、当該機種、すなわち、前記計量部本体５０（図８）の口径および材質により決定される測定下限周波数であり、例えば、５Ｈｚ程度の値となる。
なお、このデータａ１〜ａ５およびｂ１〜ｂ５は器差のばらつきの平均値であり、このデータをそのまま用いて流量を算出しても高精度の計測結果は期待できない。そこで、本発明においても、後述する調整検査工程において、１台ごとに補正した一次式傾きデータＡ１〜Ａ５および一次式切片データＢ１〜Ｂ５（以下、これらをまとめて「補正係数」とよぶ）を求め、前記式（３）に示したように、この補正係数を用いて流量を算出している。これにより、非常に精度の良い計測を行うことが可能となっている。
【００７５】
図１３の（ｃ）は、前記ＥＥＰＲＯＭ１７のメモリマップの一例を示す図である。この図に示すように、ＥＥＰＲＯＭ１７には、検査終了フラグ、前記補正された一次式傾きデータＡ１〜Ａ５、前記補正された一次式切片データＢ１〜Ｂ５、積算流量データ、積算バッチ流量値データ、機種設定コード決定データ、積算表示方式決定データ、バッチ流量値設定データ、上限流量値設定データ、下限流量値設定データおよびスイッチ出力周期決定データが格納される。なお、これらのデータの詳細については、後述するフローチャートにおける対応する個所で説明することとする。
【００７６】
次に、この流量計（瞬時流量計）の動作について詳細に説明する。なお、前述のように、この流量計は瞬時流量計と積算バッチ流量計のいずれとしても動作することができるようになされているが、ここでは、瞬時流量計として動作させる場合について説明する。
この流量計は、全体として、流量計としてのメインルーチンと、周波数測定割込処理、１ｍｓｅｃクロック計数割込処理および電源電圧チェック割込処理の３種類の割込処理により動作するようになされている。
ここで、前記周波数測定割込処理および前記１ｍｓｅｃクロック計数割込処理により、前述した本発明の流量計の周波数測定方法にしたがった前記主カウンタによる被測定信号の周波数の整数部の測定および前記副カウンタによる小数部の測定に関する処理が実行され、前記メインルーチンにより前述した式（４）あるいは式（５）を用いた当該周波数の算出、該周波数に基づく瞬時流量値の算出および表示、外部装置への出力、さらには、スイッチ出力信号出力などの各種処理が実行される。
【００７７】
図１４は、前記メインルーチンの処理フローを示す図である。この図に示すように、メインルーチンには、第１のスタート（スタート１）と第２のスタート（スタート２）の２つのスタート位置がある。ここで、前記パワーオンリセット回路１４からのリセット信号が入力されたときには前記スタート１から動作が開始され、前記ウォッチドッグタイマ１５からの割込入力があったときには前記スタート２から動作が開始される。
【００７８】
さて、前記外部装置ＥＸＣＴとこの流量計とが接続されるなどにより、前記直流安定化電源回路７８から電源の供給が開始されると、前記パワーオンリセット回路１４がこのことを検知し、マイコン２０にパワーオンリセットパルスが印加される。これにより、スタート１から処理が開始され、まず、ステップＳ４１の第１の初期化処理が実行される。このパワーオンリセットに基づく第１の初期化処理では、この瞬時流量計の所定の初期化処理を実行するとともに前記ＲＡＭ８５の内容がすべてリセットされる。次に、ステップＳ４２に進み、前記タイマ群８３の各タイマの計時動作を開始する。ただし、ここでは、前記第２周期タイマ（０．２秒タイマ）と前記１ｍｓｅｃの基準クロックを発生するタイマの動作は開始されない。したがって、前述のように第１周期タイマからの信号も出力されない。
続いて、前記ＥＥＰＲＯＭ１７から前記検査終了フラグ、積算流量データおよび積算バッチ流量値データなどを読み出して、前記ＲＡＭ８５の所定の領域に格納する（ステップＳ４３）。最初の状態、すなわち、工場出荷前に外部装置ＥＸＣＴとして調整検査装置が接続された状態においては、前記検査終了フラグおよび両積算データはいずれも初期値０とされている。次に、前記第１の出力ＯＵＴ１（ＯＵＴ）を２秒間だけオン状態にする（ステップＳ４４）。これにより、前記外部装置ＥＸＣＴ（調整検査装置）に対して、この瞬時流量計のパワーオンリセットによる起動（スタート１）を報知することができる。また、同時に、前記ＯＵＴ１ＬＥＤ３３も２秒間だけ点灯される。
【００７９】
一方、制御プログラムの暴走など何らかの原因により所定期間内に前記ウォッチドッグタイマ１５への定時信号が出力されなかった場合には、前記ウォッチドッグタイマ１５から割込信号が入力される。このときには前記スタート２から開始され、ステップＳ４５の第２の初期化処理が実行される。この第２の初期化処理においては、この瞬時流量計の所定の初期化処理を実行するが、前記第１の初期化処理とは異なり、前記ＲＡＭ８５中に格納されている補正係数、積算流量値データおよび積算バッチデータ等のクリアは行なわれない。そして、前記ステップＳ４２と同様に、前記第２周期タイマ（０．２秒タイマ）および１ｍｓｅｃの基準クロックを除く各タイマの計時動作が開始される（ステップＳ４６）。
【００８０】
前記ステップＳ４４あるいはステップＳ４６が実行された後、ステップＳ４７に進み、前記機能選択部１２におけるジャンパーピンＪ２により４〜２０ｍＡ伝送方式に設定されているか否かが判定される。この判定の結果がＹＥＳのときは、ステップＳ４８に進み、前記信号出力部４０のＤ／Ａ変換部７３、Ｖ／Ｉ変換部７４および４〜２０ｍＡ伝送信号出力部７５の動作を可能として、外部出力を４〜２０ｍＡ伝送方式にするように設定する。また、前記ステップＳ４７の判定結果がＮＯのときは、ステップＳ４９に進み、マイコン２０に内蔵されている前記ＰＷＭ出力機能部を動作可能に設定して、ＰＷＭ方式で外部に測定データを出力するように設定する。
【００８１】
次に、ステップＳ５０に進み、前記ジャンパーピンＪ１が瞬時流量計モードに設定されているか否かを判定する。前記ジャンパーピンＪ１が短絡されており瞬時流量計モードとされているときは、この判定結果がＹＥＳとなり、ステップＳ５１の瞬時流量計処理プログラムが実行される。一方、前記ジャンパーピンＪ１が開放されているときには、ステップＳ５２の積算バッチ流量計処理プログラムが実行されることと成る。本明細書では、瞬時流量計を対象としているため、以下、前記ステップＳ５０の判定結果がＹＥＳとなった場合における瞬時流量計処理プログラム（ステップＳ５１）について詳細に説明する。
【００８２】
図１５は、前記ステップＳ５１の瞬時流量計処理プログラムの動作を説明するためのフローチャートである。
この瞬時流量計処理プログラムが開始されると、まず、ステップＳ６０において、前記第２の出力ＯＵＴ２を有効とし、入力ＩＮを無効とする。
次に、ステップＳ６１に進み、検査終了フラグがセットされているか否かを判定する。この検査終了フラグは、後述する調整検査工程においてこの瞬時流量計の検査および係数データの補正処理が行なわれたときにセットされるフラグであり、初期状態においては、この検査終了フラグはセットされておらず、このステップＳ６１の判定結果はＮＯとなる。このときには、ステップＳ６２に進み、この瞬時流量計の機種設定コードを前記手動操作部１３、すなわち、前記設定キー４１、アップキー４２およびダウンキー４３を用いて設定する。これにより、この瞬時流量計が用いられる流路の口径および材質が設定される。なお、上述したように、このステップＳ６２は検査終了フラグがセットされていないときに実行されるものであり、実際にはメーカにおいて実行される。
【００８３】
一方、検査終了フラグがセットされているときには、ステップＳ６３に進み、前記ＥＥＰＲＯＭ１７に格納されている各種データ（前記補正された一次式傾きデータＡ１〜Ａ５および一次式切片データＢ１〜Ｂ５など）を読み出して、前記ＲＡＭ８５の所定のエリアに格納する。
なお、調整検査工程が実施されていない場合には、前記ＲＯＭ８４に格納されている標準的な一次式傾きデータａ１〜ａ５および一次式切片データｂ１〜ｂ５が前述した流量の算出に用いられることとなる。
【００８４】
前記ステップＳ６２あるいはステップＳ６３が実行された後、ステップＳ６４に進み、前記設定コードおよび前記ＥＥＰＲＯＭ１７から読み出された情報に基づき、当該流路の口径、材質および当該制御プログラムのバージョン情報を前記表示部３０に順次所定時間ずつ表示する。
図１６に、このステップＳ６４による前記表示部３０の表示形態の一例を示す。図１６において、（ａ）は口径の表示形態の一例、（ｂ）は材質の表示形態の一例、（ｃ）はソフトウエアのバージョンの表示の一例を示しており、（ａ）→（ｂ）→（ｃ）→（ａ）の順に所定時間（例えば、１秒間）ずつ順次繰り返し表示される。
【００８５】
ここで、口径としては、ミリメートル（ｍｍ）単位の表示（数字の後にＡが付されている）とインチ単位の表示（数字の後にＢが付されている）とがある。そこで、これらの口径を図１６（ａ）の右側に示すような形態で３桁のデータ表示器３１を用いて表示する。図１６の（ａ）に示した例においては、「１０Ａ」が表示されている。なお、図１６の（ａ）中各口径の左に記載されている小、中、大は、それぞれの口径を大、中、小の３通りに分類したときに、各口径が属する分類を示している。
また、材質としては、例えばＬ−ＰＰＳ、ＰＰＳ（ポリフェニレンスルフィド）、ＰＶＣ（ポリ塩化ビニル）、ＰＦＡ、ＳＵＳ（ステンレス）等があり、これらを、図１６の（ｂ）に示す形態で、前記データ表示器３１に表示している。図示した例では、材質がＰＶＣであることを示している。
さらに、図１６の（ｃ）は、制御プログラムのバージョンの表示例を示しており、この例では、この制御プログラムのバージョンはＶ３．８であることが示されている。
このように本発明の瞬時流量計においては、動作開始時に当該制御プログラムのバージョンを計測データの表示を行なう表示器３１に表示させるようにしているため、メンテナンス等を行なうときに非常に便利になっている。
【００８６】
さて、このように、口径、材質、プログラムのバージョンの表示（ステップＳ６４）を行なった後、ステップＳ６５に進み、前記０．２秒タイマおよび前記１ｍｓｅｃクロックの計時処理を開始するとともに、前記主、副両カウンタの計数処理を開始する。そして、０．２秒割込が１秒のうちのどの位置にあるかを示す値ｊを記憶するレジスタｊに０をセットする。このレジスタｊの内容は、０．２秒周期の第２の信号が前記第１の信号の１秒の周期のうちのどの位置にあるかを示すものであり、第１の信号（１秒タイマ）と同じタイミングのときに、ｊ＝１、以下、順に、２、３、４と計数され、ｊ＝５のときにはｊ＝０に変換され、再び、ｊ＝１，２，３…と順に計数される。
なお、上述のように、この実施の形態では、この第２周期タイマ（０．２秒タイマ）の出力から前記第１周期タイマの出力を生成しているが、第１周期タイマ（１秒タイマ）と第２周期タイマ（０．２秒タイマ）を別個に設けて前記第１の信号および第２の信号を発生させるようにしてもよい。
【００８７】
次にステップＳ６６に進み、検査モードであるか否かが判定される。この判定は、前記検査モード設定ピン１８が接続されている入力ポートからの信号を入力し、前記検査モード設定ピン１８が短絡されているか否かを判定することにより行なわれる。前記検査モード設定ピン１８が短絡されて検査モードに設定されているときには、ステップＳ６７に進み、検査終了フラグがセットされているか否かを判定する。そして、検査終了フラグがセットされていないときには、後述するステップＳ６８の検査工程が実行され、その後にステップＳ６９の流量算出処理が実行される。
一方、検査モードに設定されていないとき、あるいは、前記ステップＳ６７の判定結果がＹＥＳのときには、そのまま、ステップＳ６９の流量算出処理に進む。以下、ステップＳ７０の表示処理、ステップＳ７１の外部出力処理、ステップＳ７２のスイッチ出力処理およびステップＳ７３のキー入力処理が順次実行される。そして、前記ステップＳ７３のキー入力処理が実行された後、再び、前記ステップＳ６６に戻り、前記ステップＳ６６〜Ｓ７３の処理が繰り返し実行される。なお、前記ステップＳ６９〜Ｓ７３の各処理の詳細については、後述する。
以上が、瞬時流量計処理プログラムの概要である。
【００８８】
図１７は前記電源電圧チェック割込処理の動作を説明するためのフローチャートである。前記電圧検出器１６は電源電圧Ｖｃｃが所定の電圧以上であるか否かを判定し、電源電圧Ｖｃｃが第１の所定電圧よりも低くなったことを検出したときに、前記マイコン２０に対し電源電圧チェック割込を発生する。これにより、この電源電圧チェック割込処理が起動される。この電源電圧チェック割込み処理が起動されると、まず、ステップＳ８１において、前記ＲＡＭ８５中の積算データ、前記口径および材質データ、前記積算表示方式を指定するデータ、前記上限流量値設定データ、前記下限流量値設定データ、および、前記スイッチ出力周期決定データなどの選択された所定のデータを前記ＥＥＰＲＯＭ１７に格納する。これにより、これらのデータの消失を防止することができる。
【００８９】
前記ステップＳ８１において必要なデータをＥＥＰＲＯＭ１７に退避した後、前記マイコン２０はウェイト状態とされる（ステップＳ８２）。そして、電源電圧Ｖｃｃが前記第１の所定電圧よりも低い第２の所定電圧に達することなく再び前記第１の所定電圧以上に復帰したときには、前記ウェイト状態が解除され（ステップＳ８３）、再び、メインルーチンの処理に復帰する。この場合には、電源電圧Ｖｃｃが前記第２の所定電圧以下に低下しなかったため、前記ＲＡＭ８５中のデータは失われていないものと考えられ、メインルーチンの処理に復帰することとなる。
一方、電源電圧Ｖｃｃが、前記第２の所定電圧以下に低下したときには、前記ＲＡＭ８５中のデータは失われたものと考えられるため、電源電圧Ｖｃｃが復帰したときには、前記パワーオンリセット回路１４が動作し、前述した第１のスタート位置（図１４のメインルーチン）から再び処理が開始されることとなる。
【００９０】
次に、前記ステップＳ６８（図１５）の調整検査工程について、図１８に示す調整検査工程時の接続図および図１９のフローチャートを参照して説明する。
この調整検査工程は、図１８に示すように前記外部装置ＥＸＣＴとして調整検査装置が接続された状態で実行される。なお、前記図１１および図１２に示したように、信号出力部４０／電源部４５がこの場合の外部装置である調整検査装置ＥＸＣＴに接続されるのであるが、この調整検査工程には前記４〜２０ｍＡ伝送信号あるいはＰＷＭ信号の瞬時流量に対応する信号のオフセット調整、スパン調整については、この図１８では記載を省略している。
【００９１】
図１８において、配管１００には基準となる高精度基準流量計１０１、本発明の瞬時流量計の計量部本体５０、ポンプ１０２、流量制御弁１０３が取り付けられている。そして、前述のように前記信号出力部４０における出力トランジスタ７０のＯＵＴ１出力、前記１０ビットの測定データ出力および前記出力トランジスタ７７を介する前記センサ部１１の出力がコネクタを介して前記調整検査装置に入力されている。また、前記調整検査装置には前記高精度の基準流量計１０１の出力も入力されている。そして、前記調整検査装置からは前記流量制御弁１０３に対する制御信号が出力され、図１９に示す予め定められた検査ステップにしたがって、所定の流量を前記配管１００に流すように制御する。
なお、図１１に示したように、実際には電源ライン、入力信号線、出力信号線も接続されているが、この図１８では記載を省略している。
【００９２】
このように接続された状態で前記調整検査工程Ｓ６８は実行される。図１９のフローチャートに示すように、まず、ステップＳ９１において、予め定められている手順で流量計各部の検査を実行する。次に、ステップＳ９２に進み、前記出力ＯＵＴ１を所定の時間（例えば０．１秒間）だけオン状態とした後オフ状態として、前記調整検査装置に対し調整検査工程の最初のステップが開始されたことを報知する。これを受けて、前記調整検査装置は、選択決定された機種（型式）に対応する前記ＲＯＭ８４に格納されている６つの周波数ｆ１〜ｆ６に対応する基準流量Ｑ１〜Ｑ６を前記高精度基準流量計１０１で計測しながら、前記流量制御弁１０３を制御して前記配管に流す。ここでは、まず、前記配管１００に第１の基準流量Ｑ１が流れるように前記流量制御弁１０３を制御する。当該流量計は、このときの前記センサ部１１からの入力信号に基いて前述の方法で周波数を算出し記憶する（ステップＳ９３）。このときの周波数をＦ１とする。そして、該周波数Ｆ１とそのときの流量Ｑ１を前記表示器３１に表示するとともに、該周波数値Ｆ１を前記信号出力部４０を介して前記調整検査装置に出力する（ステップＳ９４）。
【００９３】
次に、ステップＳ９５に進み、再び前記出力ＯＵＴ１を所定時間の間だけオン状態として、前記調整検査装置に対してステップの進行を報知する。これにより、前記調整検査装置は、第２番目の基準流量Ｑ２を前記配管１００に流すように制御する。そして、前記コントロール部２０は、そのときのセンサ部１１からの入力に基づいて周波数Ｆ２を算出記憶し（ステップＳ９６）、その測定周波数値Ｆ２と基準流量Ｑ２を表示するとともに、前記調整検査装置に出力する（ステップＳ９７）。そして、ステップＳ９８に進み、前記ステップＳ９３において記憶した基準流量Ｑ１における測定周波数Ｆ１と前記ステップＳ９６において記憶した基準流量Ｑ２における測定周波数Ｆ２とに基づいて、補正された一次式傾きデータＡ１および切片データＢ１を算出する。この補正係数Ａ１、Ｂ１は、次の式（６）および式（７）に基づいて算出される。
Ａ１＝（Ｑ２−Ｑ１）／（Ｆ２−Ｆ１）              ……（６）
Ｂ１＝（Ｑ１×Ｆ２−Ｑ２×Ｆ１）／（Ｆ２−Ｆ１）  ……（７）
そして、この算出された補正係数Ａ１およびＢ１を前記ＲＡＭ８５の所定の領域に格納する。そして、ステップＳ９９に進み、前記出力ＯＵＴ１を所定期間だけオン状態とすることにより、前記調整検査装置に対してこのステップの処理が終了したことを報知する。
【００９４】
以下、上述の場合と同様に、基準流量Ｑ３〜Ｑ６を順次流し、そのときの測定周波数値Ｆ３〜Ｆ６を用いて、同様に、補正係数Ａ２〜Ａ５およびＢ２〜Ｂ５を算出し、ＲＡＭ８５に格納する。そして、ステップＳ１０１において表示器３１に検査工程の終了を表示し、さらにステップＳ１０２において前記ＲＡＭ８５に格納した各係数Ａ１〜Ａ５およびＢ１〜Ｂ５を前記ＥＥＰＲＯＭ１７に格納し、ステップＳ１０３で前記検査終了フラグをセットして、この検査工程を終了する。
なお、前記ステップＳ９４、Ｓ９７等において、調整検査装置に出力された周波数データＦ１〜Ｆ６は、前記調整検査装置に検査記録として保存される。また、前記ステップＳ９４、Ｓ９７等において、測定周波数値Ｆｉ、基準流量Ｑｉは、表示器３１において所定期間（例えば、０．５秒間）ずつ交互に点滅表示される。
【００９５】
次に、前記周波数測定割込処理および１ｍｓｅｃクロック計数割込処理について、図２０、図２１のフローチャートおよび図２２のタイムチャートを用いて説明する。
図２０は前記周波数測定割込処理のフローチャートである。この周波数測定割込処理は、０．２秒毎に発生される前記第２周期タイマ（０．２秒タイマ）の出力により起動される。この処理が起動されると、まず、ステップＳ１１１において、前記０．２秒タイマを再スタートさせる。これにより、毎回、正確な０．２秒ごとの割込みを保証することができる。また、前述のように、この実施の形態では、この０．２秒タイマの出力に基づいて前記第１周期タイマ出力を生成しているため、第１周期タイマ（１秒タイマ）出力の正確性も保証される。
【００９６】
次に、ステップＳ１１２に進み、前記スイッチ出力周期決定データを参照し、スイッチ出力が高速にセットされているか否かを判断する。前述したように、この瞬時流量計の使用される態様によっては、測定した流量値が予め設定された下限流量値あるいは上限流量値を超えたときに高速な（例えば、１秒以内の）スイッチ出力が求められる場合がある。これに対応するために、本発明においては、前記スイッチ出力周期決定データにより、スイッチ出力を高速とするか否かを選択することができるようになされている。このスイッチ出力周期決定データの設定は、後に詳述するキー入力処理ルーチン（前記ステップＳ７３）において、前記手動操作部１３の各キースイッチ４１〜４３を用いてユーザが設定することができるようになされている。
このステップＳ１１２の判定の結果高速出力とされているときには、ステップＳ１１３においてスイッチ出力フラグをセットし、ステップＳ１１４に進む。一方、高速出力とされていないときには、そのままステップＳ１１４に進む。
【００９７】
ステップＳ１１４においては、前記レジスタｊの内容が０〜４のいずれであるのかを判定する。そして、ｊ＝０およびｊ＝４のときは、そのままステップＳ１１９に進む。また、ｊ＝１のときは、ステップＳ１１５において主カウンタ８１の計数内容ｆ０をレジスタに格納し、ステップＳ１１６において主カウンタ８１の計数内容を０にリセットして再び主カウンタ８１による入力パルス信号の計数を再開し、ステップＳ１１９に進む。
これにより、図２２に示すように、ｊ＝１のとき、すなわち、前記第１周期タイマの測定開始（終了）点において主カウンタの計数値ｆ０がレジスタに格納されることとなる。したがって、レジスタには、１秒間に入力される入力信号パルスの数ｆ０、すなわち、入力信号パルスの周波数の整数部が格納されることとなる。
また、ｊ＝２のときは、ステップＳ１１７において演算許可フラグ１をセットして、ステップＳ１１９に進む。さらに、ｊ＝３のときは、ステップＳ１１８において、外部出力許可フラグをセットして、ステップＳ１１９に進む。
【００９８】
さて、前述のように、ステップＳ１１４においてｊ＝０または４のとき、もしくは、ステップＳ１１６、Ｓ１１７またはＳ１１８が実行された後、ステップＳ１１９が実行され、前記レジスタｊの内容はインクリメントされる。そして、ステップＳ１２０において、前記レジスタｊの内容が２であるか否かが判定され、ｊ＝２のときは、ステップＳ１２１に進む。後述するように、前記副カウンタ８２は前記センサ部１１からの入力パルスの立上がりから立下がりまで前記１ｍｓｅｃ基準クロックを計数しており、このステップＳ１２１において、この時点における前記副カウンタ８２の計数値ｎ１をレジスタに格納する。そして、演算許可フラグ２をセットし（ステップＳ１２２）、今回の周波数測定割込み処理を終了する。
すなわち、図２２に示すように、前記ステップＳ１２１により、前記計測開始（終了）点の直前の入力パルス信号の立上がりエッジから当該計測開始点までの１ｍｓｅｃ基準クロックにより計数した時間ｎ１がレジスタ中に得られる。
一方、前記ステップＳ１２０の判定結果がＮＯのときは、ステップＳ１２３に進み、ｊ＝５であるか否かを判定する。そして、ｊ＝５のときは、レジスタｊの内容を０にセットし、また、ｊ≠５のときは、そのまま、この周波数測定割込み処理を終了する。
【００９９】
図２１は、前記１ｍｓｅｃクロック計数割込処理を説明するためのフローチャートである。
前記入力パルス信号の立ち上がりエッジを検出したとき、この１ｍｓｅｃクロック計数割込処理が開始され（ステップＳ１３１）、１ｍｓｅｃクロックの計数が開始される（ステップＳ１３２）。なお、実際には、この計数処理は、前記副カウンタ８２において実行される。そして、その計数値Ｎ１が２００以上（すなわち、１ｍｓｅｃ×２００＝０．２ｓｅｃ以上）となったか否かを判定し（ステップＳ１３３）、２００以上となったときは前記第２のカウンタをリセットして、次の入力パルス信号の立ち上がりエッジの検出を待つ（ステップＳ１３９）。前述のように、この例においては、測定下限周波数は５Ｈｚとされており、入力パルスの周期が０．２ｓｅｃ以上のときは該測定下限周波数以下であるため、このように、次の入力パルスを待つこととしている。すなわち、流れ有り周波数が５Ｈｚとされていれば、計測すべき流れはないのでパルスが入力されず、この入力パルスの測定を行う必要がないという現実的な側面もある。
【０１００】
一方、前記ステップＳ１３３の判定結果がＮＯのときは、ステップＳ１３４に進み、次の立ち上がりエッジを検出するまで、上記計数を繰り返す（ステップＳ１３４のＮＯ）。そして、次の立ち上がりエッジを検出したときは、それまでの副カウンタ８２の計数値Ｎ１を前記ＲＡＭ８５の所定領域に格納する（ステップＳ１３５）。すなわち、図２２に示すように、前記入力パルスの周期を順次１ｍｓｅｃクロックにより計測し、該計測値を順次ＲＡＭ８５中に格納する。なお、このとき、前回の計数値とは異なるＲＡＭ８５の領域に今回の計数値を格納するようにする。すなわち、ＲＡＭ８５の副カウンタ８２の計数値Ｎ１を格納する領域として、例えば、最低３つの計数値を格納する領域を準備し、直前の３つの計数値Ｎ１を順次格納する。
【０１０１】
次に、ステップＳ１３６に進み、前記ＲＡＭ８５に格納されている計数値Ｎ１が、３回連続して、２０あるいは１６となっているか否かを判定する。これは、交流電源（５０Ｈｚあるいは６０Ｈｚ）の誘導電圧がノイズとして前記測定信号に混入している場合に、これによる誤測定を防止するためである。このステップＳ１３６の判定結果がＹＥＳのときは、ステップＳ１４０に進み、前記主カウンタの計数値ｆ０を０にリセットするとともに、次の計数開始時点、すなわち、ｊ＝０のときまで、前記主カウンタ８１の計数動作を中止させる。
なお、一般に流量値は細かく変動しており、通常、同一の周波数が連続して検出されることはないので、このような手法により商用交流電源からの誘導ノイズを検出することを防止できる。
【０１０２】
一方、前記ステップＳ１３６の判定結果がＮＯのときは、ステップＳ１３７に進み、前記演算許可フラグ２がセットされているか否かを判定する。この判定の結果がＮＯのときは、前記ステップＳ１３２に戻り、前述した入力パルス信号の周期の計測を継続する。一方、演算許可フラグ２がセットされており、前記ステップＳ１３７の判定結果がＹＥＳのときは、ステップＳ１３７に進み、このときの計数値Ｎ１を前記ＲＡＭ８５から読み出して、前記レジスタに格納する。そして、再び、前記ステップＳ１３２以降の処理を繰り返す。すなわち、前述のように、ｊ＝１に対応するタイミングで前記演算許可フラグ２がセットされており（前記周波数測定割込処理におけるステップＳ１２２）、図２２に示すように、測定開始点後の最初の入力パルスの立上がり時点で、前記計数値Ｎ１がレジスタに格納されることとなる。これにより、この１ｍｓｅｃクロック計数割込処理により、前記ｊ＝１の時点をまたぐ入力パルス信号の周期Ｎ１をレジスタ中に得ることができる。
【０１０３】
このように、上記周波数測定割込処理および１ｍｓｅｃクロック計数割込処理により、レジスタ中に主カウンタ８１の計数内容ｆ０および副カウンタ８２の計数内容ｎ１およびＮ１が書込まれることとなる。前記流量算出処理ステップＳ６９（図１５）以降の処理において、これらの計数値を用いて流量値を算出し、それを表示し、外部に出力し、さらに外部にスイッチ出力を行なう処理が行なわれる。
以下、これらの処理について詳細に説明する。
【０１０４】
図２３は、前記ステップＳ６９の流量算出処理を示すフローチャートである。この処理が開始されると、まず、前記演算許可フラグ１および前記演算許可フラグ２がともにセット状態となっているか否かが判定される（ステップＳ１４１）。ここで、前記演算許可フラグ１および２がともにセットされていないときには、レジスタに前記主カウンタの計数値ｆ０および前記副カウンタの計数値Ｎ１およびｎ１が準備されておらず瞬時流量値および積算流量値の演算を実行するタイミングではないので、このままこの流量算出処理を終了する。
【０１０５】
一方、前記演算許可フラグ１および演算許可フラグ２の両方がセットされているとき（前記図２２に示したように、ｊ＝２以降のタイミングであるとき）には、ステップＳ１４２に進み、前記レジスタに格納されている前記主カウンタ８１により計数された１秒間の入力パルス信号の個数ｆ０がレジスタｆに格納される。次に、ステップＳ１４３に進み、測定開始点における小数部の減算を行なう。すなわち、前述したように、前記副カウンタ８２により計数されレジスタに格納されているＮ１およびｎ１の値を用いて、前記式（４）前半部のｆ−ｎ１／Ｎ１を算出し、前記レジスタｆに格納する。続いて、ステップＳ１４４に進み、前記測定終了点における小数部の加算を行なう。すなわち、前記副カウンタ８２により計数されレジスタに格納されているＮ２およびｎ２の値を用いて、前記式（４）後半部のｆ＋ｎ２／Ｎ２を算出し、前記レジスタｆに格納する。すなわち、前記ステップＳ１４２、Ｓ１４３およびＳ１４４により、前述した式（４）の演算を実行して、１秒間の入力パルス信号の周波数ｆを高精度に算出する。
【０１０６】
次に、ステップＳ１４５に進み、このようにして算出された周波数ｆの値が前記流れ有り周波数Ｆ１以上であるか否かを判断する。この結果がＮＯのときは測定下限周波数以下であるため、ステップＳ１４８に進み、瞬時値を格納するレジスタＱに０を格納する。一方、前記周波数ｆが流れ有り周波数Ｆ１以上のときは、ステップＳ１４６に進み、前記式（３）に基づいて、瞬時流量値Ｑ（＝Ａｉ×ｆ＋Ｂｉ）を算出する。なお、ここで用いられている補正係数ＡｉおよびＢｉは、前記ステップＳ６３（図１５）において前記ＥＥＰＲＯＭ１７から読み出された補正係数である。なお、ここで前記瞬時流量値Ｑは「Ｌ／ｍｉｎ」を単位とした値とされている。
続いて、ステップＳ１４７に進み、前記ステップＳ１４６で算出した瞬時流量値Ｑを用いて、積算流量値Ｑｔに対しＱ／６０を加算して該積算流量値Ｑｔを更新する。ここで、Ｑを６０で除算するのは１秒間の流量に変換するためである。前記ステップＳ１４８あるいは前記ステップＳ１４７の処理が終了した後、前記前記演算許可フラグ１および２をともにリセットして（ステップＳ１４９）、この流量算出処理を終了する。
【０１０７】
図２４は、前記ステップＳ７０（図１５）の表示処理を説明するためのフローチャートである。この表示処理が開始されると、まず、ステップＳ１５１において、設定されている表示モードが判定される。ここで、表示モードが瞬時流量とされているときは、ステップＳ１５２に進み、前記表示器３１に前記流量算出処理において算出した瞬時流量値Ｑを表示する。なお、この表示モードの設定は、後述するキー入力処理において設定される。
また、積算流量表示とされているときは、ステップＳ１５３に進み、固定桁表示に設定されているか否かを判定する。ここで、固定桁の表示（固定小数点方式の表示）に設定されているときには、ステップＳ１５４に進み、前記表示器３１に上位桁の表示であることを示す記号「ｕ．ｄ．」と積算流量値のｍ3を単位とする上位桁データを所定期間（例えば、０．５秒毎に５秒間）交互に表示する。続いて、ステップＳ１５５に進み、前記表示器３１に下位桁の表示であることを示す記号「Ｌ．ｄ．」と積算流量値のＬを単位とする下位桁データを、前記ステップＳ１５４と同様に所定期間交互に表示する。
【０１０８】
一方、浮動小数点方式の表示に設定されているときには、前記ステップＳ１５３の判定結果がＮＯとなり、ステップＳ１５６に進む。このステップＳ１５６においては、前記表示器３１に上位桁の表示であることを示す記号「ｕ．ｄ．」と積算流量値の最上位桁から３桁のデータを所定期間交互に表示する。また、前記単位表示部３２が設けられているときには、前記表示とともに、前記「ｍ3」単位表示ＬＥＤ３５を点灯表示する。そして、ステップＳ１５７に進み、前記表示器３１に下位桁の表示であることを示す記号「Ｌ．ｄ．」と積算流量値の最上位桁から第４〜６桁目のデータを所定期間交互に表示する。また、前記単位表示部３２が設けられているときには、それと同時に、対応する単位表示用ＬＥＤ３５あるいは３６を点灯する。すなわち、表示している第４〜６桁目のデータの単位が立方メートルであるときは「ｍ3」単位表示ＬＥＤ３５を点灯し、リットルであるときは、「Ｌ」単位表示ＬＥＤ３６を点灯する。
【０１０９】
図２５は、前記外部出力処理Ｓ７１（図１５）のフローチャートである。この外部出力処理が起動されると、まず、ステップＳ１６１において、前記外部出力許可フラグがセットされているか否かが判定される。この外部出力許可フラグは、前記周波数測定割込処理（図２０）におけるステップＳ１１８において、ｊ＝３のタイミングでセットされるフラグである（図２２参照）。この外部出力許可フラグがセットされていないときは、外部出力のタイミングではないためこのままこの外部出力処理を終了する。
このように、本発明においては、外部出力のタイミングを所定のタイミングとしているため、外部装置において取得されるデータの偏差が少なくなり、高精度の監視が可能となる。
一方、外部出力許可フラグがセットされているときには、ステップＳ１６２において、設定されている外部出力の信号方式が判定される。前述したように、この出力方式の選択は、前記機能選択部１２（図１１）におけるジャンパーピンＪ２により設定されている。
【０１１０】
ここで、信号方式として４〜２０ｍＡ伝送方式が選択されているときは、ステップＳ１６３において、前記ステップＳ１４４（図２３）で算出された周波数ｆが前記流れ有り周波数Ｆ１以上であるか否かを判定し、流れ有り周波数Ｆ１以上でないときには、ステップＳ１６４に進み、前記１０ビットの出力ラッチに全て「０」を出力する。また、周波数ｆが流れ有り周波数Ｆ１以上のときは、ステップＳ１６５に進み、前記ステップＳ１４４（図２３）で算出した瞬時流量値Ｑが定格の流量値の１１０％以上であるか否かを判定する。この判定結果がＹＥＳのときは、ステップＳ１６７に進み、前記１０ビットのラッチ出力に全て「１」を出力する。一方、前記ステップＳ１６５の判定結果がＮＯのときは、ステップＳ１６６に進み、前記算出した瞬時流量値Ｑの値に対応する１０ビットの出力を前記１０ビットのラッチに出力する。これにより、前記信号出力部４０（図１２）における１０ビットＤ／Ａ変換部７３においてこの１０ビットラッチ出力がアナログ信号に変換され、Ｖ／Ｉ変換部７４において対応する電流信号に変換され、４〜２０ｍＡ伝送信号出力部７５から前記外部装置ＥＸＣＴに対応する４〜２０ｍＡ伝送信号が出力されることとなる。
【０１１１】
一方、前記機能選択部１２におけるジャンパーピンＪ２が開放されており、出力方式としてＰＷＭ信号方式が選択されているときは、ステップＳ１６８に進む。そして、前述の場合と同様に、測定した周波数ｆが流れ有り周波数Ｆ１以上であるか否かを判定する。その結果がＮＯのときは、前記マイコン２０に内蔵されているＰＷＭ出力機能部から１０ビットの「０」に相当するデューティを有するパルス信号を前記出力トランジスタ７６のゲートに出力する（ステップＳ１６９）。また、測定した周波数ｆが流れ有り周波数Ｆ１以上であるときには、ステップＳ１７０に進み、前記算出した瞬時流量値Ｑが定格の１１０％以上であるか否かを判定する。そして、この判定結果がＮＯのときは、ステップＳ１７１に進み、前記算出した瞬時流量値Ｑ（これは１０ビットのデータとされている）に対応するデューティを有するパルス信号を前記出力トランジスタ７６のゲートに出力する。また、前記瞬時流量値Ｑが定格の１１０％以上であるときは、ステップＳ１７２に進み、１０ビットのオール１に相当するデューティを有するパルス信号を前記出力トランジスタ７６のゲートに出力する。これにより、前記出力トランジスタ７６を介して、外部装置ＥＸＣＴに測定した瞬時流量に対応する１０ビットの分解能を有するＰＷＭ信号を出力することができる。
【０１１２】
前記ステップＳ１６７、Ｓ１６６またはＳ１６４、もしくは、前記ステップＳ１７２、Ｓ１７１またはＳ１６９により設定されている信号方式に基づく信号を外部装置ＥＸＣＴに出力した後、ステップＳ１７３において前記外部出力許可フラグをリセットして、この外部出力処理を終了する。
このように本発明においては、１０ビットの分解能を有する測定結果を用いているため、誤差の伝搬を防止し、高精度の測定結果を得ることが可能となる。
【０１１３】
図２６は、前記スイッチ出力処理Ｓ７２（図１５）の動作を説明するフローチャートである。このスイッチ出力処理が開始されると、まず、ステップＳ１８１において、前記スイッチ出力フラグがセットされているか否かが判定される。このスイッチ出力フラグは、前記周波数測定割込み処理（図２０）におけるステップＳ１１３においてセットされるフラグであり、高速スイッチ出力モードとされているときには、前記ステップＳ１１３（図２０）において０．２秒毎にこのフラグがセットされることとなる。ここで、スイッチ出力フラグがセットされていない通常スイッチ出力モードのときは、ステップＳ１８５に進み、レジスタｆ’に前記測定周波数ｆを書込む。一方、前記スイッチ出力フラグがセットされている高速出力モードのときは、ステップＳ１８２に進み、前記主カウンタ８１の計数値ｆ０を読み込み、前回のこのスイッチ出力処理時において読み込んだ主カウンタの計数値ｆ０（ｏｌｄ）との差Δｆを求め、レジスタｆ’に５×Δｆを書込む（ステップＳ１８３）。そして、ステップＳ１８４において、前記スイッチ出力フラグをリセットする。なお、スイッチ出力フラグは、フローチャート中では、ＳＷ出力フラグと記述されている。
【０１１４】
すなわち、前記スイッチ出力フラグがセットされている高速スイッチ出力モードにおいては、０．２秒毎に実行されるこのスイッチ出力処理において読み込まれた主カウンタ８１の計数値の差Δｆを５倍した値をスイッチ出力のための周波数値ｆ’として用い、通常スイッチ出力モードのときには、前記ステップＳ１４４（図２３）で算出した周波数値ｆ（この値は、ほぼ１秒毎に算出される）をスイッチ出力のための周波数値ｆ’として用いている。
このようにしてスイッチ出力のための周波数値ｆ’を決定した後、ステップＳ１８６に進み、前述した式（３）に基づいて、この周波数値ｆ’に対応する瞬時流量値Ｑ’（＝Ａｉ×ｆ’＋Ｂｉ）を算出する。
【０１１５】
次に、ステップＳ１８７に進み、前記ステップＳ１８６で算出した瞬時流量値Ｑ’と予め設定されている下限流量値ＱＬとを比較する。この結果、Ｑ’≦ＱＬのときはステップＳ１８８に進み、前記出力トランジスタ７０のゲートにハイレベルを出力して第１の出力ＯＵＴ１から「Ｌ」レベル信号を出力する。また、同時に前記第１の出力用のＬＥＤ３３を点灯する。
一方、Ｑ’＞ＱＬのときは、ステップＳ１８９に進み、出力ＯＵＴ１が「Ｌ」レベルとなっているか否かを判定する。この結果がＹＥＳのときは、さらに、ステップＳ１９０に進み、瞬時流量値Ｑ’がＱＬ＋ｑＬ以上であるかどうかを判定する。この判定の結果がＮＯのときは、前記ステップＳ１８８に進む。
このように、このステップＳ１８９およびＳ１９０において、出力ＯＵＴ１にヒステリシス特性を持たせている。これにより、図２６中にも示したように、出力ＯＵＴ１は瞬時流量値Ｑ’が下限流量値ＱＬ未満となったときに「Ｌ」レベルとなり、瞬時流量が上昇してきたときには、ＱＬ＋ｑＬ以上となったときに「Ｈ」レベルとなるようにヒステリシス特性を有するものとされている。
一方、前記ステップＳ１８９の判定結果がＮＯのとき、および、前記ステップＳ１９０の判定結果がＹＥＳのときは、ステップＳ１９１に進み、前記出力トランジスタ７０のゲートにローレベルを出力し、第１の出力ＯＵＴ１から「Ｈ」レベル信号を出力する。また、同時に前記ＯＵＴ１ＬＥＤ３３を消灯する。
【０１１６】
第１の出力ＯＵＴ１に対する前記ステップＳ１８８あるいは前記ステップＳ１９１の処理を実行した後、ステップＳ１９２に進み、今度は、前記瞬時流量値Ｑ’と上限流量値ＱＵとの比較を行なう。その結果、ＱＵ≦Ｑ’のときは、ステップＳ１９３に進み、前記出力トランジスタ７１（図１２）のゲートにハイレベルの信号を出力し、前記第２の出力ＯＵＴ２に「Ｌ」レベルを出力するとともに、前記第２の出力ＬＥＤ３４を点灯する。
一方、Ｑ’＜ＱＵのときは、ステップＳ１９４に進み、第２の出力ＯＵＴ２はローレベルか否かを判定する。この結果、ローレベルのときは、ステップＳ１９５に進み、前記瞬時流量値Ｑ’がＱＵ−ｑＵ以下であるか否かを判定する。ここで、ｑＵは前記第２のスイッチ出力のヒステリシス特性を定める値であり、この第２のスイッチ出力ＯＵＴ２は、瞬時流量値Ｑ’が上限流量値ＱＵ以上となったときにハイレベルからローレベルに反転し、瞬時流量値Ｑ’がＱＵ−ｑＵ以下となったときに、ローレベルからハイレベルに反転するようになされている。したがって、前記ステップＳ１９５の判定結果がＮＯのときは、未だＯＵＴ２出力をローレベルからハイレベルに反転する流量ではないため、前記ステップＳ１９３に進む。
また、前記ステップＳ１９４の判定結果がＮＯのとき、あるいは、前記ステップＳ１９５の判定結果がＹＥＳのときは、ステップＳ１９６に進み、前記出力トランジスタ７１（図１２）のゲートにローレベルの信号を出力し、前記第２の出力ＯＵＴ２に「Ｈ」レベルを出力するとともに、前記第２の出力ＬＥＤ３４を消灯する。
【０１１７】
このように、本発明のスイッチ出力処理においては、０．２秒毎に前記主カウンタの計数値ｆ０をチェックし、前回（０．２秒前）における計数値との差Δｆを求め、５×Δｆを１秒間の周波数として近似的な流量を算出している。そして、この０．２秒毎に算出した近似流量値を用いて、上限／下限流量値との比較を行っている。したがって、従来のように、測定周期（例えば、１秒）ごとに比較を行う場合と比較して、迅速に事故の発生を検出し信号を発信することが可能となり、前述した冷却水の流量を監視する応用例のような場合に、設備の焼損を防止することが可能となる。
【０１１８】
なお、上記においては、０．２秒毎の主カウンタ８１の計数値の差Δｆに基づいて近似周波数値を算出していたが、他の方法を採用することもできる。すなわち、０．２秒毎に、その時点が前記第１の周期のうちのどの時点であるかに応じて、その時点における主カウンタ８１の計数値ｆ０に異なる係数を乗算して近似的な１秒間の周波数を求め、これにより、近似的な流量を算出する方法である。具体的には、当該時点が０．２秒後のときは主カウンタの計数値ｆ０×５を１秒間の周波数値として、０．４秒後のときはｆ０×２．５を、０．６秒後のときはｆ０×１．６６７を、０．８秒後のときはｆ０×１．２５をそれぞれ１秒間の周波数値として、近似流量を算出し、この近似流量と前記上限／下限流量値とを比較する。この手法によれば、前述の場合よりも、より高精度の近似流量を得ることが可能となるが、異なる係数を用いているために制御プログラムが複雑となる。
【０１１９】
図２７は、前記キー入力処理Ｓ７３（図１５）の処理フローチャートである。このキー入力処理が開始されると、まず、ステップＳ２０１において、前記手動操作部１３の設定キー（ＥＮＴキー）４１、アップキー（△キー）４２あるいはダウンキー（▽キー）４３のいずれかが操作されたか否かを判定する。ここで、キー操作が検出されなかったときは、ステップＳ２０２に進み、前記瞬時流量値Ｑの表示を行なって、このキー入力処理を終了する。
【０１２０】
上記操作キー４１〜４３のうちのいずれかの操作が検出されたときは、ステップＳ２０３に進み、操作されたキーがＥＮＴキー４１であるか否かを判定する。操作されたキーがＥＮＴキー４１であるときは、ステップＳ２０４に進み、積算流量値Ｑｔ表示フラグを所定期間（ここでは、１０秒間）セット状態とする。これにより、前記表示処理（図２４）のステップＳ１５１において、表示モードが積算流量モードとされ、前記積算流量値Ｑｔが表示部３０に表示されることとなる。そして、ステップＳ２０５に進み、前記ＥＮＴキー４１が再度操作されたか否かを判定する。そして、ＥＮＴキー４１が操作されなかったときは、そのままこのキー入力処理を終了する。
このように、操作者がＥＮＴキー４１を１回操作することにより、前記表示部３０に積算流量値Ｑｔを所定期間表示させることができる。
【０１２１】
一方、ＥＮＴキー４１が再度操作され前記ステップＳ２０５の判定結果がＹＥＳとなったときは、ステップＳ２０６に進み、前記表示器３１に出力ＯＵＴ１のＬレベル点（下限流量値ＱＬ）を表示し、前記ＯＵＴ１ＬＥＤ３３を点滅表示する。操作者は、この状態にあるとき、前記△キー４２あるいは▽キー４３を用いて前記ＱＬの値を変更し、ＥＮＴキー４１で設定させることができる。ＥＮＴキー４１が操作され、このＱＬの設定が終了されると、ステップＳ２０７に進み、同様にヒステリシス値ｑＬが表示されて、このｑＬの変更および設定が行なわれる。以下、ＥＮＴキー４１の操作により、ステップＳ２０８の上限流量値ＱＵの表示、変更および設定、ステップＳ２０９のヒステリシス値ｑＵの表示、変更および設定が同様に行なわれ、ステップＳ２０９においてＥＮＴキー４１が操作されると、このキー入力処理が終了される。
このように、操作者がＥＮＴキー４１を２度押すことにより、下限流量値ＱＬ、ヒステリシス値ｑＬ、上限流量値ＱＵ、ヒステリシス値ｑＵの変更および設定を行なうことができる。
【０１２２】
一方、前記ステップＳ２０３においてＮＯと判定されたとき、すなわち、操作されたキーが△キー４２あるいは▽キー４３であるときは、ステップＳ２１０に進み、前記△キー４２および▽キー４３が同時に押圧されたか否かが判定される。そして、この判定結果がＹＥＳのときは、さらに、△キー４２および▽キー４３が同時に第１の所定時間（例えば、５秒）以上押圧されているか否かが判定される（ステップＳ２１１）。前記ステップＳ２１０の判定結果がＮＯのとき、あるいは、前記ステップＳ２１１の判定結果がＮＯのとき、すなわち、△キー４２および▽キー４３が同時に第１の所定時間（５秒）以上押圧されていなかったときは、このまま、このキー入力処理を終了する。
【０１２３】
一方、△キー４２および▽キー４３が同時に前記第１の所定時間以上押圧され、前記ステップＳ２１１の判定結果がＹＥＳのときは、ステップＳ２１２に進み、前記△キー４２および▽キー４３の同時押しが第２の所定時間（例えば、１０秒）以上継続したか否かを判定する。この判定結果がＹＥＳのとき、すなわち、△キー４２および▽キー４３が例えば１０秒以上継続して押されたときは、ステップＳ２１６に進み、前記ＲＡＭ８５およびＥＥＰＲＯＭ１７中に記憶されている積算流量値Ｑｔをクリアして、このキー入力処理を終了する。
これにより、積算流量値Ｑｔをクリアして、再び０からの積算を開始させることができる。
【０１２４】
また、前記ステップＳ２１２の判定結果がＮＯのとき、すなわち、△キー４２および▽キー４３が同時に例えば５秒以上１０秒未満押圧されたときは、ステップＳ２１３に進み、前記設定コードを読み出し、対応する口径、材質、ソフトのバージョン情報を所定期間ずつ順次表示する。これは、前記ステップＳ６４（図１５）における表示と同様である。
次に、ステップＳ２１４に進み、設定されている表示モードを前記表示器３１に表示する。これは、例えば、表示モードが固定桁表示に設定されているときには、前記表示器３１における３つの小数点を全て点灯し、浮動桁表示に設定されているときには、前記表示器３１における３つの小数点を１つずつ循環点灯させることなどにより行なわれる。操作者は、このときに、前記△キー４２あるいは▽キー４３を操作することにより、表示モードを変更することができ、ＥＮＴキー４１を操作することにより、表示モードを設定することができる。
【０１２５】
操作者がＥＮＴキー４１を操作すると、ステップＳ２１５に進み、設定されているスイッチ出力周期が前記表示器３１に表示される。これは、例えば、スイッチ出力周期が高速に設定されているときには前記表示器３１に「０．２」を表示し、低速に設定されているときには「１．０」を表示することにより行なわれる。操作者は、前記△キー４２あるいは▽キー４３を操作することにより、このスイッチ出力周期の設定を変更することが出来、ＥＮＴキー４１を操作することにより、該スイッチ出力周期を設定することができる。そして、ＥＮＴキー４１が操作されたときに、このキー入力処理が終了する。
このように、このキー入力処理においては、前記△キー４２および▽キー４３を主として設定の変更に用い、ＥＮＴキー４１を確定に用いることにより、各パラメータの設定および変更を容易に行なうことができる。
【０１２６】
なお、上述した実施の形態においては、入力パルスの立上がりにより、入力パルスの計数およびその周期の測定を行なうようにしていたが、入力パルスの立下がり時点を基準としてもよい。
また、前記第１の周期、第２の周期および基準クロックの周期は、いずれも、前述した実施の形態において用いた値とする必要は無く、個々の場合に応じて最適な値を用いればよい。例えば、基準クロックをより高速なものとすることにより、より分解能の高い測定を行なうことが可能となる。
さらに、上述した実施の形態においては、表示器３１を３桁の表示部を有するＬＥＤとしたが、これに限られることは無く、４桁、８桁等任意の桁数のものとすることができる。さらに、ＬＥＤ表示器に限られることはなく、例えばＬＣＤなど他の表示素子を用いることもできる。
【０１２７】
【発明の効果】
以上詳細に説明したように、本発明の流量計によれば、短時間の測定で高精度の周波数測定をおこなうことが可能となる。
また、連続して測定を行なうときには、前回の測定に用いた計数値（ｎ２，Ｎ２）を次回の測定にも用いることができ、高い処理効率で測定を行なうことができる。
本発明の流量計によれば、第１の周期毎に瞬時流量値を高精度に測定することができる。
また、積算流量を多桁で表示することが可能となり、使い勝手のよい流量計を提供することができる。
さらに、高分解能の測定結果に基づいて、所定のタイミングで外部装置に測定流量を伝送することができ、データの偏差が少なく、高精度の監視が可能となる。
さらにまた、使用者が用途に応じて外部スイッチ出力を高速で行なうか否かを選択することができる流量計を提供することができる。
さらにまた、スイッチ出力の設定値を容易に設定変更することのできる流量計を提供することができる。
【図面の簡単な説明】
【図１】  本発明の流量計の周波数測定方法が適用された周波数測定部の構成例を示す図である。
【図２】  本発明の流量計の周波数測定方法を説明するための図である。
【図３】  図１に示す周波数測定部におけるメインルーチンのフローチャートである。
【図４】  図１に示す周波数測定部における第１タイマ割込処理ルーチンのフローチャートである。
【図５】  図１に示す周波数測定部における第２カウンタの計数処理ルーチンのフローチャートである。
【図６】  図１に示す周波数測定部の動作を説明するためのタイミングチャートである。
【図７】  本発明の流量計の周波数測定方法を適用した流量計の基本構成の一例を示すブロック図である。
【図８】  本発明の流量計の一実施の形態の構造を示す図である。
【図９】  本発明の流量計の表示部の他の実施の形態を示す図である。
【図１０】  本発明の流量計におけるプリント基板の配置およびプリント基板上の部品配置の一例を示す図である。
【図１１】  本発明の流量計の回路構成を示すブロック図である。
【図１２】  本発明の流量計の電源部および信号出力部の構成を示すブロック図である。
【図１３】  本発明の流量計におけるＲＯＭ、ＲＡＭおよびＥＥＰＲＯＭのメモリマップの一例を示す図である。
【図１４】  本発明の流量計のメインルーチンのフローチャートである。
【図１５】  本発明の流量計の瞬時流量計処理プログラムのフローチャートである。
【図１６】  図１５におけるステップＳ６４による表示形態を説明するための図である。
【図１７】  本発明の流量計の電源電圧チェック割込処理のフローチャートである。
【図１８】  本発明の流量計の調整検査工程時における接続状態を示す図である。
【図１９】  本発明の流量計の調整検査工程のフローチャートである。
【図２０】  本発明の流量計の周波数測定割込処理のフローチャートである。
【図２１】  本発明の流量計の１ｍｓｅｃクロック計数処理のフローチャートである。
【図２２】  前記周波数測定割込処理および１ｍｓｅｃクロック計数処理を説明するための図である。
【図２３】  本発明の流量計の流量算出処理のフローチャートである。
【図２４】  本発明の流量計の表示処理のフローチャートである。
【図２５】  本発明の流量計の外部出力処理のフローチャートである。
【図２６】  本発明の流量計のスイッチ出力処理のフローチャートである。
【図２７】  本発明の流量計のキー入力処理のフローチャートである。
【符号の説明】
１  周波数検出部
２  第１カウンタ
３  第２カウンタ
４  第１タイマ
５  基準クロック発生部
６  演算処理部
７  制御部
８  表示部
９  出力部
１１  センサ部
１２  機能選択部
１３  手動操作部（キー入力部）
１４  リセット信号出力部（パワーオンリセット回路）
１５  ウォッチドッグタイマ部
１６  電圧低下検出部
１７  不揮発性記憶部（ＥＥＰＲＯＭ）
２０  コントロール部（マイコン）
３０  表示部
３１  表示器（データ表示ユニット）
３３  出力１表示ユニット（ＯＵＴ１ＬＥＤ）
３４  出力２表示ユニット（ＯＵＴ２ＬＥＤ）
３５、３６  単位表示ＬＥＤ
４０  信号出力部
４１  設定キー（ＥＮＴキー）
４２  アップキー（△キー）
４３  ダウンキー（▽キー）
４５  電源部
５０  計量部本体
６１〜６３  プリント基板
７０、７１、７６、７７  出力トランジスタ
７３  デジタルアナログ変換部（Ｄ／Ａ変換部）
７４  電圧電流変換部（Ｖ／Ｉ変換部）
７５  ４〜２０ｍＡ伝送信号出力部
７８  直流安定化電源回路
８１  第１のカウンタ（主カウンタ）
８２  第２のカウンタ（副カウンタ）
８３  タイマレジスタ群
８４  ＲＯＭ
８５  ＲＡＭ
【図１】
0004126117.tif 000002
【図２】
0004126117.tif 000003
【図３】
0004126117.tif 000004
【図４】
0004126117.tif 000005
【図５】
0004126117.tif 000006
【図６】
0004126117.tif 000007
【図７】
0004126117.tif 000008
【図８】
0004126117.tif 000009
【図９】
0004126117.tif 000010
【図１０】
0004126117.tif 000011
【図１１】
0004126117.tif 000012
【図１２】
0004126117.tif 000013
【図１３】
0004126117.tif 000014
【図１４】
0004126117.tif 000015
【図１５】
0004126117.tif 000016
【図１６】
0004126117.tif 000017
【図１７】
0004126117.tif 000018
【図１８】
0004126117.tif 000019
【図１９】
0004126117.tif 000020
【図２０】
0004126117.tif 000021
【図２１】
0004126117.tif 000022
【図２２】
0004126117.tif 000023
【図２３】
0004126117.tif 000024
【図２４】
0004126117.tif 000025
【図２５】
0004126117.tif 000026
【図２６】
0004126117.tif 000027
【図２７】
0004126117.tif 000028