(57)【特許請求の範囲】
【請求項１】
プログラム実行部を備え、検出された値を用いて演算を行なうフィールド機器であって、
検出された値に基づくデータを格納するデータ用バッファ領域と、
前記プログラム実行部が前記データを用いて演算を行なうための第１プログラムを格納する第１プログラム領域と、
前記プログラム実行部が前記データを用いて演算を行なうための、前記第１プログラムと同じ演算結果を得ることが予定される第２プログラムを格納する第２プログラム領域と、
前記プログラム実行部が前記第１プログラムの実行の際に中間データを格納する第１プログラム用バッファ領域と、
前記プログラム実行部が前記第２プログラムの実行の際に中間データを格納する第２プログラム用バッファ領域と、
前記プログラム実行部が前記第１プログラムの演算結果を格納する第１演算結果格納用バッファ領域と、
前記プログラム実行部が前記第２プログラムの演算結果を格納する第２演算結果格納用バッファ領域と、が形成されたメモリと、
前記第１演算結果格納用バッファ領域に格納された演算結果と、前記第２演算結果格納用バッファ領域に格納された演算結果とを比較し、両演算結果が一致しない場合に、前記メモリの健全性が保たれていないと判定する演算結果比較部と、を備えたことを特徴とするフィールド機器。
【請求項２】
プログラム実行部を備え、検出された値を用いて演算を行なうフィールド機器であって、
検出された値に基づくデータを格納する第１データ用バッファ領域と、
前記データを格納する第２データ用バッファ領域と、
前記プログラム実行部が前記第１データ用バッファ領域に格納されたデータを用いて演算を行なうための第１プログラムを格納する第１プログラム領域と、
前記プログラム実行部が前記第２データ用バッファ領域に格納されたデータを用いて演算を行なうための、前記第１プログラムと同じ演算結果を得ることが予定される第２プログラムを格納する第２プログラム領域と、
前記プログラム実行部が前記第１プログラムの実行の際に中間データを格納する第１プログラム用バッファ領域と、
前記プログラム実行部が前記第２プログラムの実行の際に中間データを格納する第２プログラム用バッファ領域と、
前記プログラム実行部が前記第１プログラムの演算結果を格納する第１演算結果格納用バッファ領域と、
前記プログラム実行部が前記第２プログラムの演算結果を格納する第２演算結果格納用バッファ領域と、が形成されたメモリと、
前記第１演算結果格納用バッファ領域に格納された演算結果と、前記第２演算結果格納用バッファ領域に格納された演算結果とを比較し、両演算結果が一致しない場合に、前記メモリの健全性が保たれていないと判定する演算結果比較部と、を備えたことを特徴とするフィールド機器。
【請求項３】
プログラム実行部を備え、検出された値を用いて演算を行なうフィールド機器であって、
検出された値に基づくデータを格納するデータ用バッファ領域と、
前記プログラム実行部が前記データを用いた演算を２回繰り返して行なうためのプログラムを格納するプログラム領域と、
前記プログラム実行部が前記プログラムの１回目の実行の際に中間データを格納する第１プログラム用バッファ領域と、
前記プログラム実行部が前記プログラムの２回目の実行の際に中間データを格納する第２プログラム用バッファ領域と、
前記プログラム実行部が前記プログラムの１回目の演算結果を格納する第１演算結果格納用バッファ領域と、
前記プログラム実行部が前記プログラムの２回目の演算結果を格納する第２演算結果格納用バッファ領域と、が形成されたメモリと、
前記第１演算結果格納用バッファ領域に格納された演算結果と、前記第２演算結果格納用バッファ領域に格納された演算結果とを比較し、両演算結果が一致しない場合に、前記メモリの健全性が保たれていないと判定する演算結果比較部と、を備えたことを特徴とするフィールド機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド機器に関し、特に、検出された値を用いて演算を行ない、演算結果を測定結果として出力するフィールド機器に関する。
【背景技術】
【０００２】
伝送器等のフィールド機器では、検出された値を用いて複雑な演算を行ない、演算結果を測定結果として出力するものがある。例えば、コリオリ流量計では、被測定流体が流れるチューブを振動させ、チューブの上下流それぞれの変位を検出するとともに、チューブ近傍に配置された測温抵抗体の抵抗値を検出する。そして、検出された変位を用いて高次フィルタ処理や多項式近似処理等を含んだ所定の演算を行なうことで上下流の変位信号間の位相差やチューブの振動周波数を算出するとともに、測温抵抗体の抵抗値を算出する。算出されたこれらの値に基づいて被測定流体の流量、温度、密度を算出し、測定結果として出力する。
【０００３】
図８は、従来のコリオリ流量計の構成を示すブロック図である。本図に示すように、コリオリ流量計３００は、検出部３１０と変換部３２０とを備えている。
【０００４】
検出部３１０は、被測定流体が流れるチューブの上流側の変位を測定する上流側コイル３１１、下流側の変位を検出する下流側コイル３１２、チューブを固有振動数で振動させるドライブコイル３１３、測温抵抗体（ＲＴＤ）３１４を備えている。
【０００５】
また、変換部３２０は、上流側コイル３１１が出力する変位信号を増幅する入力アンプ３２１、下流側コイル３１２が出力する変位信号を増幅する入力アンプ３２２、測温抵抗体３１４を駆動するＲＴＤ駆動回路３２４、ドライブコイル３１３を駆動するドライブ回路３２３、増幅された上下流の変位信号および測温抵抗体３１４の出力信号をデジタル変換するＡＤＣ３２５、信号処理回路３２６、プロセッサ３２７、プロセッサ３２７の演算結果を測定結果として外部に出力する出力回路３２８、プロセッサ３２７の演算結果を測定結果として表示する表示器３２９を備えている。
【０００６】
信号処理回路３２６は、コア部３４０、プログラム格納メモリ３５０を備えている。図９は、プログラム格納メモリ３５０に形成される記憶領域を模式的に示す図である。本図に示すように、プログラム格納メモリ３５０には、デジタルデータ用バッファ領域３５１、信号処理プログラム領域３５２、信号処理プログラム用バッファ領域３５３、演算結果格納用バッファ領域３５４が形成される。
【０００７】
デジタルデータ用バッファ領域３５１は、ＡＤＣ３２５が出力する増幅された上下流の変位信号のデジタルデータおよび測温抵抗体３１４の出力信号のデジタルデータを一時的に格納する。
【０００８】
信号処理プログラム領域３５２は、コア部３４０が実行する信号処理プログラムを格納する。コア部３４０が実行する信号処理には、デジタルフィルタ処理、多項式近似処理、四則演算、三角関数演算等が含まれる。コア部３４０は、信号処理プログラム領域３５２に格納された信号処理プログラムを実行することで、デジタルデータ用バッファ領域３５１に格納されたデジタルデータに基づいて、チューブの上下流の変位信号間の微小な位相差やチューブの振動周波数、測温抵抗体３１４の抵抗値の算出を行なう。
【０００９】
信号処理プログラム用バッファ領域３５３は、信号処理プログラムを実行するコア部３４０が、演算途中の算出値等を一時的に格納する領域である。演算途中の算出値には、デジタルフィルタ処理の中間データ等が含まれる。
【００１０】
演算結果格納用バッファ領域３５４は、信号処理プログラムを実行するコア部３４０が、演算結果である位相差、振動周波数、抵抗値を格納する領域である。
【００１１】
図８の説明に戻って、プロセッサ３２７は、演算結果格納用バッファ領域３５４に格納された位相差、振動周波数、抵抗値に基づいて被測定流体の流量、温度、密度を算出し、測定結果として出力回路３２８、表示器３２９に出力する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００５−３０９９１３号公報
【特許文献２】特開平８−２９２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
フィールド機器ではシステムの信頼性や機能安全などの観点から、メモリの健全性を動作中にチェックすることが求められる場合がある。メモリの健全性のチェックは、例えば、プログラム格納メモリ３５０に形成されている各領域で、値が正常に読み書きされているかどうか等のチェックである。
【００１４】
プログラムを格納する信号処理プログラム領域３５２であれば、プログラムコードは静的であるため、動作中であっても、誤り検出符号等を利用することにより、メモリの健全性を容易にチェックすることができる。
【００１５】
しかしながら、演算途中の算出値や算出結果を一時的に格納する信号処理プログラム用バッファ領域３５３や演算結果格納用バッファ領域３５４は、動作中に格納する値が動的に変化するため、メモリの健全性をチェックすることは容易ではない。
【００１６】
そこで、本発明は、検出された値を用いて演算を行ない、演算結果を測定結果として出力するフィールド機器において、動的に値が変化するメモリ領域についてのメモリ健全性を動作実行中に確認できるようにすることを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するため、本発明の第１の態様であるフィールド機器は、プログラム実行部を備え、検出された値を用いて演算を行なうフィールド機器であって、検出された値に基づくデータを格納するデータ用バッファ領域と、前記プログラム実行部が前記データを用いて演算を行なうための第１プログラムを格納する第１プログラム領域と、前記プログラム実行部が前記データを用いて演算を行なうための、前記第１プログラムと同じ演算結果を得ることが予定される第２プログラムを格納する第２プログラム領域と、前記プログラム実行部が前記第１プログラムの実行の際に中間データを格納する第１プログラム用バッファ領域と、前記プログラム実行部が前記第２プログラムの実行の際に中間データを格納する第２プログラム用バッファ領域と、前記プログラム実行部が前記第１プログラムの演算結果を格納する第１演算結果格納用バッファ領域と、前記プログラム実行部が前記第２プログラムの演算結果を格納する第２演算結果格納用バッファ領域と、が形成されたメモリと、前記第１演算結果格納用バッファ領域に格納された演算結果と、前記第２演算結果格納用バッファ領域に格納された演算結果とを比較し、両演算結果が一致しない場合に、前記メモリの健全性が保たれていないと判定する演算結果比較部と、を備えたことを特徴とする。
上記課題を解決するため、本発明の第２の態様であるフィールド機器は、プログラム実行部を備え、検出された値を用いて演算を行なうフィールド機器であって、検出された値に基づくデータを格納する第１データ用バッファ領域と、前記データを格納する第２データ用バッファ領域と、前記プログラム実行部が前記第１データ用バッファ領域に格納されたデータを用いて演算を行なうための第１プログラムを格納する第１プログラム領域と、前記プログラム実行部が前記第２データ用バッファ領域に格納されたデータを用いて演算を行なうための、前記第１プログラムと同じ演算結果を得ることが予定される第２プログラムを格納する第２プログラム領域と、前記プログラム実行部が前記第１プログラムの実行の際に中間データを格納する第１プログラム用バッファ領域と、前記プログラム実行部が前記第２プログラムの実行の際に中間データを格納する第２プログラム用バッファ領域と、前記プログラム実行部が前記第１プログラムの演算結果を格納する第１演算結果格納用バッファ領域と、前記プログラム実行部が前記第２プログラムの演算結果を格納する第２演算結果格納用バッファ領域と、が形成されたメモリと、前記第１演算結果格納用バッファ領域に格納された演算結果と、前記第２演算結果格納用バッファ領域に格納された演算結果とを比較し、両演算結果が一致しない場合に、前記メモリの健全性が保たれていないと判定する演算結果比較部と、を備えたことを特徴とする。
上記課題を解決するため、本発明の第３の態様であるフィールド機器は、プログラム実行部を備え、検出された値を用いて演算を行なうフィールド機器であって、検出された値に基づくデータを格納するデータ用バッファ領域と、前記プログラム実行部が前記データを用いた演算を２回繰り返して行なうためのプログラムを格納するプログラム領域と、前記プログラム実行部が前記プログラムの１回目の実行の際に中間データを格納する第１プログラム用バッファ領域と、前記プログラム実行部が前記プログラムの２回目の実行の際に中間データを格納する第２プログラム用バッファ領域と、前記プログラム実行部が前記プログラムの１回目の演算結果を格納する第１演算結果格納用バッファ領域と、前記プログラム実行部が前記プログラムの２回目の演算結果を格納する第２演算結果格納用バッファ領域と、が形成されたメモリと、前記第１演算結果格納用バッファ領域に格納された演算結果と、前記第２演算結果格納用バッファ領域に格納された演算結果とを比較し、両演算結果が一致しない場合に、前記メモリの健全性が保たれていないと判定する演算結果比較部と、を備えたことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、検出された値を用いて演算を行ない、演算結果を測定結果として出力するフィールド機器において、動的に値が変化するメモリ領域についてのメモリ健全性を動作実行中に確認できるようになる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態のコリオリ流量計の構成を示すブロック図である。
【図２】プログラム格納メモリに形成される記憶領域を模式的に示す図である。
【図３】本実施形態における信号処理プログラム領域ａ、信号処理プログラム用バッファ領域ａの具体的な構成を模式的に示す図である。
【図４】信号処理回路のコア部が信号処理プログラムを実行する際の動作を説明するフローチャートである。
【図５】間欠的にメモリの健全性をチェックする場合の信号処理回路の動作を説明するフローチャートである。
【図６】本実施形態の第１の変形例を示す図である。
【図７】本実施形態の第２の変形例を示す図である。
【図８】従来のコリオリ流量計の構成を示すブロック図である。
【図９】プログラム格納メモリに形成される記憶領域を模式的に示す図である。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について図面を参照して説明する。図１は、本発明に係るフィールド機器をコリオリ流量計に適用した場合について説明する。ただし、本発明は、コリオリ流量計に限られず、検出された値を用いて演算を行ない、演算結果を測定結果として出力する各種フィールド機器に適用することができる。
【００２１】
図１は、本実施形態のコリオリ流量計の構成を示すブロック図である。本図に示すように、コリオリ流量計１００は、検出部１１０と変換部１２０とを備えている。
【００２２】
検出部１１０は、被測定流体が流れるチューブの上流側の変位を検出する上流側コイル１１１、下流側の変位を検出する下流側コイル１１２、チューブを固有振動数で振動させるドライブコイル１１３、測温抵抗体（ＲＴＤ）１１４を備えている。
【００２３】
また、変換部１２０は、上流側コイル１１１が出力する変位信号を増幅する入力アンプ１２１、下流側コイル１１２が出力する変位信号を増幅する入力アンプ１２２、ドライブコイル１１３を駆動するドライブ回路１２３、測温抵抗体１１４を駆動するＲＴＤ駆動回路１２４、増幅された上下流の変位信号および測温抵抗体１１４の出力信号をデジタル変換するＡＤＣ１２５、信号処理回路１２６、プロセッサ１２７、プロセッサ１２７の演算結果を測定結果として外部に出力する出力回路１２８、プロセッサ１２７の演算結果を測定結果として表示する表示器１２９を備えている。
【００２４】
信号処理回路１２６は、ＡＤＣ１２５が出力する増幅された上下流の変位信号のデジタルデータおよび測温抵抗体１１４の出力信号のデジタルデータに基づいて、チューブの上下流の変位信号間の微小な位相差やチューブの振動周波数、測温抵抗体１１４の抵抗値の算出を行なう。
【００２５】
プロセッサ１２７は、信号処理回路１２６の演算結果である位相差、振動周波数、抵抗値に基づいて被測定流体の流量、温度、密度を算出し、測定結果として出力回路１２８、表示器１２９に出力する。
【００２６】
信号処理回路１２６は、プログラム実行部として機能するコア部１４０、プログラム格納メモリ１５０を備えている。図２は、プログラム格納メモリ１５０に形成される記憶領域を模式的に示す図である。本図に示すように、プログラム格納メモリ１５０には、デジタルデータ用バッファ領域１５１、信号処理プログラム領域ａ１５２ａ、信号処理プログラム領域ｂ１５２ｂ、信号処理プログラム用バッファａ領域１５３ａ、信号処理プログラム用バッファｂ領域１５３ｂ、演算結果格納用バッファ領域ａ１５４ａ、演算結果格納用バッファ領域ｂ１５４ｂが形成される。
【００２７】
デジタルデータ用バッファ領域１５１は、ＡＤＣ１２５が出力する増幅された上下流の変位信号のデジタルデータおよび測温抵抗体１１４の出力信号のデジタルデータを一時的に格納する。
【００２８】
信号処理プログラム領域ａ１５２ａは、コア部１４０が実行する信号処理プログラムａを格納し、信号処理プログラム領域ｂ１５２ｂは、コア部１４０が実行する信号処理プログラムｂを格納する。信号処理プログラムａと信号処理プログラムｂとは、同じ入力データに対して同じ算出結果が得られるようになっているものとする。すなわち、信号処理プログラムｂは、同じデータが入力されると、信号処理プログラムａと同じ算出結果を出力することが予定されていることになる。この条件を満たす限り両者は同一のプログラムであっても、異なるプログラムであってもよい。
【００２９】
信号処理プログラム用バッファ領域ａ１５３ａは、コア部１４０が信号処理プログラムａを実行しているときに演算途中の算出値等を一時的に格納する領域であり、信号処理プログラム用バッファ領域ｂ１５３ｂは、コア部１４０が信号処理プログラムｂを実行しているときに演算途中の算出値等を一時的に格納する領域である。
【００３０】
演算結果格納用バッファ領域ａ１５４ａは、コア部１４０が信号処理プログラムａを実行したときの演算結果を格納する領域であり、演算結果格納用バッファ領域ｂ１５４ｂは、コア部１４０が信号処理プログラムｂを実行したときの演算結果を格納する領域である。本実施形態では、演算結果格納用バッファ領域ａ１５４ａに格納された演算結果がプロセッサ１２７に出力される。演算結果格納用バッファ領域ａ１５４ａに格納された演算結果は、メモリ健全性のチェック用に用いられる。
【００３１】
演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果とは、演算結果比較部１６０によって一致、不一致が判定され、判定結果がプロセッサ１２７に出力される。なお、演算結果比較部１６０は、コア部１４０の動作によりソフトウェア的に構築されるブロックである。ただし、ハードウェアで構成してもよい。
【００３２】
本実施形態では、コア部１４０は、デジタルデータ用バッファ領域１５１に格納されたデータを用いて、信号処理プログラムａ、信号処理プログラムｂの異なるプログラムで信号処理演算を行なう。すなわち、同じデータを用いて２回信号処理演算を行なうことになる。
【００３３】
この際に、信号処理プログラムａを実行するときは信号処理プログラム用バッファ領域ａ１５３ａを用いて演算を行ない、演算結果格納用バッファ領域ａ１５４ａに演算結果を格納する。また、信号処理プログラムｂを実行するときは信号処理プログラム用バッファ領域ｂ１５３ｂを用いて演算を行ない、演算結果格納用バッファ領域ｂ１５４ｂに演算結果を格納する。
【００３４】
信号処理プログラム用バッファ領域ａ１５３ａ、演算結果格納用バッファ領域ａ１５４ａ、信号処理プログラム用バッファ領域ｂ１５３ｂ、演算結果格納用バッファ領域ｂ１５４ｂは、動作中に動的に値が変化するが、仮に正常に読み書きできない領域が存在すると、演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果とが一致しないことになる。
【００３５】
具体的には、例えば、信号処理プログラムａは、位相差等の演算結果を算出する過程において、中間データを一旦信号処理プログラム用バッファ領域ａ１５３ａに書き込んだ後、必要なときに書き込んだ中間データを読み出して、その中間データを用いて演算結果を算出する。このため、信号処理用プログラム用バッファ領域ａ１５３ａが正常に読み書きできなければ、演算結果として異常な値が算出されてしまい、演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果とが一致しないことになる。信号処理プログラム用バッファ領域ｂ１５３ｂが正常に読み書きできない場合も同様である。
【００３６】
逆に、演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果とが一致している場合には、メモリの健全性が保たれていると考えられる。
【００３７】
このため、演算結果比較部１６０で両演算結果を比較することで、動作中に動的に値が変化するメモリ領域のメモリ健全性がチェックできることになる。
【００３８】
図３は、本発明をコリオリ流量計に適用した本実施形態における信号処理プログラム領域ａ１５２ａ、信号処理プログラム用バッファ領域ａ１５３ａの具体的な構成を模式的に示している。本図に示すように、信号処理プログラム領域ａ１５２ａには、デジタルフィルタ処理ブロック１７１、位相差算出ブロック１７２、周波数算出ブロック１７３、抵抗値算出ブロック１７４が形成され、信号処理プログラム用バッファ領域ａ１５３ａには、デジタルフィルタ処理用バッファ１８１、位相差算出用バッファ１８２、周波数算出用バッファ１８３、抵抗値算出用バッファ１８４が形成される。
【００３９】
デジタルフィルタ処理ブロック１７１は、デジタルフィルタ処理用バッファ１８１を利用して、デジタルデータ用バッファ領域１５１に格納されたデジタルデータに対してデジタルフィルタ処理を行なう。位相差算出ブロック１７２は、位相差算出用バッファ１８２を利用して、チューブの上下流の変位信号間の位相差を算出する。周波数算出ブロック１７３は、周波数算出用バッファ１８３を利用して、チューブの振動周波数を算出する。抵抗値算出ブロック１７４は、抵抗値算出用バッファ１８４を利用して、測温抵抗体１１４の抵抗値を算出する。
【００４０】
なお、信号処理プログラム領域ｂ１５２ｂ、信号処理プログラム用バッファ領域ｂ１５３ｂも同様の構成とすることができる。
【００４１】
図４は、上記構成の信号処理回路１２６のコア部１４０が信号処理プログラムを実行する際の動作を説明するフローチャートである。ＡＤＣ１２５が上下流の変位信号のデジタルデータおよび測温抵抗体１１４の出力信号のデジタルデータを出力すると（Ｓ１０１）、デジタルデータ用バッファ領域１５１に格納する（Ｓ１０２）。
【００４２】
そして、出力用として用いる信号処理プログラムａによる動作を行ない、デジタルフィルタ処理ブロック１７１が、上下流の変位信号のデジタルデータに対してデジタルフィルタ処理を行ない（Ｓ１０３）、位相差算出ブロック１７２が位相差を算出する（Ｓ１０４）。また、周波数算出ブロック１７３がチューブの振動周波数を算出し（Ｓ１０５）、抵抗値算出ブロック１７４が測温抵抗体１１４の出力信号のデジタルデータを用いて測温抵抗体１１４の抵抗値を算出する（Ｓ１０６）。これらの処理の演算結果は、演算結果格納用バッファ領域ａ１５４ａに格納される。
【００４３】
次に、チェック用として用いる信号処理プログラムｂによる動作を行ない、デジタルフィルタ処理ブロック１７１が、上下流の変位信号のデジタルデータに対してデジタルフィルタ処理を行ない（Ｓ１０７）、位相差算出ブロック１７２が位相差を算出する（Ｓ１０８）。また、周波数算出ブロック１７３がチューブの振動周波数を算出し（Ｓ１０９）、抵抗値算出ブロック１７４が測温抵抗体１１４の出力信号のデジタルデータを用いて測温抵抗体１１４の抵抗値を算出する（Ｓ１１０）。これらの処理の演算結果は、演算結果格納用バッファ領域ｂ１５４ｂに格納される。
【００４４】
そして、演算結果比較部１６０が演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果が一致するかどうかを判定し（Ｓ１１１）、一致している場合には、メモリの健全性が保たれているとし（Ｓ１１２）、一致してない場合には、メモリの健全性が保たれていないものとする（Ｓ１１３）。
【００４５】
演算結果格納用バッファ領域ａ１５４ａに格納された演算結果とメモリの健全性の判定結果は、プロセッサ１２７に送られる（Ｓ１１４）。メモリの健全性が保たれている場合には、演算結果を用いて被測定流体の流量、温度、密度が演算され、メモリの健全性が保たれていない場合には警告等の処理がなされる。
【００４６】
また、メモリの健全性が保たれていない場合には、プログラム格納メモリ１５０を一旦クリアしたり、信号処理プログラムをリロードするようにしてもよい。
【００４７】
なお、上記の例では、信号処理プログラムａによる演算結果をプロセッサ１２７に送るようにしていたが、演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果とが一致しない場合に、コア部１４０は、演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と両者が一致していた直近の演算結果との差分を算出するとともに、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果と両者が一致していた直近の演算結果との差分を算出し、演算結果格納用バッファ領域ａ１５４ａ、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果のうち、差分の絶対値が小さい方の演算結果をプロセッサ１２７に送信するようにしてもよい。これは、一般に連続する測定の演算結果が大きく変動することは少なく、直近の演算結果に近い方の値が正しい値であると考えられるためである。
【００４８】
また、上記の例では、測定毎にメモリの健全性をチェックしていたが、図５に示すフローチャートのように、間欠的にメモリの健全性をチェックするようにしてもよい。
【００４９】
すなわち、ＡＤＣ１２５がデジタルデータを出力すると（Ｓ２０１）、デジタルデータ用バッファ領域１５１に格納する（Ｓ２０２）と、出力用として用いる信号処理プログラムａによる図４のＳ１０３〜Ｓ１０６と同様の動作を行なう（Ｓ２０３〜Ｓ２０６）。
【００５０】
次に、メモリ健全性のチェックを行なうかどうかを判断する（Ｓ２０７）。メモリ健全性は、例えば、所定回数毎、所定期間毎等に行なうように定めておくことができる。
【００５１】
その結果、メモリ健全性のチェックを行なわない場合は（Ｓ２０７：Ｎｏ）、演算結果格納用バッファ領域ａ１５４ａに格納された演算結果をプロセッサ１２７に送信する（Ｓ２１５）。
【００５２】
一方、メモリ健全性のチェックを行なう場合は（Ｓ２０７：Ｙｅｓ）、チェック用として用いる信号処理プログラムｂによる図４のＳ１０７〜Ｓ１１０と同様の動作を行なう（Ｓ２０８〜Ｓ２１１）。そして、演算結果比較部１６０が演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果が一致するかどうかを判定し（Ｓ２１２）、一致している場合には、メモリの健全性が保たれているとし（Ｓ２１３）、一致してない場合には、メモリの健全性が保たれていないものとする（Ｓ２１４）。
【００５３】
そして、演算結果格納用バッファ領域ａ１５４ａに格納された演算結果とメモリの健全性の判定結果をプロセッサ１２７に送信する（Ｓ２１５）。
【００５４】
次に、本実施形態の変形例について説明する。図６は、第１の変形例を示す図である。本図に示すように、第１の変形例では、プログラム格納メモリ１５０には、デジタルデータ用バッファ領域ａ１５１ａ、デジタルデータ用バッファ領域ｂ１５１ｂ、信号処理プログラム領域ａ１５２ａ、信号処理プログラム領域ｂ１５２ｂ、信号処理プログラム用バッファａ領域１５３ａ、信号処理プログラム用バッファｂ領域１５３ｂ、演算結果格納用バッファ領域ａ１５４ａ、演算結果格納用バッファ領域ｂ１５４ｂが形成される。
【００５５】
すなわち、デジタルデータ用バッファ領域１５１も出力用とチェック用とに分けられ、ＡＤＣ１２５から出力されるデジタルデータがデジタルデータ用バッファ領域ａ１５１ａとデジタルデータ用バッファ領域ｂ１５１ｂの両方に格納される。
【００５６】
信号処理プログラムａは、デジタルデータ用バッファ領域ａ１５１ａに格納されたデジタルデータを用いて演算を行ない、信号処理プログラムｂは、デジタルデータ用バッファ領域ｂ１５１ｂに格納されたデジタルデータを用いて演算を行なうことになる。この変形例により、デジタルデータ用バッファ領域ａ１５１ａ、デジタルデータ用バッファ領域ｂ１５１ｂの健全性もチェックできることになる。
【００５７】
図７は、第２の変形例を示す図である。本図に示すように第２の変形例では、プログラム格納メモリ１５０には、デジタルデータ用バッファ領域１５１、信号処理プログラム領域１５２、信号処理プログラム用バッファａ領域１５３ａ、信号処理プログラム用バッファｂ領域１５３ｂ、演算結果格納用バッファ領域ａ１５４ａ、演算結果格納用バッファ領域ｂ１５４ｂが形成される。
【００５８】
すなわち、信号処理プログラムは１つとなる。この場合、信号処理プログラムは、デジタルデータ用バッファ領域１５１に格納されたデジタルデータを用いて同じ演算を２回繰り返すようにする。そして、１回目の演算は、信号処理用プログラムバッファ領域ａ１５３ａを用いて演算を行ない、演算結果格納用バッファ領域ａ１５４ａに演算結果を格納する。２回目の演算は、信号処理用プログラムバッファ領域ｂ１５３ｂを用いて演算を行ない、演算結果格納用バッファ領域ｂ１５４ｂに演算結果を格納する。
【００５９】
この構成によっても、演算結果比較部１６０が演算結果格納用バッファ領域ａ１５４ａに格納された演算結果と、演算結果格納用バッファ領域ｂ１５４ｂに格納された演算結果が一致するかどうかを判定することで、信号処理プログラム用バッファａ領域１５３ａ、信号処理プログラム用バッファｂ領域１５３ｂ、演算結果格納用バッファ領域ａ１５４ａ、演算結果格納用バッファ領域ｂ１５４ｂの健全性をチェックすることが可能となる。
【００６０】
さらに、上述の実施形態のプログラム格納メモリ１５０の構成と、第１の変形例のプログラム格納メモリ１５０の構成と、第２の変形例のプログラム格納メモリ１５０の構成とを動的に変更するようにしてもよい。
【符号の説明】
【００６１】
１００…コリオリ流量計、１１０…検出部、１１１…上流側コイル、１１２…下流側コイル、１１３…ドライブコイル、１１４…測温抵抗体、１２０…変換部、１２１…入力アンプ、１２２…入力アンプ、１２３…ドライブ回路、１２４…駆動回路、１２５…ＡＤＣ、１２６…信号処理回路、１２７…プロセッサ、１２８…出力回路、１２９…表示器、１４０…コア部、１５０…プログラム格納メモリ、１５１…デジタルデータ用バッファ領域、１５２…信号処理プログラム領域、１５３…信号処理プログラム用バッファ領域、１５４…演算結果格納用バッファ領域、１６０…演算結果比較部、１７１…デジタルフィルタ処理ブロック、１７２…位相差算出ブロック、１７３…周波数算出ブロック、１７４…抵抗値算出ブロック、１８１…デジタルフィルタ処理用バッファ、１８２…位相差算出用バッファ、１８３…周波数算出用バッファ、１８４…抵抗値算出用バッファ
【図１】
0005850016.tif 000002
【図２】
0005850016.tif 000003
【図３】
0005850016.tif 000004
【図４】
0005850016.tif 000005
【図５】
0005850016.tif 000006
【図６】
0005850016.tif 000007
【図７】
0005850016.tif 000008
【図８】
0005850016.tif 000009
【図９】
0005850016.tif 000010