従来、入力された電流或いは電圧などのアナログ信号をアナログ−デジタル変換回路によりデジタル値に変換し、デジタル値と電流或いは電圧等の物理量との関係を示す一次直線式に上記デジタル値を代入して、測定対象の物理量の大きさを示す出力値を得るA/D変換ユニットが提供されている(例えば特許文献1参照)。
図16(a)は従来のA/D変換ユニット1の概略構成を示すブロック図であり、マイコン11と、アナログ−デジタル変換回路(以下、A/D変換回路と略称す。)12と、RAM13と、フラッシュメモリ(以下、FROMと言う。)14と、DIPスイッチ(以下、DIPSWと言う。)15とを主要な構成として備えている。DIPSW15は図16(b)に示すように例えば4ビットのディップスイッチからなり、1ビット目はマイコン11の動作モードを通常モード又は校正モードに切り替えるスイッチ、2ビット目は基準デジタル値を取得するか否かを設定するスイッチ、3ビット目は基準デジタル値をFROM14に登録するか否かを設定するスイッチ、4ビット目はFROM14に登録された基準デジタル値を消去するか否かを設定するスイッチである。
ここで、A/D変換回路12によるA/D変換に誤差がなければ、図17に実線aで示すようにA/D変換回路12に入力されるアナログ信号の信号レベルYと、変換後のデジタル値Xとの関係は、マイコン11に予め組み込まれたY=aXなる標準の一次直線式で示されることになる。例えば入力スパンが0〜5Vで、アナログ信号Yが0Vの時にデジタル値Xが0、アナログ信号Yが5.0Vの時にデジタル値Xが2000であれば、Y=X/400となり、マイコン11ではこの一次直線式を用いて、A/D変換回路12の出力からアナログ信号Yの信号レベルを求めている。
しかしながら、実際には、A/D変換回路12で使用している個々の部品にばらつきが存在するため、アナログ信号と変換後のデジタル値が示すアナログ量との間には誤差が発生し、アナログ信号の信号レベルYと、変換後のデジタル値Xとの関係は次式のように表される。
Y=a’×X+b …(1)
例えば図17に点線bで示すようにアナログ信号Yが0(V)の時にデジタル値Xが300、アナログ信号Yが5.0(V)の時にデジタル値Xが1800であれば、傾きa=1/300、切片b=−1となり、一次直線式はY=X/300−1となる。
このように、A/D変換回路12によるA/D変換にばらつきが存在する場合は、マイコン11に標準的に組み込まれた一次直線式の代わりに、A/D変換の誤差を校正するための一次直線式(上記の式(1))を求める必要があった。
以下に、従来のA/D変換ユニット1において変換誤差を校正するための一次直線式を求める手順を図18のフローチャートに従って説明する。A/D変換ユニットに電源が投入されると(S61)、マイコン11が組込のプログラムを実行し、DIPSW15の1ビット目を確認する(S62)。1ビット目のスイッチがOFFであれば、マイコン11は通常モード(入力されたアナログ値をデジタル値に変換して出力するモード)で動作し、1ビット目のスイッチがONであれば、マイコン11は校正用の一次直線式を求める校正モードで動作する。
A/D変換ユニットの使用開始時に一次直線式の校正処理を行う場合、ユーザはDIPSW15の1ビット目をONにした状態で電源を投入しており、S52の判定の結果、マイコン11の動作が校正モードに切り替えられる。校正モードにおいて、マイコン11は、先ずDIPSW15の2ビット目を確認し(S63)、2ビット目のスイッチがONにセットされていれば、A/D変換回路12の出力を基準デジタル値として取得する処理ルーチンを実行した後(S66)、ステップS62に戻る。また2ビット目のスイッチがOFFにセットされていた場合、マイコン11は、DIPSW15の3ビット目を確認し(S64)、3ビット目のスイッチがONにセットされていれば、基準デジタル値を登録する処理ルーチンを実行した後(S67)、ステップS62に戻る。また3ビット目のスイッチがOFFにセットされていた場合、マイコン11は、DIPSW15の4ビット目を確認し(S65)、4ビット目のスイッチがOFFにセットされていれば、ステップS62に戻り、4ビット目のスイッチがONにセットされていれば、基準デジタル値を消去する処理ルーチンを実行した後(S68)、ステップS62に戻る。而して、校正モードを実行する場合、ユーザは先ずDIPスイッチの2ビット目をON、3,4ビット目をOFFにした状態で、取得ルーチンを実行させて、基準デジタル値を取り込んだ後、DIPスイッチの3ビット目をON、2,4ビット目をOFFにして、登録ルーチンを実行させ、取り込んだ基準デジタル値をFROM14に登録させるのである。また校正モードにおいて、ユーザがDIPスイッチの4ビット目をON、2,3ビット目をOFFにすると、消去ルーチンが実行され、FROM14に登録された基準デジタル値が消去されるようになっている。
ここで、基準デジタル値の取得ルーチン、登録ルーチン、および、消去ルーチンについて図19〜図21を参照して説明する。
図19は基準デジタル値を取得する処理ルーチンのフローチャートであり、基準デジタル値として2点の出力D0、D1を取り込むようになっている。出力D0,D1に対応するアナログ信号レベルは予め決められており、例えば出力D0はアナログ信号が0.0Vの時、出力D1はアナログ信号が5.0Vの時の出力である。マイコン11が取得ルーチンを開始すると、マイコン11はA/D変換回路12から出力(デジタル値)を読み込み(S81)、基準デジタル値D0がクリアされているか否かを判定し(S82)、クリアされていれば、取得したデジタル値を基準デジタル値D0とし(S83)、取得ルーチンを終了する。一方、S82の判定において基準デジタル値D0がクリアされていなければ、マイコン11は、基準デジタル値D1がクリアされているか否かを判定し(S84)、クリアされていれば、取得したデジタル値を基準デジタル値D1とし(S85)、取得ルーチンを終了する。一方、S84の判定において基準デジタル値D1がクリアされていなければ、マイコン11は、基準デジタル値D0,D1の取り込みが完了したものと判断し、取得ルーチンを終了する。尚、ユーザは取得ルーチンを実行させる場合、DIPSW15の2ビット目をONする前に、基準デジタル値D0又はD1に対応したアナログ信号をA/D変換回路12の入力端に印加しておくものとし、例えば、基準デジタル値D0に対応したアナログ信号を入力した状態で、上記取得ルーチンを実行することによって基準デジタル値D0が取り込まれ、その後、基準デジタル値D1に対応したアナログ信号を入力した状態で、上記取得ルーチンを実行することによって基準デジタル値D1が取り込まれるのである。
また、図20(a)は基準デジタル値D0,D1を登録する処理ルーチンのフローチャートを示し、同図(b)はFROM14の初期状態のメモリマップを、同図(c)はFROM14に1データが書き込まれた状態のメモリマップをそれぞれ示している。尚、図中の○はFROM14のアドレス14aのうち、データが未書込でアドレス番号が最小のアドレス(先頭アドレス)を示し、斜線を付したアドレスはデータ書込済みのアドレスをそれぞれ示している。マイコン11が登録ルーチンを開始すると、図20(b)に示すようにマイコン11はFROM14のデータを消去し(S86)、FROM14の書き込みポインタを先頭アドレスに移動させた後(S87)、図20(c)に示すように取得ルーチンで取得した基準デジタル値D0およびD1を1データとしてFROM14に書き込み(S88)、登録ルーチンを終了する。
また図21(a)は基準デジタル値D0,D1を消去する処理ルーチンのフローチャート、図21(b)はFROM14のメモリマップをそれぞれ示し、図中の○はFROM14の先頭アドレスを示している。マイコン11が消去ルーチンを開始すると、マイコン11はFROM14に格納されたデータを消去するとともに(S89)、基準デジタル値D0,D1をクリアした後(S90)、消去ルーチンを終了する。
校正モードの処理を終え、ユーザがDIPSW15の1ビット目をOFFにすると、マイコン11は、図18のS62の判定の結果、動作モードを通常モードに切り替え、校正モードで求めた基準デジタル値D0,D1を用いて一次直線式を設定する処理ルーチンを実行する(S69)。
図22(a)は一次直線式を設定する処理ルーチンのフローチャート、同図(b)はFROM14の初期状態のメモリマップ、同図(c)はFROM14に1データが書き込まれている状態のメモリマップをそれぞれ示している。マイコン11は、一次直線式を設定する処理ルーチンを開始すると、FROM14に書き込まれたデータの有無を確認し(S91)、図22(c)に示すように書き込みデータがあれば、FROM14の読み出しポインタを先頭アドレスに移動させ(S92)、FROM14から1データを読み出して、基準デジタル値D0,D1とし、基準デジタル値D0,D1をRAM13に記憶させる(S93)。そして、マイコン11では、基準デジタル値D0,D1の値とそれに対応するアナログ信号の信号レベルから、一次直線式の傾きa’と切片bとを演算により求めた後、アナログ−デジタル変換回路51の出力からアナログ信号の信号レベルを求める一次直線式を設定し(S94)、処理ルーチンを終了する。またS91の判定の結果、図22(b)に示すように書き込みデータがなければ、マイコン11は、予め組み込まれている標準の一次直線式を使用する一次直線式に設定した後(S95)、処理ルーチンを終了する。
通常モードにおいて一次直線式の設定処理(S69)が終了すると、マイコン11は、所定の演算周期(サンプリング周期)に達したか否かを判断し(S70)、演算周期に達していれば、A/D変換回路12から中間出力値(デジタル値)を取り込み(S71)、S69で設定した一次直線式に中間出力値を代入してアナログ信号の信号レベルを演算により求めた後(S72)、算出した信号レベル(アナログ値)を外部装置に出力する(S73)。
特開2005−57468号公報(段落[0007]−[0009]、及び、第1図)
上述のA/D変換ユニットでは、A/D変換回路12の中間出力値(デジタル値)から入力されたアナログ量の信号レベル(大きさ)を演算するために用いる一次直線式の傾き及び切片を求める際に、DIPSW15を操作して動作モードを校正モードに切り替えるとともに、DIPSW15を操作して、校正モードにおける各処理ルーチンを実行させていた。したがって、A/D変換ユニットの基板にDIPSW15のようなユーザが手で操作するためのスイッチを実装する必要があり、このようなスイッチは人の手で操作できる程度の大きさに形成されているので、基板の小型化に限界があった。
本発明は上記問題点に鑑みて為されたものであり、その目的とするところは、A/D変換のばらつきを補正することが可能な小型のA/D変換ユニットを提供することにある。
上記目的を達成するために、請求項1の発明は、アナログ信号をA/D変換して、アナログ信号の信号レベルに比例した大きさの中間出力値を得るアナログ−デジタル変換部と、アナログ信号の信号レベルと中間出力値との関係を示す一次直線式に、中間出力値を代入してアナログ信号の信号レベルを演算する演算処理部と、演算処理部の演算データを一時的に記憶するRAMとを備え、演算処理部は、外部との間で通信を行う通信手段を有し、一次直線式の傾き及び切片を求める校正モードで動作中に、アナログ−デジタル変換部に所定レベルのアナログ信号が入力された状態で、外部装置から送信された基準デジタル値取得コマンドを通信手段を介して受信すると、コマンド受信時における中間出力値を基準デジタル値としてRAMに格納するとともに、基準デジタル値を応答信号として通信手段から外部装置へ送信させ、少なくとも2点の基準デジタル値および当該基準デジタル値に対応するアナログ信号の信号レベルに基づいて一次直線式の傾き及び切片を算出することを特徴とする。
請求項2の発明は、請求項1の発明において、基準デジタル値を記憶させるFROMを備え、演算処理部が、基準デジタル値取得コマンドの受信後に、外部装置から送信された基準デジタル値登録コマンドを通信手段を介して受信すると、RAMに格納した基準デジタル値をFROMに格納し、当該基準デジタル値を応答信号として通信手段から外部装置へ返送させることを特徴とする。
請求項3の発明は、請求項2の発明において、演算処理部が、外部装置から送信された基準デジタル値消去コマンドを通信手段を介して受信すると、RAMおよびFROMに格納されている基準デジタル値を消去した後、消去完了を示すデータを応答信号として通信手段から外部装置へ返送させることを特徴とする請求項2記載のA/D変換ユニット。
請求項4の発明は、請求項1の発明において、演算処理部が、FROMに基準デジタル値を書き込む前にFROM内のデータを消去する処理を、FROMに空き容量が無い場合のみ行うことを特徴とする。
請求項5の発明は、請求項1乃至4の何れかの発明において、演算処理部が、外部装置から送信された一次直線式を算出させるための一次直線式読み出しコマンドを通信手段を介して受信すると、RAMに格納された複数の基準デジタル値と各基準デジタル値に対応するアナログ信号の信号レベルとに基づいて、一次直線式の傾き及び切片を算出し、算出した傾き及び切片を応答信号として通信手段から外部装置へ返送させることを特徴とする。
請求項6の発明は、請求項1乃至5の何れかの発明において、外部装置から送信される基準デジタル値取得コマンドに、基準デジタル値に対応するアナログ信号の信号レベル情報が付加されており、演算処理部は、基準デジタル値取得コマンドに付加された信号レベル情報と、コマンド受信時に取得した基準デジタル値とをもとに、一次直線式の傾き及び切片を算出することを特徴とする。
請求項7の発明は、請求項1乃至6の何れかの発明において、校正モードにおいてアナログ−デジタル変換部に入力されるアナログ信号の信号レベルが少なくとも3通りに切り替えられ、アナログ信号の信号レベルが切り替えられる毎に、外部装置から基準デジタル値取得コマンドが送信されており、演算処理部は、基準デジタル値取得コマンドの受信時に取得した少なくとも3つの基準デジタル値および各基準デジタル値に対応するアナログ信号の信号レベルに基づいて、少なくとも3つの基準デジタル値の各区間毎にアナログ信号の信号レベルと中間出力値との関係を示す一次直線式の傾き及び切片を求めたことを特徴とする。
請求項1の発明によれば、演算処理部が校正モードで動作中に、アナログ−デジタル変換部に所定レベルのアナログ信号が入力された状態で、外部装置からの基準デジタル値取得コマンドを通信手段を介して受信すると、コマンド受信時における中間出力値を基準デジタル値としてRAMに格納しているおり、少なくとも2点の基準デジタル値および当該基準デジタル値に対応したアナログ信号の信号レベルに基づいて一次直線式の傾き及び切片を算出しているので、アナログ−デジタル変換部のばらつきによる変換誤差を低減することができる。したがって、従来のA/D変換ユニットのようにDIPスイッチなどの機械的なスイッチを用いて、校正モードに切り替えたり、基準デジタル値を取得させたりする必要が無く、DIPスイッチなどの機械的なスイッチが不要になるから、A/D変換のばらつきを補正することが可能な小型のA/D変換ユニットを実現できる。さらに、演算処理部では、基準デジタル値取得コマンドの受信時に取得した基準デジタル値を外部装置に返送しているので、一次直線式の傾きや切片を求めるために使用する基準デジタル値を外部装置側で確認することができ、アナログ信号の信号レベルに合致した基準デジタル値を取得できているか否かで、一次直線式の校正が良好に行えるか否かを校正時に推測できる。したがって、基準デジタル値が対応するアナログ信号の信号レベルに合致していない場合は、外部装置側で基準デジタル値取得コマンドを再送することによって適切な基準デジタル値を取得させることができ、校正モードの終了後に正常に行えなかったことが判明して再度校正をやり直すといった事態を防止できるから、一次直線式の校正作業にかかる時間を短縮することができる。
請求項2の発明によれば、演算処理部が、基準デジタル値登録コマンドの受信時にFROMに格納する基準デジタル値を外部装置に返送しているので、FROMに格納された基準デジタル値を外部装置側で確認することができ、アナログ信号の信号レベルに合致した基準デジタル値を取得できているか否かで、一次直線式の校正が良好に行えるか否かを校正時に推測できるという効果がある。
請求項3の発明によれば、演算処理部が、基準デジタル値消去コマンドの受信時にRAMおよびFROMに格納されている基準デジタル値を消去すると、消去完了を示すデータを外部装置に返送させているので、外部装置側でRAMおよびFROMに格納された基準デジタル値が正常に消去できたか否かをその場で確認することができる。したがって、外部装置側では、消去完了を示すデータを受信できない場合に、基準デジタル値消去コマンドを再度送信することで、RAMおよびFROMに格納された基準デジタル値を確実に消去させることができる。
請求項4の発明によれば、FROMに空き容量がある場合は、FROM内のデータを消去する処理が行われないので、データを消去する時間を省いて、データの書き込みに要する時間を短縮することができる。またFROMの寿命は消去回数に依存するため、消去回数を減らすことで、FROMの寿命を延ばすことができる。
請求項5の発明によれば、演算処理部が、一次直線式の傾き及び切片を算出した結果を外部装置に返送しているので、演算処理部がどのような一次直線式を用いてアナログ信号の信号レベルを求めているのかを外部装置側で把握することができる。したがって、演算処理部が使用している一次直線式の傾き及び切片が不適切な場合には、外部装置側から基準デジタル値取得コマンドや基準デジタル値登録コマンドや一次直線式読み出しコマンドをA/D変換ユニットに送信することで、一次直線式の傾き及び切片を算出する処理を再度実行させることができる。
請求項6の発明によれば、外部装置から基準デジタル値取得コマンドと共に送られたアナログ信号の信号レベル情報と、コマンド受信時に取得した基準デジタル値とを用いて、一次直線式の切片及び傾きを算出することができるので、入出力の仕様や測定対象のアナログ信号の信号レベルに合わせて、基準デジタル値を取得する際に与えるアナログ信号の信号レベルを途中で変更することができ、個々のA/D変換ユニット毎に使用形態に合わせた最適な一次直線式を設定することができる。
ここで、アナログ信号の信号レベルと中間出力値との関係が一次直線式で表せない場合、中間出力値を一つの一次直線式に代入してアナログ信号の信号レベルを求めると、一次直線式を用いて算出した信号レベルと実際の信号レベルとの間に誤差が発生するが、請求項7の発明によれば、少なくとも3つの基準デジタル値の各区間毎にアナログ信号の信号レベルと中間出力値との関係を示す一次直線式の傾き及び切片を求め、各区間毎に求めた一次直線式を用いて中間出力値からアナログ信号の信号レベルを算出しているので、一次直線式を用いて算出した信号レベルと実際の信号レベルとの誤差を小さくすることができる。
以下に本発明の実施の形態を図面に基づいて説明する。
(実施形態1)
図1は本実施形態のA/D変換ユニット1の概略構成を示すブロック図であり、演算処理部としてのマイコン11と、アナログ−デジタル変換回路12(アナログ−デジタル変換部)と、RAM13と、FROM14とを主要な構成として備え、マイコン11は、拡張バス3を介して外部装置たる制御装置2との間で通信を行う通信ポート11a(通信手段)を有している。このA/D変換ユニット1では、入力されたアナログ信号をアナログ−デジタル変換回路12によりA/D変換して、アナログ信号の信号レベルに比例した大きさの中間出力値を得た後、マイコン11が、アナログ−デジタル変換回路12から入力された中間出力値を、中間出力値とアナログ信号の信号レベルとの関係を示す一次直線式に代入してアナログ信号の信号レベルを演算により求めており、演算により求めた信号レベルのデータを通信ポート11aから拡張バス3を介してPLCなどの制御装置2(外部装置)へ送信している。尚、アナログ−デジタル変換回路12に入力されるアナログ信号の信号レベルをY、変換後の中間出力値(デジタル値)をXとすると、上述の一次直線式はY=a×X+bと表される。
このA/D変換ユニット1の動作を図2のフローチャートに従って説明する。A/D変換ユニット1に電源が投入されると(S1)、マイコン11が組込のプログラムを実行し、電源投入後2秒以内に制御装置2からのコマンドを受信したか否かを判定する(S2)。ここで、電源投入後2秒以内に制御装置2からのコマンドを受信した場合は、マイコン11の動作モードが、校正用の一次直線式(傾きa及び切片b)を求める校正モードに切り替えられ、コマンドを受信していない場合は、入力されたアナログ信号のA/D変換を行う通常モードに切り替えられる。
先ず、通常モードでの動作について説明する。S2においてコマンドを受信していないと判断された場合、マイコン11は、後述の校正モードにおいて傾き及び切片が算出された一次直線式を設定した後(S13)、所定の演算周期(サンプリング周期)に達したか否かを判断し(S14)、演算周期に達していれば、アナログ−デジタル変換回路12から中間出力値(デジタル値)を取り込み(S15)、S13で設定した一次直線式にS15で取り込んだ中間出力値を代入してアナログ信号の信号レベル(アナログ値)を演算により求めた後(S16)、算出した信号レベルを拡張バス3を介して制御装置2に出力する(S17)。この時、制御装置2では、A/D変換ユニット1から拡張バス3を介して入力された信号レベルのデータをもとに、フィードバック制御やデータ蓄積などを行うようになっており、例えばA/D変換ユニット1にアナログ信号として温度センサの出力(電流値又は電圧値)が入力される場合には、制御装置2が温度センサの信号レベルに基づいて温度制御や温度データの蓄積などを行うことができる。
次に、校正モードでの動作について説明する。S2においてコマンドを受信したと判断された場合、マイコン11は、受信したコマンドが基準デジタル値取得コマンドであるか否かを判定し(S3)、基準デジタル値取得コマンドであれば、基準デジタル値を取得する処理ルーチンを実行する(S7)。また基準デジタル値取得コマンドでなければ、マイコン11は、受信したコマンドが基準デジタル値登録コマンドであるか否かを判定し(S4)、基準デジタル値登録コマンドであれば、基準デジタル値を登録する処理ルーチンを実行する(S8)。また基準デジタル値登録コマンドでなければ、マイコン11は、受信したコマンドが基準デジタル値消去コマンドであるか否かを判定し(S5)、基準デジタル値消去コマンドであれば、基準デジタル値を消去する処理ルーチンを実行する(S9)。また基準デジタル値消去コマンドでなければ、マイコン11は、受信したコマンドが一次直線式読み出しコマンドであるか否かを判定し(S6)、一次直線式読み出しコマンドであれば、一次直線式を算出する処理ルーチンを実行し(S10)、一次直線式読み出しコマンドでなければ、ステップS3に戻って処理を繰り返す。また、ステップS7〜S10で各処理ルーチンを実行すると、マイコン11は、受信したコマンドに対する応答信号(レスポンス)を作成し(S11)、通信ポート11aを介して制御装置2に返送する。
ここで、基準デジタル値の取得ルーチン、登録ルーチン、消去ルーチンおよび一次直線式の算出ルーチンについて図3〜図6を参照して説明する。
図3は基準デジタル値を取得する処理ルーチンのフローチャートであり、本実施形態では基準デジタル値として2点の中間出力値D0、D1を取り込むようになっている。中間出力値D0,D1に対応するアナログ信号レベルは予め決められており、例えば中間出力値D0はアナログ信号が0.0Vの時、中間出力値D1はアナログ信号が5.0Vの時の中間出力値である。なお、制御装置2から基準デジタル値取得コマンドを送信する前に所定レベルのアナログ信号がアナログ−デジタル変換回路12に入力されているものとする。マイコン11が取得ルーチンを開始すると、マイコン11はアナログ−デジタル変換回路12から中間出力値(デジタル値)を読み込み(S21)、受信した基準デジタル値取得コマンドに対応する基準デジタル値の種別を判定する(S22)。すなわち、基準デジタル値取得コマンドには取得する基準デジタル値の種別(D0又はD1)を示す情報が付加されており、基準デジタル値の種別がD0であれば、マイコン11は、S21で読み込んだ中間出力値を基準デジタル値D0としてRAM13に格納し(S23)、処理ルーチンを終了する。一方、基準デジタル値の種別がD1であれば、マイコン11は、S21で読み込んだ中間出力値を基準デジタル値D1としてRAM13に格納し(S24)、処理ルーチンを終了する。またマイコン11は、基準デジタル値の取得ルーチンを終了すると、RAM13に格納した基準デジタル値を応答信号として、通信ポート11aから制御装置2へ返送させる(S11,S12)。
次に、RAM13に格納された基準デジタル値D0,D1をFROM14に登録する処理ルーチンを図4(a)に示すフローチャートに基づいて説明する。尚、図4(b)は初期状態のFROM14のメモリマップ、同図(c)は1データが書き込まれた状態のメモリマップ、同図(d)は2データが書き込まれた状態のメモリマップ、同図(e)は6データが書き込まれた状態のメモリマップであり、複数のアドレス14aの内、斜線を付したアドレスは書き込み済みのアドレスを示し、○は未書き込みのアドレスの内、アドレス番号が最小のアドレスを、●は書き込み済みのアドレスのうちアドレス番号が最大のアドレスをそれぞれ示している。マイコン11が登録ルーチンを開始すると、マイコン11は、FROM14に空き容量があるか否かを判定し(S31)、図4(b)〜(d)に示すように空き容量がある場合には、FROM14の書き込みポインタを未書き込みのアドレスのうちアドレス番号が最小のアドレス(○のアドレス)に移動させ(S32)、基準デジタル値D0,D1を1データとしてFROM14に書き込み(S34)、書込ルーチンを終了する。また、S31の判定の結果、図4(e)に示すようにFROM14に空き容量が無い場合、マイコン11は、FROM14内のデータを全て消去した後(S33)、S32に移行し上述と同様の処理を行う。そして、マイコン11は、基準デジタル値の登録ルーチンを終了すると、FROM14に格納した基準デジタル値を応答信号として、通信ポート11aから制御装置2へ返送させる(S11,S12)。
また、RAMおよびFROMに格納された基準デジタル値を消去する処理ルーチンを図5(a)のフローチャートに従って説明する。尚、図5(b)はFROM14のメモリマップをそれぞれ示し、○は未書き込みのアドレスの内、アドレス番号が最小のアドレスを示している。マイコン11が消去ルーチンを開始すると、図5(b)に示すようにFROM14内のデータを全て消去した後(S41)、RAM13内に格納された基準デジタル値D0,D1を消去して(S42)、消去ルーチンを終了する。そして、マイコン11は、基準デジタル値の消去ルーチンを終了すると、基準デジタル値の消去完了を示すデータを応答信号として通信ポート11aから制御装置2へ返送させる(S11,S12)。
次に、一次直線式を算出する処理ルーチンについて図6(a)のフローチャートを参照して説明する。尚、図6(b)〜(e)はFROM14のメモリマップをそれぞれ示し、斜線を付したアドレスは書き込み済みのアドレスを示し、○は未書き込みのアドレスの内、アドレス番号が最小のアドレスを、●は書き込み済みのアドレスのうちアドレス番号が最大のアドレスをそれぞれ示している。マイコン11は、一次直線式の算出ルーチンを開始すると、先ずFROM14に書き込まれたデータの有無を判定する(S51)。ここで、図5(c)〜(e)に示すようにFROM14内に書込データがあれば、マイコン11は、FROM14の読み出しポインタを、アドレス番号が最大の書き込み済みアドレスに移動させた後(S52)、FROM14から1データを読み出して、基準デジタル値D0、D1とし(S53)、読み出した基準デジタル値D0,D1と各基準デジタル値D0,D1に対応するアナログ信号の信号レベルA0,A1とを用いて、一次直線式Y=a×X+bの傾きa=(A0−A1)/(D0−D1)と、切片b=(A0・D1−A1・D0)/(D1−D0)とを算出して、RAM13に格納した後(S54)、処理ルーチンを終了する。また、S51の判定の結果、図5(b)に示すようにFROM14に書込データがなければ、マイコン11は、予め設定されている標準の傾き及び切片を一次直線式に設定し(S55)、処理ルーチンを終了する。そして、マイコン11は、一次算出式の傾き及び切片の設定値を応答信号として通信ポート11aから制御装置2へ返送させる(S11,S12)。
校正モードにおけるマイコン11の動作は以上の通りであり、マイコン11が校正モードで動作中に、アナログ−デジタル変換回路12に所定レベルのアナログ信号が入力された状態で、制御装置2からの基準デジタル値取得コマンドを通信ポート11aを介して受信すると、コマンド受信時における中間出力値を基準デジタル値としてRAM13に格納している。そして、一次直線式の設定ルーチンでは、マイコン11が、少なくとも2点の基準デジタル値および当該基準デジタル値に対応したアナログ信号の信号レベルに基づいて、一次直線式の傾き及び切片を算出しているので、アナログ−デジタル変換回路12のばらつきによる変換誤差を低減することができる。したがって、従来のA/D変換ユニットのようにDIPスイッチなどの機械的なスイッチを用いて、校正モードに切り替えたり、基準デジタル値を取得させたりする必要が無く、DIPスイッチなどの機械的なスイッチが不要になるから、A/D変換のばらつきを補正することが可能な小型のA/D変換ユニット1を実現できる。さらに、マイコン11は、基準デジタル値取得コマンドの受信時に取得した基準デジタル値を制御装置2に返送しているので、一次直線式の傾きや切片を求めるために使用する基準デジタル値を制御装置2側で確認することができ、アナログ信号の信号レベルに合致した基準デジタル値を取得できているか否かで、一次直線式の校正が良好に行えるか否かを校正時に推測できる。したがって、基準デジタル値が対応するアナログ信号の信号レベルに合致していない場合は、制御装置2側で基準デジタル値取得コマンドを再送することによって適切な基準デジタル値を取得させることができ、校正モードの終了後に一次直線式の校正が正常に行えなかったことが判明して再度校正をやり直すといった事態を防止できるから、一次直線式の校正作業にかかる時間を短縮することができる。
また、マイコン11では、基準デジタル値登録コマンドの受信時にFROM14に格納する基準デジタル値を制御装置2に返送しているので、FROM14に格納された基準デジタル値を制御装置2側で確認することができ、アナログ信号の信号レベルに合致した基準デジタル値を取得できているか否かで、一次直線式の校正が良好に行えるか否かを校正時に推測できる。
また更に、マイコン11は、基準デジタル値消去コマンドの受信時にRAM13およびFROM14に格納されている基準デジタル値を消去すると、消去完了を示すデータを制御装置2に返送させているので、外部装置側2でRAM13およびFROM14に格納された基準デジタル値が正常に消去できたか否かをその場で確認することができる。したがって、制御装置2側では、消去完了を示すデータを受信できない場合に、基準デジタル値消去コマンドを再度送信することで、RAM13およびFROM14に格納された基準デジタル値を確実に消去させることができる。
また、マイコン11は、制御装置2から送信された基準デジタル値登録コマンドに基づいて、FROM14に基準デジタル値を書き込む前にFROM14内のデータを消去する処理を、FROM14に空き容量が無い場合のみ行っており、FROM14に空き容量がある場合は、FROM14内のデータを消去する処理が行われないので、データを消去する時間を省いて、データの書き込みに要する時間を短縮することができる。またFROM14の寿命は消去回数に依存するため、消去回数を減らすことで、FROM14の寿命を延ばすことができる。
また更に、マイコン11は、一次直線式の設定ルーチンの実行後、一次直線式の傾き及び切片を算出した結果を外部装置に返送しているので、A/D変換ユニット1のマイコン11がどのような一次直線式を用いてアナログ信号の信号レベルを求めているのかを制御装置2側で把握することができる。したがって、A/D変換ユニット1が使用している一次直線式の傾き及び切片が不適切な場合には、制御装置2側から基準デジタル値取得コマンドや基準デジタル値登録コマンドや一次直線式読み出しコマンドをA/D変換ユニット1に送信することで、一次直線式の傾き及び切片を算出する処理を再度実行させることができる。
(実施形態2)
本発明の実施形態2を図7〜図10に基づいて説明する。尚、A/D変換ユニット1の構成は実施形態1と同様であるので、共通する構成要素には、同一の符号を付して、その説明は省略する。
実施形態1では、基準デジタル値を取得する際にアナログ−デジタル変換回路12に入力するアナログ信号の信号レベルが予め決められているのに対して、本実施形態ではアナログ信号の信号レベルを任意に変更できるようにしてあり、制御装置2からA/D変換ユニット1へ基準デジタル値取得コマンドと共に、基準デジタル値を取得する際に印加するアナログ信号の信号レベル情報を送信するようにし、A/D変換ユニット1のマイコン11では、基準デジタル値取得コマンドに付加された信号レベル情報と、コマンド受信時にアナログ−デジタル変換回路12から取得した基準デジタル値とをもとに、一次直線式の傾き及び切片を算出している。
以下に本実施形態のA/D変換ユニット1の動作を図7〜図10のフローチャートに従って説明する。尚、基準デジタル値の取得ルーチン、登録ルーチン、消去ルーチン、一次直線式の設定ルーチン以外の動作は実施形態1と同様であるので、共通する動作については説明を省略し、異なる動作についてのみ以下に説明する。
図7は基準デジタル値を取得する処理ルーチンのフローチャートであり、本実施形態においても基準デジタル値として2点の中間出力値D0、D1を取り込むようになっており、基準デジタル値取得コマンドを送信する前に所定レベルのアナログ信号がアナログ−デジタル変換回路12に入力されているものとする。マイコン11が取得ルーチンを開始すると、マイコン11はアナログ−デジタル変換回路12から中間出力値(デジタル値)を読み込み(S21)、受信した基準デジタル値取得コマンドに対応する基準デジタル値の種別を判定する(S22)。すなわち、基準デジタル値取得コマンドには取得する基準デジタル値の種別(D0又はD1)を示す情報が付加されており、基準デジタル値の種別がD0であれば、マイコン11は、S21で読み込んだ中間出力値を基準デジタル値D0としてRAM13に格納するとともに(S23)、基準デジタル値取得コマンドに付加された信号レベル情報を基準アナログ値A0としてRAM13に格納した後(S25)、処理ルーチンを終了する。一方、S22の判定の結果、基準デジタル値の種別がD1であれば、マイコン11は、S21で読み込んだ中間出力値を基準デジタル値D1としてRAM13に格納するとともに(S24)、基準デジタル値取得コマンドに付加された信号レベル情報を基準アナログ値A1としてRAM13に格納した後(S26)、処理ルーチンを終了する。またマイコン11は、基準デジタル値の取得ルーチンを終了すると、RAM13に格納した基準デジタル値を応答信号として、通信ポート11aから制御装置2へ返送させる(S11,S12)。
次に、RAM13に格納された基準デジタル値D0,D1をFROM14に登録する処理ルーチンを図8に示すフローチャートに基づいて説明する。マイコン11が登録ルーチンを開始すると、マイコン11は、FROM14に空き容量があるか否かを判定し(S31)、空き容量がある場合には、FROM14の書き込みポインタを未書き込みのアドレスのうちアドレス番号が最小のアドレスに移動させ(S32)、基準デジタル値D0,D1と基準アナログ値A0,A1を1データとしてFROM14に書き込み(S34)、書込ルーチンを終了する。また、S31の判定の結果、FROM14に空き容量が無い場合、マイコン11は、FROM14内のデータを全て消去した後(S33)、S32に移行し上述と同様の処理を行う。そして、マイコン11は、基準デジタル値の登録ルーチンを終了すると、FROM14に格納した基準デジタル値(または基準デジタル値と基準アナログ値)を応答信号として、通信ポート11aから制御装置2へ返送させる(S11,S12)。
また、RAMおよびFROMに格納された基準デジタル値及び基準アナログ値を消去する処理ルーチンを図9のフローチャートに従って説明する。マイコン11が消去ルーチンを開始すると、FROM14内のデータを全て消去した後(S41)、RAM13内に格納された基準デジタル値D0,D1を消去するとともに(S42)、RAM13内に格納された基準アナログ値A0,A1を消去して(S43)、消去ルーチンを終了する。そして、マイコン11は、基準デジタル値および基準デジタル値の消去ルーチンを終了すると、基準デジタル値および基準デジタル値の消去完了を示すデータを応答信号として通信ポート11aから制御装置2へ返送させる(S11,S12)。
次に、一次直線式を算出する処理ルーチンについて図10のフローチャートを参照して説明する。マイコン11は、一次直線式の算出ルーチンを開始すると、先ずFROM14に書き込まれたデータの有無を判定する(S51)。ここで、FROM14内に書込データがあれば、マイコン11は、FROM14の読み出しポインタを、アドレス番号が最大の書き込み済みアドレスに移動させた後(S52)、FROM14から1データを読み出して、基準デジタル値D0、D1、基準アナログ値A0、A1とする(S53’)。そして、これらの基準デジタル値D0、D1、基準アナログ値A0、A1から、一次直線式Y=a×X+bの傾きa=(A0−A1)/(D0−D1)と、切片b=(A0・D1−A1・D0)/(D1−D0)とを算出して、RAM13に格納した後(S54’)、処理ルーチンを終了する。また、S51の判定の結果、FROM14に書込データがなければ、マイコン11は、予め設定されている標準の傾き及び切片を一次直線式に設定し(S55)、処理ルーチンを終了する。そして、マイコン11は、一次算出式の傾き及び切片の設定値を応答信号として通信ポート11aから制御装置2へ返送させる(S11,S12)。
校正モードにおけるマイコン11の動作は以上の通りであり、本実施形態では、制御装置2から基準デジタル値取得コマンドと共に送られたアナログ信号の信号レベル情報と、コマンド受信時に取得した基準デジタル値とを用いて、一次直線式の傾きa及び切片bを算出しているので、入出力の仕様や測定対象のアナログ信号の信号レベルに合わせて、基準デジタル値を取得する際に与えるアナログ信号の信号レベルを途中で変更することができ、個々のA/D変換ユニット毎に使用形態に合わせた最適な一次直線式を設定することができる。
(実施形態3)
本発明の実施形態3を図11〜図15に基づいて説明する。尚、A/D変換ユニット1の構成は実施形態1と同様であるので、共通する構成要素には、同一の符号を付して、その説明は省略する。
上述の実施形態2では、2点の基準デジタル値D0,D1と、基準デジタル値D0,D1に対応する基準アナログ値A0,A1とを用いて一次直線式の傾き及び切片を算出しているが、アナログ信号の信号レベルと中間出力値との関係が一つの一次直線式で表せない場合、一つの一次直線式に中間出力値を代入してアナログ信号の信号レベルを求めると、一次直線式を用いて算出した信号レベルと実際の信号レベルとの間に誤差が発生するが、本実施形態によれば、(n+1)個(nは2以上の整数)の基準デジタル値D0,D1,…,Dnの各区間毎にアナログ信号の信号レベルA0,A1,…,Anと基準デジタル値A0,A1,…,Anとの関係を示す一次直線式の傾き及び切片を求め、各区間毎に求めた一次直線式を用いて中間出力値からアナログ信号の信号レベルを算出しているので、一次直線式を用いて算出した信号レベルと実際の信号レベルとの誤差を小さくすることができる。図13は基準デジタル値を5個取り込んだ場合を示しており、基準デジタル値の各区間(−1000〜0、0〜1000、1000〜2000、2000〜3000)毎に4つの一次直線式f1,f2,f3,f4を求めているので、各区間毎に対応する一次直線式f1〜f4を用いることで、一次直線式を用いて算出した信号レベルと実際の信号レベルとの誤差を小さくすることができる。
本実施形態のA/D変換ユニット1の動作を図11,図12,図14および図15のフローチャートに従って説明する。尚、基準デジタル値の取得ルーチン、登録ルーチン、消去ルーチン、一次直線式の設定ルーチン以外の動作は実施形態2と同様であるので、共通する動作については説明を省略し、異なる動作についてのみ以下に説明する。
図11は基準デジタル値を取得する処理ルーチンのフローチャートであり、本実施形態では基準デジタル値として(n+1)点の中間出力値D0,D1,…,Dnを取り込むようになっており、基準デジタル値取得コマンドを送信する前に所定レベルのアナログ信号がアナログ−デジタル変換回路12に入力されているものとする。マイコン11が取得ルーチンを開始すると、マイコン11はアナログ−デジタル変換回路12から中間出力値(デジタル値)を読み込み(S21)、受信した基準デジタル値取得コマンドに対応する基準デジタル値の種別を判定する(S22)。すなわち、基準デジタル値取得コマンドには取得する基準デジタル値の種別(D0,D1,…,Dn)を示す情報が付加されており、基準デジタル値の種別がD0であれば、マイコン11は、S21で読み込んだ中間出力値を基準デジタル値D0としてRAM13に格納するとともに(S23)、基準デジタル値取得コマンドに付加された信号レベル情報を基準アナログ値A0としてRAM13に格納した後(S25)、処理ルーチンを終了する。また、基準デジタル値の種別がD1であれば、マイコン11は、S21で読み込んだ中間出力値を基準デジタル値D1としてRAM13に格納するとともに(S24)、基準デジタル値取得コマンドに付加された信号レベル情報を基準アナログ値A1としてRAM13に格納した後(S26)、処理ルーチンを終了する。さらに、基準デジタル値の種別がDnであれば、マイコン11は、S21で読み込んだ中間出力値を基準デジタル値DnとしてRAM13に格納するとともに(S27)、基準デジタル値取得コマンドに付加された信号レベル情報を基準アナログ値AnとしてRAM13に格納した後(S28)、処理ルーチンを終了する。またマイコン11は、基準デジタル値の取得ルーチンを終了すると、RAM13に格納した基準デジタル値(または基準デジタル値と基準アナログ値)を応答信号として、通信ポート11aから制御装置2へ返送させる(S11,S12)。
次に、RAM13に格納された基準デジタル値D0〜Dnおよび基準アナログ値A0〜AnをFROM14に登録する処理ルーチンを図12に示すフローチャートに基づいて説明する。マイコン11が登録ルーチンを開始すると、マイコン11は、FROM14に空き容量があるか否かを判定し(S31)、空き容量がある場合には、FROM14の書き込みポインタを未書き込みのアドレスのうちアドレス番号が最小のアドレスに移動させ(S32)、基準デジタル値D0〜Dnと基準アナログ値A0〜Anを1データとしてFROM14に書き込み(S34)、書込ルーチンを終了する。また、S31の判定の結果、FROM14に空き容量が無い場合、マイコン11は、FROM14内のデータを全て消去した後(S33)、S32に移行し上述と同様の処理を行う。そして、マイコン11は、基準デジタル値の登録ルーチンを終了すると、FROM14に格納した基準デジタル値を応答信号として、通信ポート11aから制御装置2へ返送させる(S11,S12)。
また、RAMおよびFROMに格納された基準デジタル値及び基準アナログ値を消去する処理ルーチンを図14のフローチャートに従って説明する。マイコン11が消去ルーチンを開始すると、FROM14内のデータを全て消去した後(S41)、RAM13内に格納された基準デジタル値D0,D1,…,Dnを消去するとともに(S42)、RAM13内に格納された基準アナログ値A0,A1,…,Anを消去して(S43)、消去ルーチンを終了する。そして、マイコン11は、基準デジタル値及び基準アナログ値の消去ルーチンを終了すると、基準デジタル値及び基準アナログ値の消去完了を示すデータを応答信号として通信ポート11aから制御装置2へ返送させる(S11,S12)。
次に、一次直線式を算出する処理ルーチンについて図15のフローチャートを参照して説明する。マイコン11は、一次直線式の算出ルーチンを開始すると、先ずFROM14に書き込まれたデータの有無を判定する(S51)。ここで、FROM14内に書込データがあれば、マイコン11は、FROM14の読み出しポインタを、アドレス番号が最大の書き込み済みアドレスに移動させた後(S52)、FROM14から1データを読み出して、基準デジタル値D0,D1,…,Dn、および、基準アナログ値A0,A1,…,Anとする(S53’)。そして、これらの基準デジタル値D0〜Dnおよび基準アナログ値A0〜Anから、隣接する基準デジタル値の区間毎に一次直線式Y=a×X+bの傾きa及び切片bを算出して、RAM13に格納した後(S54)、処理ルーチンを終了する。尚、基準デジタル値の区間(D0,D1)では、傾きa=(A0−A1)/(D0−D1)、切片b=(A0・D1−A1・D0)/(D1−D0)となる。また、S51の判定の結果、FROM14に書込データがなければ、マイコン11は、予め設定されている標準の傾き及び切片を一次直線式に設定し(S55)、処理ルーチンを終了する。そして、マイコン11は、一次算出式の傾き及び切片の設定値を応答信号として通信ポート11aから制御装置2へ返送させる(S11,S12)。
校正モードにおけるマイコン11の動作は以上の通りであり、本実施形態では、マイコン11が、少なくとも3つの基準デジタル値の各区間毎にアナログ信号の信号レベルと中間出力値との関係を示す一次直線式の傾き及び切片を求め、各区間毎に求めた一次直線式を用いて中間出力値からアナログ信号の信号レベルを算出しているので、一次直線式を用いて算出した信号レベルと実際の信号レベルとの誤差を小さくすることができる。
尚、本実施形態では実施形態2のA/D変換ユニット1において、少なくとも3点の基準デジタル値D0,D1,…,Dnの各区間毎にアナログ信号の信号レベルと中間出力値との関係を示す一次直線式の傾き及び切片を求めているが、実施形態1のA/D変換ユニット1において、少なくとも3点の基準デジタル値D0,D1,…,Dnの各区間毎に、予め設定されたアナログ信号の信号レベルA0,A1,…,Anと基準デジタル値D0,D1,…,Dnとの関係を示す一次直線式の傾き及び切片を求め、各区間毎に求めた一次直線式を用いて中間出力値からアナログ信号の信号レベルを算出するようにしても良い。