データ変換システムおよびデータ変換方法
【課題】 データの確実な読み取りを可能にし、また異常なデータの判別を可能にするデータ変換システムおよびデータ変換方法を提供する。
【解決手段】 10進数で表された数値のデータを、ディジタルのデータに変換する計測器10と、計測器10が変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表すコード変換装置20およびP/S変換器30と、コード変換装置20およびP/S変換器30から送られた、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理するS/P変換器40および制御装置50と、
を備える。
【解決手段】 10進数で表された数値のデータを、ディジタルのデータに変換する計測器10と、計測器10が変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表すコード変換装置20およびP/S変換器30と、コード変換装置20およびP/S変換器30から送られた、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理するS/P変換器40および制御装置50と、
を備える。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データを2進数に変換して伝送するデータ変換システムおよびデータ変換方法に関する。
【背景技術】
【0002】
2進数に変換されたデータはコンピュータ処理や伝送に利用されている。例えば、電力会社では、電圧、電流、電力量、ダムや河川の水位、雨量などの計測データは、現地に設置されているセンサーから、アナログデータをデータ変換装置で2進数のデータに変換され、現地の制御装置や電力設備を運用、監視している制御所などに伝送される。これらの計測データは、計測装置やコンピュータの表示装置等の既設装置に出力され、担当者によってデータの確認やデータを加工して記録や電力設備の制御などが行われる。このとき、担当者による視認を容易にするために、図22に示すように、4ビットで形成される16通りの2進符号から、10進数の値「0」〜「9」までの10個を用いて、10進数の1桁を表す符号である2進化10進コード(BCD:Binary Coded Decimal)が利用されている。図22では、2桁の10進数を表す場合を示している。
【0003】
こうしたBCDコードを用いて計測データを伝送する場合、例えば図23に示すデータ変換システムでは、計測器110が電圧、電流、電力量、ダムや河川の水位、雨量などを測定し、アナログの計測データをBCD変換装置120に出力する。BCD変換装置120は、アナログの計測データをBCDコードの計測データに変換し、変換したデータを制御装置130に伝送する。制御装置130は、受け取った計測データを基に、電圧、電流、電力量、ダムや河川の水位、雨量などを監視すると共に計測データの表示および計測データを利用した制御や記録の加工等を行う。例えば、河川の水位を監視する場合、制御装置130は、受け取った計測データで河川の水位を監視し、河川の水位の変化を表示等で出力する。
【0004】
BCD変換装置120のA/D(アナログ/ディジタル)変換器121は、計測器110から計測データを受け取ると、図24に示すように、アナログデータを2進数のディジタルの計測データに変換する。この後、BCD変換装置120のCPU(Central Processing Unit)122は、2進数の計測データを、BCDコードの計測データに変換する。そして、BCD変換装置120のBCD出力インターフェース(IF)123が、BCDコードの計測データを制御装置130に出力する。制御装置130のBCD入力インターフェース(IF)131は、BCDコードの計測データを受け取ると、このデータを処理部132に送る。処理部132は、受け取った計測データを基に、例えば河川の水位を監視すると共に河川の水位計測データを表示したり、計測データを利用した制御や記録の加工をする。
【0005】
こうしたシステムでは、4ビットのデータと共にデータ確認信号がBCD変換装置120から制御装置130に伝送される。データ確認信号は、BCDコードのデータが読み取り可能である、という通知を送るための信号である。計測データの各ビットは2つの状態、つまり論理値「0」または論理値「1」になり、4ビットで10進数の1桁の数値が形成される。このとき、1つのビットが論理値「1」または論理値「1」に変わって安定するまでに、時間幅がある。そして、各ビットの論理値が安定したときに、BCD変換装置120は制御装置130にデータ確認信号を伝送する。
【0006】
ところで、例えば水位の計測データが10進数で値「7」から値「8」に変化する場合がある。この場合には、BCDコードの4ビットの値が「0111」から「1000」に変化するので、すべてのビットの論理値が変化することになる。このために、BCD変換装置120からデータ確認信号が出力されるまでの時間が長くなり、制御装置130によるデータの読み取りが遅くなる。また、計測データが10進数で値「7」と値「8」との間を変化する場合には、データ確認信号の出力がさらに遅れる。データ確認信号の遅れが一定時間を過ぎると、制御装置130の処理部132は、計測不能と判定し、計測不能のメッセージを出力する。
【0007】
こうした事態に対応するために、グレイコード(Gray code)を利用することが考えられる(例えば、特許文献1参照。)。グレイコードは、図25に示すように、隣接する数値の変化が1ビットになるように設定された符号である。このために、グレイコードを用いれば、例えば計測データが10進数で値「7」と値「8」との間を変化する場合でも、データ確認信号の出力が遅れることを防ぐと予想される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2007−88677号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、従来のデータ変換システムに対して単にグレイコードを適用すると、次のような課題が発生する。グレイコードでは、10進数の値「0」が「0000」のビット列になる。このために、制御装置130側では、BCD変換装置120に電源断等の故障が発生してグレイコードが「0000」になっているのか、または、正常値の「0000」であるかの判別ができない。また、グレイコードは16進法であるので、10進法でデータを処理するデータ変換システムに対しては、10進数の値「9」から「0」へ変化する場合、グレイコード「1101」から「0000」へ変位するため、3ヶ所のビットが変位し、他の値の変化に比べると誤差確率が多くなると共に確認時間も伸びるため、グレイコードに変換するための手法を単に適用することはできない。さらに、グレイコードでは、10進数の値「10」を「1111」で表している。一方、電子回路内の素子が破損した場合には、電子回路内の素子が導通状態もしくは断線状態になる場合が多く、ゲート出力においては「0000」または「1111」でデータ伝送されることが多い。10進化循環コードによるデータ変換システムでは、「1111」は、正常値の「1111」か、故障による「1111」であるか区別できないため、使用不可の符号としている。ところが、10進数の値「10」に対応するグレイコードは「1111」であるので、従来のデータ変換システムにグレイコードを単に用いると、10進数の値によっては制御装置130でデータの読み取りが不可の状態になる。
【0010】
この発明の目的は、前記の課題を解決し、データの確実な読み取りを可能にし、また異常なデータの判別を可能にするデータ変換システムおよびデータ変換方法を提供することにある。
【課題を解決するための手段】
【0011】
前記の課題を解決するために、請求項1の発明は、10進数で表された数値のデータを、ディジタルのデータに変換する変換手段と、前記変換手段が変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表す第1の処理手段と、前記第1の処理手段から送られた、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する第2の処理手段と、を備えることを特徴とするデータ変換システムである。
【0012】
請求項1の発明は、変換手段のデータを、第1の処理手段から第2の処理手段に送るシステムである。このために、変換手段は、10進数で表された数値のデータを、ディジタルのデータに変換する。第1の処理手段は、変換手段が変換したディジタルのデータが表す数値の各桁を所定コードで表す。このとき、変換手段が変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すためのコードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にしたコードが所定コードとして用いられる。さらに、この所定コードは、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にしている。一方、第2の処理手段は、第1の処理手段から送られた、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する。
【0013】
請求項2の発明は、請求項1に記載のデータ変換システムにおいて、前記第1の処理手段は、所定コードによりデータを変換するときに、すべてのビット列を2つの論理値で形成する、ことを特徴とする。
【0014】
請求項3の発明は、請求項1または2に記載のデータ変換システムにおいて、前記第1の処理手段が用いる所定コードは、前記第2の処理手段が受け取ったデータをBCDコードに変換する際に、隣り合うビット列のビットが変化する数を最小にするように設定されている、ことを特徴とする。
【0015】
請求項4の発明は、請求項1〜3のいずれか1項に記載のデータ変換システムにおいて、前記第2の処理手段は、所定コードで表されたディジタルの数値を受け取ると、この所定コードのデータをBCDコードに変換する変換器と、前記変換器からのBCDコードのデータを処理する制御装置と、を備えることを特徴とする。
【0016】
請求項5の発明は、10進数で表された数値のデータを、ディジタルのデータに変換し、変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表し、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する、ことを特徴とするデータ変換方法である。
【発明の効果】
【0017】
請求項1および請求項5の発明によれば、10進数で表された数値のデータを送るときに、所定コードでデータを表して、ビット列のビットの変化を一定値にするので、データを送るために要する時間を短くかつ一定にし、第2の処理手段によるデータの読み取り精度を向上させることができる。
【0018】
請求項2の発明によれば、論理値「0」が連続するビット列のデータが含まれないので、第2の処理手段は装置停止時や故障時などに発生するデータと区別することを可能にする。また、システムで論理値「1」の連続するビット列のデータを使用不可としている場合でも、第1の処理手段から送られるデータには論理値「1」が連続するビット列のデータが含まれないので、データの受け取りを確実に行うことを可能にする。
【0019】
請求項3の発明によれば、前記第2の処理手段が受け取ったデータをBCDコードに変換する際に、ビット列のビットが変化する数を最小にするように、所定コードが設定されているので、第2の処理手段による変換作業の負担を軽減することができる。
【0020】
請求項4の発明によれば、制御装置はBCDコードの数値を処理するので、制御装置として既設の装置を使用することを可能にする。
【図面の簡単な説明】
【0021】
【図1】この発明の実施の形態1によるデータ変換システムを示す構成図である。
【図2】図1のデータ変換システムが適用された計測システムを説明する図であり、図2(a)はシステムを示す構成図、図2(b)は水位を電気信号に変換する様子を示す図である。
【図3】データ変換を説明する図である。
【図4】10進化循環コードによる変換の様子を示す図である。
【図5】10進化循環コードの設定について説明する図である。
【図6】10進化循環コードの設定について説明する図である。
【図7】10進化循環コードの設定について説明する図である。
【図8】10進化循環コードによる変換の様子を示す図である。
【図9】この発明の実施の形態1によるCPUが機能として持つ変換回路の一例を示す回路図である。
【図10】10進化循環コードからBCDコードに変換する様子を示す図である。
【図11】処理部が機能として持つ変換回路の一例を示す回路図である。
【図12】この発明の実施の形態2によるデータ変換システムを示す構成図である。
【図13】この発明の実施の形態2による処理部が機能として持つ変換回路の一例を示す回路図である。
【図14】この発明の実施の形態3によるデータ変換システムを示す構成図である。
【図15】バッファのビット割り付けを示す図である。
【図16】この発明の実施の形態3による処理部が機能として持つ変換回路の一例を示す回路図である。
【図17】この発明の実施の形態4によるデータ変換システムを示す構成図である。
【図18】カウンタのビット割り付けを示す図である。
【図19】この発明の実施の形態4による処理部が機能として持つ変換回路の一例を示す回路図である。
【図20】この発明の実施の形態5によるデータ変換システムを示す構成図である。
【図21】この発明の実施の形態6によるデータ変換システムを示す構成図である。
【図22】BCDコードを説明する図である。
【図23】従来のデータ変換システムを示す構成図である。
【図24】データの変換を説明する図である。
【図25】グレイコードを説明する図である。
【発明を実施するための形態】
【0022】
次に、この発明の実施の形態について、図面を用いて詳しく説明する。以下の実施の形態では、電力会社で用いられている電圧、電流、電力量、ダムや河川の水位、雨量などの計測データとして、ダムや河川の水位を扱う場合を例として説明する。
【0023】
(実施の形態1)
この実施の形態によるデータ変換システムを図1に示す。図1のデータ変換システムは、計測器10、コード変換装置20、P/S(パラレル/シリアル)変換器30、S/P(シリアル/パラレル)変換器40および制御装置50を備えている。計測器10とコード変換装置20とP/S変換器30とは、電力会社の水力発電所等に設置されている装置であり、データを送る側の装置である。S/P変換器40と制御装置50とは、制御所に設置されている装置であり、データを受ける側の装置である。送り側装置と受け側装置とは、伝送線路Wによって接続されている。
【0024】
この実施の形態によるデータ変換システムが適用された計測システムを図2(a)に示す。図2(a)の計測システムは、ダムや河川の水位WLを計測するものであり、水位計MLのフロートFLが水位WLの変動で上下すると、電源Vと抵抗体Rから成る検出器が、水位WLの上下を電気に変換する。この計測システムの計測器10は、水位WLを常時または定期的に測定し、図2(b)に示すように電気信号(電流または電圧)に変換して、アナログの計測データをコード変換装置20に送る。コード変換装置20は、アナログの計測データを計測器10から受け取ると、図3に示すようにこの計測データを所定の10進化コードに変換して、予め設定していた変換定数を乗じて計測値(水位)に変換し、P/S変換器30に送る。コード変換装置20は、A/D変換器21と処理部22とコード出力インターフェース(IF)23とを備えている。
【0025】
A/D変換器21は、計測器から送られてきた、計測データの値に応じた電気信号(アナログデータ)をディジタルデータに変換する変換器である。A/D変換器21は、アナログデータをディジタルデータに変換して、計測データとして処理部22に送る。
【0026】
処理部22は、CPU(Central Processing Unit)やROM(Read Only Memory)などから成り、A/D変換器21から計測データ、つまり、アナログデータをディジタルデータに変換した信号を受け取ると、予め設定していた変換定数を乗じて元の計測値(水位)にディジタルデータとして変換し、その計測値を所定の10進化コード(以下、「10進化循環コード」という)に変換する。10進化循環コードは、図4に示すように、各数値が4桁のX0ビット〜X3ビットのデータで表されている。つまり、4桁のビット列が1つの数値に対応している。例えば10進数「0」には、4桁のビット列「1001」が対応している。また、10進化循環コードでは、隣り合うビット列について、論理値「1」から論理値「0」、または、論理値「0」から論理値「1」に変位するビット数(以下、「変位数」という)が、最小の1になっている。なお、10進化循環コードが4ビット構成であるので、最大の可能変位数は4であるが、全て変位数が1となるようコードの順番を構成している。BCD変換コードでは、10進数で値「7」から値「8」に変化する場合、4ビットの値が「0111」から「1000」と全ビット変化するので最大の変位数は4である。
【0027】
ここで、10進化循環コードの設定についてカルノー図法を用いて説明する。10進化循環コードは4ビットから構成されているが、図5に示すように、上位2ビット(X3X2)と下位2ビット(X1X0)の論理変数を縦軸と横軸にとり、4×4の16セルをつくる。セルaは、ビット表示では「1010」を表し、セルgでは「1101」を表す。
【0028】
2進化10進コード(BCD)では、「1010」、「1011」、「1100」、「1101」、「1111」は使用禁止である。図6では、セルa、セルb、セルd、セルc、セルe、セルfを使用しない。10進数「0」から「1」へ変化する場合、BCDでは「0000」から「0001」へ変化するが、図6では、セルpからセルoへ移動することになる。これは、隣のセルへ1回移動するだけであるので、移動距離「1」すなわちハミング距離「1」となる。よって、10進数「7」から「8」への変化は、セルjからセルdへ移動するため、4セル移動することになる。すなわち、ハミング距離は「4」ということになる。
【0029】
10進化循環コードでは、「0000」と「1111」を使用禁止としているため、図7に示すセルfとセルpは使用しない。残りの14セルのうち10セルを使用して10進化循環コードを設定する。この10セルが1セルずつ移動して10回目には出発点へ戻るルートを設定することになる。この移動において、セルaからセルm、セルhからセルeなども1セル移動すなわちハミング距離「1」である。
【0030】
10進化循環コードの設定では、例えば、
セルa→セルb→セルc→セルd→セルh→セルl→セルk→セルj→
セルi→セルe→セルa
でも、
セルc→セルd→セルa→セルe→セルi→セルg→セルk→セルo→
セルn→セルb→セルc
でもよい。
【0031】
BCDでは、10進数「0」が「0000」と定義づけられているが、10進化循環コードでは、設定されたルートの何処からでも10進数「0」を提起してもよいし、また、定義されたルートの逆すなわち
セルa→セルb→セルc→セルd→セルh→セルl→セルk→セルj→
セルi→セルe→セルa
であれば、
セルa→セルe→セルi→セルj→セルk→セルl→セルh→セルd→
セルc→セルb→セルa
でも定義づけられる。したがって、後述する図11や図13などのロジック回路も違ってくるという特長を持つ。
【0032】
10進化循環コードにおいて、例えば隣り合うビット列が、10進数「0」に対応する「1001」であり、10進数「1」に対応する「0001」である場合、図8の破線の楕円で示すように、X3ビットが論理値「1」から論理値「0」に変位しているだけである。他の隣接するビット列についても同様である。特に、隣り合うビット列が、10進数「9」に対応する「1000」と、10進数「0」に対応する「1001」の場合も同様であり、X0ビットが論理値「0」から論理値「1」に変位しているだけである。この結果、10進化循環コードでは、隣接するビット列の変位数はそれぞれ1であり、最小になっている。かつ、10進数「9」と10進数「0」でも同様であるので、10進化循環コードは循環コードである。
【0033】
さらに、10進化循環コードの4桁のX0ビット〜X3ビットには、「0000」や「1111」のように、論理値「0」や論理値「1」の連続でビット列を形成しない。つまり、コード変換装置20に電源断等の故障が発生して、ビット列が「0000」になると、コード変換装置20に発生した故障の判別を可能にしている。また、電子回路内の素子が破損した場合には、電子回路内の素子が導通状態もしくは断線状態になることがある。すなわち、ディジタル出力としては、「0000」もしくは「1111」が出力することになる。したがって、本システムでは「0000」もしくは「1111」を含めていない。
【0034】
処理部22は、A/D変換器21からの計測データを10進化循環コードに変換するために、図9に示す変換回路と同等の機能を備えている。図9の変換回路は、論理和の演算をするオアゲートE0〜E3を備えている。各ゲートの接続は図示の通りである。こうした変換回路は図4の真理値表と論理関数とを用いた手法などにより実現可能であり、また、各種の回路がある。
【0035】
この変換回路において、例えば、10進数「7」の計測データ、つまり、A/D変換器21から、計測データの10進数「7」に対応して、処理部22の変換回路は論理値「0100」を出力する。このほかの計測データについても、同様の演算を行い、変換回路は、X3ビット〜X0ビットから成る10進化循環コード(図4)に計測データを変換する。
【0036】
処理部22は、計測データを10進化循環コードに変換すると、変換した計測データを、コード出力インターフェース23を経てP/S変換器30に送る。また、10進化循環コードの論理値の変化が安定したときに、処理部22は、データ確認信号をP/S変換器30に送る。このとき、10進化循環コードにおいて、論理値の変位数は1であるので、処理部22は短時間でデータ確認信号を制御所に送る。P/S変換器30は、10進化循環コードに変換された計測データがパラレルのデータであるので、このデータをシリアルに変換し、データ確認信号と共に伝送線路Wに送る。
【0037】
制御所では、伝送線路Wを経てS/P変換器40がシリアルの計測データを受け取ると、このデータをパラレルの計測データに変換する。そして、S/P変換器40は、パラレルの計測データを、制御装置50に送る。
【0038】
制御装置50は、コード変換装置20からデータ確認信号を受け取ると、10進化循環コードに変換された計測データをBCDコードに変換し、計測データを基にして各種の処理を行う。このために、制御装置50は、コード入力インターフェース(IF)51と処理部52とを備えている。処理部52は、コード入力インターフェース51を経て、10進化循環コードに変換された計測データを受け取ると、この計測データをBCDコードに変換する。つまり、処理部52は、図10に示すようなコード変換を行う。このとき、10進化循環コードからBCDコードに変換する際に発生するビットの変位数が最小となるように、10進化循環コードが設定されている。つまり、
a.隣り合うビット列の変位数が1になる
b.論理値「0」や論理値「1」の連続でビット列を形成しない
c.10進化循環コードからBCDコードに変換する際のビットの変位数を最小にする
という条件で、10進化循環コードが形成されている。
【0039】
こうした10進化循環コードをBCDコードに変換するために、処理部52は、図11に示す変換回路と同等の機能を備えている。図11の変換回路は、ノットゲートH0〜H3と、アンドゲートJ1〜J8と、オアゲートK1〜K3と、アンドゲートL1とを備えている。各ゲートの接続は図示の通りである。
【0040】
例えば、10進数「7」に相当する、10進化循環コードの「0100」を変換回路がコード変換装置20から受け取ると、変換回路のノットゲートH0〜H3は、X0ビット〜X3ビットを否定する演算を行う。そして、ノットゲートH0は演算結果をアンドゲートJ2、J4に出力し、ノットゲートH1は演算結果をアンドゲートJ3、J4、J6に出力する。ノットゲートH2は演算結果をアンドゲートJ2、J3、J5に出力し、ノットゲートH3は演算結果をアンドゲートJ6、J7、L1に出力する。
【0041】
アンドゲートJ1は、10進化循環コードのX0ビットである論理値「0」と、X1ビットである論理値「0」と、X2ビットである論理値「1」とにより、論理値「0」を出力する。アンドゲートJ2は、ノットゲートH0が出力する論理値「1」と、ノットゲートH2が出力する論理値「0」とにより論理値「0」を出力する。アンドゲートJ3は、ノットゲートH1が出力する論理値「1」と、ノットゲートH2が出力する論理値「0」とにより、論理値「0」を出力する。アンドゲートJ4は、ノットゲートH0が出力する論理値「1」と、ノットゲートH1が出力する論理値「1」とにより、論理値「1」を出力する。オアゲートK2は、アンドゲートJ3が出力する論理値「0」と、アンドゲートJ4が出力する論理値「1」とにより、論理値「1」を出力する。アンドゲートL1は、ノットゲートH3が出力する論理値「1」と、オアゲートK2が出力する論理値「1」とにより、論理値「1」を出力する。オアゲートK1は、アンドゲートJ1が出力する論理値「0」と、アンドゲートJ2が出力する論理値「0」と、アンドゲートL1が出力する論理値「1」とにより、論理値「1」を出力する。この値がBCDコードのD0ビットとなる。
【0042】
アンドゲートJ5は、X1ビットである論理値「0」と、ノットゲートH2が出力する論理値「0」とにより論理値「0」を出力する。アンドゲートJ6は、10進化循環コードのX2ビットである論理値「1」と、ノットゲートH1が出力する論理値「1」と、ノットゲートH3が出力する論理値「1」とにより、論理値「1」を出力する。オアゲートK3は、アンドゲートJ5が出力する論理値「0」と、アンドゲートJ6が出力する論理値「1」とにより、論理値「1」を出力する。この値がBCDコードのD1ビットとなる。
【0043】
アンドゲートJ7は、10進化循環コードのX2ビットである論理値「1」と、ノットゲートH3が出力する論理値「1」とにより、論理値「1」を出力する。この値がBCDコードのD2ビットとなる。
【0044】
アンドゲートJ8は、10進化循環コードのX3ビットである論理値「0」と、アンドゲートJ4が出力する論理値「1」とにより、論理値「0」を出力する。この値がBCDコードのD3ビットとなる。
【0045】
このように、処理部52は、10進化循環コードをBCDコードに変換する。この後、処理部52は、BCDコードに変換された計測データを基にして、各種の処理を行う。例えば、水位が設定値を超えると、処理部52は急激な水位の変化が発生していることを、表示等により出力する。また、処理部52は、コード変換装置20からビット列「0000」や「1111」の計測データを受け取ると、この計測データが10進化循環コードに含まれないので、コード変換装置20の異常と判別する。そして、この判別結果を出力する。
【0046】
次に、この実施の形態によるデータ変換システムを利用したデータ変換方法について説明する。水力発電所等に設置されている計測器10は水位を測定し、アナログの計測データをコード変換装置20に送る。コード変換装置20は、計測データを受け取ると、アナログの計測データをカウンタ信号に変換し、さらに、カウンタ信号である計測データを10進化循環コードに変換する。また、コード変換装置20は、10進化循環コードの論理値「1」、「0」が安定したときに、データ確認信号を制御所に送る。このときに、10進化循環コードの隣り合うビット列の変位数はそれぞれ1であるので、コード変換装置20は短時間でデータ確認信号を制御所に送ることができる。
【0047】
制御所の制御装置50は、P/S変換器30およびS/P変換器40を経て、コード変換装置20からデータ確認信号を受け取ると、10進化循環コードに変換された計測データをBCDコードに変換し、計測データを基にして各種の処理を行う。また、制御装置50は、コード変換装置20からビット列「0000」や「1111」の計測データを受け取ると、発電所側のコード変換装置20、P/S変換器30、S/P変換器40、伝送線路Wのいずれかの異常と判別し、判別結果を出力する。
【0048】
こうして、この実施の形態により、計測器10の計測データを、10進化循環コードを利用して制御装置50に送ることができる。このとき、計測データが値「7」と値「8」との間で変化した場合に、BCDコードを利用した従来のシステムでは、値「7」に対応するビット列「0111」と、値「8」に対応するビット列「1000」との間で4ビットが変化するため、データ確認信号の出力が遅れるが、この実施の形態では、10進化循環コードの隣り合うビット列の変位数がそれぞれ1であるので、データ確認信号の出力が遅れることはなく常に安定して出力される。これにより、制御装置50による読み取り不可などの状態を回避し、誤差を少なくして確実に計測データを伝送することができる。
【0049】
また、10進化循環コードに変換された計測データには、ビット列「0000」や「1111」が含まれないので、発電所側のコード変換装置20からビット列「0000」や「1111」を受け取ると、制御所側の制御装置50は発電所側のコード変換装置20に装置の停電やシステム故障および電子回路、素子の破損が発生したか、P/S変換器30、S/P変換器40、伝送線路Wの異常と判別することが可能である。
【0050】
また、計測データを送るために、従来のようにグレイコードを使用した場合、グレイコードには「1111」が含まれているので、制御装置50は、このグレイコードを受け取ると、処理不可の状態になる。しかし、この実施の形態では、10進化循環コードが論理値「1」の連続でビット列を形成しないので、制御所側の制御装置50が処理不可の状態になることを回避することができる。
【0051】
さらに、10進化循環コードからBCDコードに変換する際のビットの変位数を最小にしているので、10進化循環コードからBCDコードに変換する処理部52の負担を軽減することができる。
【0052】
なお、この実施の形態では、10進化循環コードとして、ビットの変位数が1である場合について説明したが、ビットの変位数が2または3であってもよい。この場合には、データ確認信号の出力は遅れるが、ビット列のすべてのビットが変位することを防ぐことができる。
【0053】
(実施の形態2)
次に、電力量計などに使用されるパルス信号によるデータ交換システムについて説明する。このシステムを図12に示す。なお、この実施の形態では、先に説明した実施の形態1と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態によるデータ変換システムでは、計測器10は、電力量計などの計測部11と、パルス信号を発生するパルス発信器12とから成り、計測器10内のパルス発信器12からコード変換装置20へパルス信号を送る形態をしている。
【0054】
計測器10は、電力量が一定数量を超過すると電気信号(電流または電圧)を1パルスに変換してアナログの計測データをコード変換装置20に送る。コード変換装置20は、アナログの1パルスのデータを計測器10から受け取ると、P/S変換器30に送る。
【0055】
コード変換装置20のA/D変換器21は、計測器10から送られてきた、電気信号(アナログパルスデータ)をディジタルデータに変換する変換器である。A/D変換器21は、アナログパルスデータをディジタルパルスデータに変換して、1パルスの計測データとして処理部22に送る。
【0056】
処理部22は、A/D変換器21からパルスデータを受け取ると、処理部22内にあるカウンタに1カウントアップし、そのカウンタ値を10進化循環コードに変換する。このために、処理部22は図13に示す変換回路と同等の機能を備えている。
【0057】
図13の変換回路は、論理積の演算をするアンドゲートN1〜N6と、論理和の演算をするオアゲートO1〜O3と、フリップフロップM0〜M3とを備えている。各ゲートの接続は図示の通りである。
【0058】
この変換回路において、例えば、現在のカウンタ値が、10進数「6」から1パルス入力されてカウンタ値が「7」にカウントアップされた場合の回路について説明する。10進数「6」に相当する10進化循環コードの「0101」がカウンタに表示されているとする。計測器10から1パルスが送られてくると、A/D変換器21から出力されたディジタルパルスデータから、変換回路のフリップフロップM0〜M3の各CL入力にパルス入力される。各Dゲート入力値は各Gゲート出力に値を書き換える演算を行い、各否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)はDゲート入力値を否定した値を書き換える演算を行う。そして、フリップフロップM0のGゲート出力は、論理値「0」をカウンタのX0ビットの値として出力する。また、否定Gゲート出力は、アンドゲートN1、N4およびオアゲートO1に論理値「1」を出力する。フリップフロップM1のGゲート出力は、アンドゲートN4、N5およびカウンタのX1に論理値「0」を出力する。また、否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)は、アンドゲートN1、N6に論理値「1」を出力する。フリップフロップM2のGゲート出力は、アンドゲートN5、オアゲートO1およびカウンタのX2に論理値「1」を出力する。また、否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)は、アンドゲートN3、N6に論理値「0」を出力する。フリップフロップM3のGゲート出力は、カウンタのX3に論理値「0」を出力する。また、否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)は、アンドゲートN2、N3に論理値「1」を出力する。アンドゲートN1は、フリップフロップM0の否定Gゲート出力が出力する論理値「1」と、フリップフロップM1の否定Gゲート出力が出力する論理値「1」とにより、フリップフロップM3のDゲート入力に、論理値「1」を出力する。この値が次にCLゲート入力にパルス入力されたときに、カウンタのX3に書き変わる事前設定値となる。オアゲートO1は、フリップフロップM0の否定Gゲート出力が出力する論理値「1」と、フリップフロップM2のGゲート出力が出力する論理値「1」とにより、アンドゲートN2に論理値「1」を出力する。アンドゲートN2は、フリップフロップM3の否定Gゲート出力が出力する論理値「1」と、オアゲートO1が出力する論理値「1」とにより、フリップフロップM2のDゲート入力に、論理値「1」を出力する。この値が次にCLゲート入力にパルス入力されたときに、カウンタのX2に書き変わる事前設定値となる。アンドゲートN3は、フリップフロップM3の否定Gゲート出力が出力する論理値「1」と、フリップフロップM2の否定Gゲート出力が出力する論理値「0」とにより、オアゲートO2に、論理値「0」を出力する。アンドゲートN4は、フリップフロップM0の否定Gゲート出力が出力する論理値「1」と、フリップフロップM1のGゲート出力が出力する論理値「0」とにより、オアゲートO2に、論理値「0」を出力する。オアゲートO2は、アンドゲートN3が出力する論理値「0」と、アンドゲートN4が出力する論理値「0」とにより、フリップフロップM1のDゲート入力に、論理値「0」を出力する。この値が次にCLゲート入力にパルス入力されたときに、カウンタのX1に書き変わる事前設定値となる。アンドゲートN5は、フリップフロップM2のGゲート出力が出力する論理値「1」と、フリップフロップM1のGゲート出力が出力する論理値「0」とにより、オアゲートO3に、論理値「0」を出力する。アンドゲートN6は、フリップフロップM2の否定Gゲート出力が出力する論理値「0」と、フリップフロップM1の否定Gゲート出力が出力する論理値「1」とにより、オアゲートO3に、論理値「0」を出力する。オアゲートO3は、アンドゲートN5が出力する論理値「0」と、アンドゲートN6が出力する論理値「0」とにより、フリップフロップM0のDゲート入力に、論理値「0」を出力する。この値が次にCLゲート入力にパルス入力されたときに、カウンタのX0に書き変わる事前設定値となる。
【0059】
以下の処理は実施の形態1と同一であるので省略する。
【0060】
(実施の形態3)
次に、計測されたデータを直接データ信号とするデータ交換システムについて説明する。このシステムを図14に示す。なお、この実施の形態では、先に説明した実施の形態1と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態によるデータ変換システムは、計測器10内のバッファ13からコード変換装置20へパルス信号を送る形態をしている。
【0061】
A/D変換器21は、計測データの値に応じたパルス列を生成するバッファである。アナログの計測データが例えば値「0」〜値「9」までの範囲にある場合、A/D変換器21は10ビットのバッファで構成され、各ビットは、図15に示すように割り付けられている。つまり、計測データがデータ値「0」である場合、A/D変換器21の各ビットは、0ビットが論理値「1」である「0000000001」が各バッファに割り当てられる。そして、計測データが値「9」である場合、A/D変換器21は9ビット〜0ビットまですべて論理値「1」である「1111111111」が各バッファに割り当てられる。この実施の形態では、ビットの論理値「1」が「計測データあり」の状態であり、論理値「0」が「計測データなし」の状態である。A/D変換器21は、生成したバッファの値を、計測データとして処理部22に送る。
【0062】
処理部22は、CPUやROMなどから成り、A/D変換器21から計測データつまり10ビットのバッファ信号を受け取ると、この計測データを所定の10進化循環コードに変換する。処理部22は、A/D変換器21からの、10ビットから成る計測データを10進化循環コードに変換するために、図16に示す変換回路と同等の機能を備えている。図16の変換回路は、論理積の演算をするアンドゲートA1〜A5、B1〜B4、D1〜D9と、否定の演算をするノットゲートC1〜C9と、論理和の演算をするオアゲートE1〜E4とを備えている。各ゲートの接続は図示の通りである。
【0063】
例えば、10進数「7」の計測データ、つまり、A/D変換器21から「0011111111」の計測データを変換回路が受け取ると、変換回路のアンドゲートA5が論理値「1」を出力する。この出力とA/D変換器21が出力した論理値「1」とにより、アンドゲートB4が論理値「1」を出力する。同じようにして、アンドゲートA4、B3、A3、B2、A2が論理値「1」を出力する。また、アンドゲートA1は、A/D変換器21が出力した論理値「0」と、アンドゲートA2が出力した論理値「1」とにより、論理値「0」を出力する。同じようにして、アンドゲートB1は論理値「0」を出力する。ノットゲートC1〜C9は、アンドゲートA1〜A5、アンドゲートB1〜B4の出力を否定する演算を行い、演算結果をアンドゲートD1〜D9に出力する。アンドゲートD9は、A/D変換器21が出力する論理値「1」と、ナンドゲートC9が出力する論理値「0」とにより、論理値「0」を出力する。また、アンドゲートD8は、アンドゲートA5が出力する論理値「1」と、ノットゲートC8が出力する論理値「0」とにより、論理値「0」を出力する。同じようにして、アンドゲートD1、D3〜D7は論理値「0」を出力する。一方、アンドゲートD2は、アンドゲートA2が出力する論理値「1」と、ノットゲートC2が出力する論理値「1」とにより、論理値「1」を出力する。
【0064】
この結果、アンドゲートA1〜A5、B1〜B4、D1〜D9およびノットゲートC1〜C9からなる回路は、計測データとして論理値「0010000000」を出力する。
【0065】
オアゲートE1は、アンドゲートB1、D1、D9の出力を基にして、論理値「0」を出力し、オアゲートE2は、アンドゲートD1〜D5の出力を基にして、論理値「1」を出力する。オアゲートE3は、アンドゲートD4〜D7の出力を基にして、論理値「0」を出力し、オアゲートE4は、アンドゲートD1、D3、D4、D7〜D9の出力を基にして、論理値「0」を出力する。
【0066】
こうして、計測データの10進数「7」に対応するバッファデータ「0011111111」に対して、処理部22の変換回路は論理値「0100」を出力する。このほかの計測データについても、同様の演算を行い、変換回路は、X3ビット〜X0ビットから成る10進化循環コード(図4)に計測データを変換する。
【0067】
以下の処理は実施の形態1と同一であるので省略する。
【0068】
(実施の形態4)
次に、雨量計などに使用されるパルスデータをカウンタで10進数変換するデータ交換システムについて説明する。このシステムを図17に示す。なお、この実施の形態では、先に説明した実施の形態1と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態によるデータ変換システムは、計測器10内のカウンタ14からコード変換装置20へパルス信号を送る形態をしている。
【0069】
A/D変換器21は、計測データの値に応じたパルス列を生成するカウンタである。アナログの計測データが例えば値「0」〜値「9」までの範囲にある場合、A/D変換器21は10ビットのカウンタで構成され、各ビットは、図18に示すように割り付けられている。つまり、計測データがデータ値「0」である場合、A/D変換器21の各ビットは、0ビットが論理値「1」である「0000000001」のカウンタ信号を生成する。計測データが値「7」である場合、A/D変換器21は「7」に該当するビットを論理値「1」として「0010000000」の各カウンタ信号を生成する。この実施の形態では、ビットの論理値「1」が計測データ値である。A/D変換器21は、生成したバッファの値を、計測データとして処理部22に送る。
【0070】
処理部22では、変換された10進数の値を10進化循環コードへ変換する。このために、処理部22は図19に示す変換回路と同等の機能を備えている。図19の変換回路は、実施の形態2の図13に示すフリップフロップM0〜M3と同様に動作するフリップフロップM0〜M9と、オアゲートE1〜E4とを備えている。各フリップフロップM0〜M9の接続は図示の通りである。実施の形態2では、フリップフロップM0〜M3のGゲート出力と各否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)とを用いたが、この実施の形態では、Gゲート出力のみを用いている。そして、各フリップフロップM0〜M9のGゲート出力を隣接のフリップフロップのDゲート入力値としている。さらに、各フリップフロップM0〜M9のGゲート出力を基にして、オアゲートE1〜E4が10進化循環コードの4桁のX0ビット〜X3ビットを出力する。
【0071】
これ以下の処理は、実施の形態3と同一であるので省略する。
【0072】
(実施の形態5)
この実施の形態によるデータ変換システムを図20に示す。なお、この実施の形態では、先に説明した実施の形態1〜4と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態では、制御装置50の代わりに、制御装置60が設置されている。さらに、S/P変換器40と制御装置60との間には、コンバータ70が設置されている。
【0073】
コンバータ70は、S/P変換器40から10進化循環コードの計測データを受け取ると、このデータをBCDコードに変換する。このために、コンバータ70は、先に示した図7と同じ変換回路を備えている。この変換回路により、コンバータ70は、先に示した図9と同様に、10進化循環コードをBCDコードに変換する。なお、変換回路は図7の他にも各種のものがある。例えば、CPUとROMとにより変換回路を構成してもよい。
【0074】
制御装置60は、図23の制御装置130と同様であり、既設の装置である。つまり、制御装置60は、BCD入力インターフェース(IF)61と、処理部62とを備えている。制御装置60のBCD入力インターフェース61は、コンバータ70からBCDコードの計測データを受け取ると、このデータを処理部62に送る。処理部62は、受け取った計測データを基に、例えば水位を監視すると共に計測データを表示する、などの処理を行う。
【0075】
この実施の形態によれば、実施の形態1〜4と同様の効果を達成することができる。さらに、この実施の形態により、制御所では、コンバータ70を設置するだけで、既設の制御装置60を用いることができ、装置の大幅な変更を不要にすることができる。
【0076】
(実施の形態6)
この実施の形態によるデータ変換システムを図21に示す。なお、この実施の形態では、先に説明した実施の形態1と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態によるデータ変換システムは、実施の形態1〜4のP/S変換器30とS/P変換器40とを省略した構成であり、コード変換装置20のコード出力インターフェース23が制御装置50のコード入力インターフェース51に10進化循環コードを直接送る。このために、コード出力インターフェース23とコード入力インターフェース51とは、10進化循環コードのD0ビット〜D3ビットを伝送する伝送路でそれぞれ接続されている。
【0077】
この実施の形態により、実施の形態1〜4と同様の効果を達成することができる。さらに、この実施の形態により、コード変換装置20のコード出力インターフェース23と制御装置50のコード入力インターフェース51とを接続したので、P/S変換器30とS/P変換器40とを省略し、実施の形態1〜4に比べてシステム構成を簡略化することができる。
【産業上の利用可能性】
【0078】
この発明は、計測データの伝送に限らず、各種データの伝送および処理に利用可能である。
【符号の説明】
【0079】
10 計測器(変換手段)
20 コード変換装置(第1の処理手段)
21 A/D変換器
22 処理部
23 コード出力インターフェース
30 P/S変換器(第1の処理手段)
40 S/P変換器(第2の処理手段)
50 制御装置(第2の処理手段)
51 コード入力インターフェース
52 処理部
【技術分野】
【0001】
この発明は、データを2進数に変換して伝送するデータ変換システムおよびデータ変換方法に関する。
【背景技術】
【0002】
2進数に変換されたデータはコンピュータ処理や伝送に利用されている。例えば、電力会社では、電圧、電流、電力量、ダムや河川の水位、雨量などの計測データは、現地に設置されているセンサーから、アナログデータをデータ変換装置で2進数のデータに変換され、現地の制御装置や電力設備を運用、監視している制御所などに伝送される。これらの計測データは、計測装置やコンピュータの表示装置等の既設装置に出力され、担当者によってデータの確認やデータを加工して記録や電力設備の制御などが行われる。このとき、担当者による視認を容易にするために、図22に示すように、4ビットで形成される16通りの2進符号から、10進数の値「0」〜「9」までの10個を用いて、10進数の1桁を表す符号である2進化10進コード(BCD:Binary Coded Decimal)が利用されている。図22では、2桁の10進数を表す場合を示している。
【0003】
こうしたBCDコードを用いて計測データを伝送する場合、例えば図23に示すデータ変換システムでは、計測器110が電圧、電流、電力量、ダムや河川の水位、雨量などを測定し、アナログの計測データをBCD変換装置120に出力する。BCD変換装置120は、アナログの計測データをBCDコードの計測データに変換し、変換したデータを制御装置130に伝送する。制御装置130は、受け取った計測データを基に、電圧、電流、電力量、ダムや河川の水位、雨量などを監視すると共に計測データの表示および計測データを利用した制御や記録の加工等を行う。例えば、河川の水位を監視する場合、制御装置130は、受け取った計測データで河川の水位を監視し、河川の水位の変化を表示等で出力する。
【0004】
BCD変換装置120のA/D(アナログ/ディジタル)変換器121は、計測器110から計測データを受け取ると、図24に示すように、アナログデータを2進数のディジタルの計測データに変換する。この後、BCD変換装置120のCPU(Central Processing Unit)122は、2進数の計測データを、BCDコードの計測データに変換する。そして、BCD変換装置120のBCD出力インターフェース(IF)123が、BCDコードの計測データを制御装置130に出力する。制御装置130のBCD入力インターフェース(IF)131は、BCDコードの計測データを受け取ると、このデータを処理部132に送る。処理部132は、受け取った計測データを基に、例えば河川の水位を監視すると共に河川の水位計測データを表示したり、計測データを利用した制御や記録の加工をする。
【0005】
こうしたシステムでは、4ビットのデータと共にデータ確認信号がBCD変換装置120から制御装置130に伝送される。データ確認信号は、BCDコードのデータが読み取り可能である、という通知を送るための信号である。計測データの各ビットは2つの状態、つまり論理値「0」または論理値「1」になり、4ビットで10進数の1桁の数値が形成される。このとき、1つのビットが論理値「1」または論理値「1」に変わって安定するまでに、時間幅がある。そして、各ビットの論理値が安定したときに、BCD変換装置120は制御装置130にデータ確認信号を伝送する。
【0006】
ところで、例えば水位の計測データが10進数で値「7」から値「8」に変化する場合がある。この場合には、BCDコードの4ビットの値が「0111」から「1000」に変化するので、すべてのビットの論理値が変化することになる。このために、BCD変換装置120からデータ確認信号が出力されるまでの時間が長くなり、制御装置130によるデータの読み取りが遅くなる。また、計測データが10進数で値「7」と値「8」との間を変化する場合には、データ確認信号の出力がさらに遅れる。データ確認信号の遅れが一定時間を過ぎると、制御装置130の処理部132は、計測不能と判定し、計測不能のメッセージを出力する。
【0007】
こうした事態に対応するために、グレイコード(Gray code)を利用することが考えられる(例えば、特許文献1参照。)。グレイコードは、図25に示すように、隣接する数値の変化が1ビットになるように設定された符号である。このために、グレイコードを用いれば、例えば計測データが10進数で値「7」と値「8」との間を変化する場合でも、データ確認信号の出力が遅れることを防ぐと予想される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2007−88677号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、従来のデータ変換システムに対して単にグレイコードを適用すると、次のような課題が発生する。グレイコードでは、10進数の値「0」が「0000」のビット列になる。このために、制御装置130側では、BCD変換装置120に電源断等の故障が発生してグレイコードが「0000」になっているのか、または、正常値の「0000」であるかの判別ができない。また、グレイコードは16進法であるので、10進法でデータを処理するデータ変換システムに対しては、10進数の値「9」から「0」へ変化する場合、グレイコード「1101」から「0000」へ変位するため、3ヶ所のビットが変位し、他の値の変化に比べると誤差確率が多くなると共に確認時間も伸びるため、グレイコードに変換するための手法を単に適用することはできない。さらに、グレイコードでは、10進数の値「10」を「1111」で表している。一方、電子回路内の素子が破損した場合には、電子回路内の素子が導通状態もしくは断線状態になる場合が多く、ゲート出力においては「0000」または「1111」でデータ伝送されることが多い。10進化循環コードによるデータ変換システムでは、「1111」は、正常値の「1111」か、故障による「1111」であるか区別できないため、使用不可の符号としている。ところが、10進数の値「10」に対応するグレイコードは「1111」であるので、従来のデータ変換システムにグレイコードを単に用いると、10進数の値によっては制御装置130でデータの読み取りが不可の状態になる。
【0010】
この発明の目的は、前記の課題を解決し、データの確実な読み取りを可能にし、また異常なデータの判別を可能にするデータ変換システムおよびデータ変換方法を提供することにある。
【課題を解決するための手段】
【0011】
前記の課題を解決するために、請求項1の発明は、10進数で表された数値のデータを、ディジタルのデータに変換する変換手段と、前記変換手段が変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表す第1の処理手段と、前記第1の処理手段から送られた、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する第2の処理手段と、を備えることを特徴とするデータ変換システムである。
【0012】
請求項1の発明は、変換手段のデータを、第1の処理手段から第2の処理手段に送るシステムである。このために、変換手段は、10進数で表された数値のデータを、ディジタルのデータに変換する。第1の処理手段は、変換手段が変換したディジタルのデータが表す数値の各桁を所定コードで表す。このとき、変換手段が変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すためのコードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にしたコードが所定コードとして用いられる。さらに、この所定コードは、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にしている。一方、第2の処理手段は、第1の処理手段から送られた、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する。
【0013】
請求項2の発明は、請求項1に記載のデータ変換システムにおいて、前記第1の処理手段は、所定コードによりデータを変換するときに、すべてのビット列を2つの論理値で形成する、ことを特徴とする。
【0014】
請求項3の発明は、請求項1または2に記載のデータ変換システムにおいて、前記第1の処理手段が用いる所定コードは、前記第2の処理手段が受け取ったデータをBCDコードに変換する際に、隣り合うビット列のビットが変化する数を最小にするように設定されている、ことを特徴とする。
【0015】
請求項4の発明は、請求項1〜3のいずれか1項に記載のデータ変換システムにおいて、前記第2の処理手段は、所定コードで表されたディジタルの数値を受け取ると、この所定コードのデータをBCDコードに変換する変換器と、前記変換器からのBCDコードのデータを処理する制御装置と、を備えることを特徴とする。
【0016】
請求項5の発明は、10進数で表された数値のデータを、ディジタルのデータに変換し、変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表し、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する、ことを特徴とするデータ変換方法である。
【発明の効果】
【0017】
請求項1および請求項5の発明によれば、10進数で表された数値のデータを送るときに、所定コードでデータを表して、ビット列のビットの変化を一定値にするので、データを送るために要する時間を短くかつ一定にし、第2の処理手段によるデータの読み取り精度を向上させることができる。
【0018】
請求項2の発明によれば、論理値「0」が連続するビット列のデータが含まれないので、第2の処理手段は装置停止時や故障時などに発生するデータと区別することを可能にする。また、システムで論理値「1」の連続するビット列のデータを使用不可としている場合でも、第1の処理手段から送られるデータには論理値「1」が連続するビット列のデータが含まれないので、データの受け取りを確実に行うことを可能にする。
【0019】
請求項3の発明によれば、前記第2の処理手段が受け取ったデータをBCDコードに変換する際に、ビット列のビットが変化する数を最小にするように、所定コードが設定されているので、第2の処理手段による変換作業の負担を軽減することができる。
【0020】
請求項4の発明によれば、制御装置はBCDコードの数値を処理するので、制御装置として既設の装置を使用することを可能にする。
【図面の簡単な説明】
【0021】
【図1】この発明の実施の形態1によるデータ変換システムを示す構成図である。
【図2】図1のデータ変換システムが適用された計測システムを説明する図であり、図2(a)はシステムを示す構成図、図2(b)は水位を電気信号に変換する様子を示す図である。
【図3】データ変換を説明する図である。
【図4】10進化循環コードによる変換の様子を示す図である。
【図5】10進化循環コードの設定について説明する図である。
【図6】10進化循環コードの設定について説明する図である。
【図7】10進化循環コードの設定について説明する図である。
【図8】10進化循環コードによる変換の様子を示す図である。
【図9】この発明の実施の形態1によるCPUが機能として持つ変換回路の一例を示す回路図である。
【図10】10進化循環コードからBCDコードに変換する様子を示す図である。
【図11】処理部が機能として持つ変換回路の一例を示す回路図である。
【図12】この発明の実施の形態2によるデータ変換システムを示す構成図である。
【図13】この発明の実施の形態2による処理部が機能として持つ変換回路の一例を示す回路図である。
【図14】この発明の実施の形態3によるデータ変換システムを示す構成図である。
【図15】バッファのビット割り付けを示す図である。
【図16】この発明の実施の形態3による処理部が機能として持つ変換回路の一例を示す回路図である。
【図17】この発明の実施の形態4によるデータ変換システムを示す構成図である。
【図18】カウンタのビット割り付けを示す図である。
【図19】この発明の実施の形態4による処理部が機能として持つ変換回路の一例を示す回路図である。
【図20】この発明の実施の形態5によるデータ変換システムを示す構成図である。
【図21】この発明の実施の形態6によるデータ変換システムを示す構成図である。
【図22】BCDコードを説明する図である。
【図23】従来のデータ変換システムを示す構成図である。
【図24】データの変換を説明する図である。
【図25】グレイコードを説明する図である。
【発明を実施するための形態】
【0022】
次に、この発明の実施の形態について、図面を用いて詳しく説明する。以下の実施の形態では、電力会社で用いられている電圧、電流、電力量、ダムや河川の水位、雨量などの計測データとして、ダムや河川の水位を扱う場合を例として説明する。
【0023】
(実施の形態1)
この実施の形態によるデータ変換システムを図1に示す。図1のデータ変換システムは、計測器10、コード変換装置20、P/S(パラレル/シリアル)変換器30、S/P(シリアル/パラレル)変換器40および制御装置50を備えている。計測器10とコード変換装置20とP/S変換器30とは、電力会社の水力発電所等に設置されている装置であり、データを送る側の装置である。S/P変換器40と制御装置50とは、制御所に設置されている装置であり、データを受ける側の装置である。送り側装置と受け側装置とは、伝送線路Wによって接続されている。
【0024】
この実施の形態によるデータ変換システムが適用された計測システムを図2(a)に示す。図2(a)の計測システムは、ダムや河川の水位WLを計測するものであり、水位計MLのフロートFLが水位WLの変動で上下すると、電源Vと抵抗体Rから成る検出器が、水位WLの上下を電気に変換する。この計測システムの計測器10は、水位WLを常時または定期的に測定し、図2(b)に示すように電気信号(電流または電圧)に変換して、アナログの計測データをコード変換装置20に送る。コード変換装置20は、アナログの計測データを計測器10から受け取ると、図3に示すようにこの計測データを所定の10進化コードに変換して、予め設定していた変換定数を乗じて計測値(水位)に変換し、P/S変換器30に送る。コード変換装置20は、A/D変換器21と処理部22とコード出力インターフェース(IF)23とを備えている。
【0025】
A/D変換器21は、計測器から送られてきた、計測データの値に応じた電気信号(アナログデータ)をディジタルデータに変換する変換器である。A/D変換器21は、アナログデータをディジタルデータに変換して、計測データとして処理部22に送る。
【0026】
処理部22は、CPU(Central Processing Unit)やROM(Read Only Memory)などから成り、A/D変換器21から計測データ、つまり、アナログデータをディジタルデータに変換した信号を受け取ると、予め設定していた変換定数を乗じて元の計測値(水位)にディジタルデータとして変換し、その計測値を所定の10進化コード(以下、「10進化循環コード」という)に変換する。10進化循環コードは、図4に示すように、各数値が4桁のX0ビット〜X3ビットのデータで表されている。つまり、4桁のビット列が1つの数値に対応している。例えば10進数「0」には、4桁のビット列「1001」が対応している。また、10進化循環コードでは、隣り合うビット列について、論理値「1」から論理値「0」、または、論理値「0」から論理値「1」に変位するビット数(以下、「変位数」という)が、最小の1になっている。なお、10進化循環コードが4ビット構成であるので、最大の可能変位数は4であるが、全て変位数が1となるようコードの順番を構成している。BCD変換コードでは、10進数で値「7」から値「8」に変化する場合、4ビットの値が「0111」から「1000」と全ビット変化するので最大の変位数は4である。
【0027】
ここで、10進化循環コードの設定についてカルノー図法を用いて説明する。10進化循環コードは4ビットから構成されているが、図5に示すように、上位2ビット(X3X2)と下位2ビット(X1X0)の論理変数を縦軸と横軸にとり、4×4の16セルをつくる。セルaは、ビット表示では「1010」を表し、セルgでは「1101」を表す。
【0028】
2進化10進コード(BCD)では、「1010」、「1011」、「1100」、「1101」、「1111」は使用禁止である。図6では、セルa、セルb、セルd、セルc、セルe、セルfを使用しない。10進数「0」から「1」へ変化する場合、BCDでは「0000」から「0001」へ変化するが、図6では、セルpからセルoへ移動することになる。これは、隣のセルへ1回移動するだけであるので、移動距離「1」すなわちハミング距離「1」となる。よって、10進数「7」から「8」への変化は、セルjからセルdへ移動するため、4セル移動することになる。すなわち、ハミング距離は「4」ということになる。
【0029】
10進化循環コードでは、「0000」と「1111」を使用禁止としているため、図7に示すセルfとセルpは使用しない。残りの14セルのうち10セルを使用して10進化循環コードを設定する。この10セルが1セルずつ移動して10回目には出発点へ戻るルートを設定することになる。この移動において、セルaからセルm、セルhからセルeなども1セル移動すなわちハミング距離「1」である。
【0030】
10進化循環コードの設定では、例えば、
セルa→セルb→セルc→セルd→セルh→セルl→セルk→セルj→
セルi→セルe→セルa
でも、
セルc→セルd→セルa→セルe→セルi→セルg→セルk→セルo→
セルn→セルb→セルc
でもよい。
【0031】
BCDでは、10進数「0」が「0000」と定義づけられているが、10進化循環コードでは、設定されたルートの何処からでも10進数「0」を提起してもよいし、また、定義されたルートの逆すなわち
セルa→セルb→セルc→セルd→セルh→セルl→セルk→セルj→
セルi→セルe→セルa
であれば、
セルa→セルe→セルi→セルj→セルk→セルl→セルh→セルd→
セルc→セルb→セルa
でも定義づけられる。したがって、後述する図11や図13などのロジック回路も違ってくるという特長を持つ。
【0032】
10進化循環コードにおいて、例えば隣り合うビット列が、10進数「0」に対応する「1001」であり、10進数「1」に対応する「0001」である場合、図8の破線の楕円で示すように、X3ビットが論理値「1」から論理値「0」に変位しているだけである。他の隣接するビット列についても同様である。特に、隣り合うビット列が、10進数「9」に対応する「1000」と、10進数「0」に対応する「1001」の場合も同様であり、X0ビットが論理値「0」から論理値「1」に変位しているだけである。この結果、10進化循環コードでは、隣接するビット列の変位数はそれぞれ1であり、最小になっている。かつ、10進数「9」と10進数「0」でも同様であるので、10進化循環コードは循環コードである。
【0033】
さらに、10進化循環コードの4桁のX0ビット〜X3ビットには、「0000」や「1111」のように、論理値「0」や論理値「1」の連続でビット列を形成しない。つまり、コード変換装置20に電源断等の故障が発生して、ビット列が「0000」になると、コード変換装置20に発生した故障の判別を可能にしている。また、電子回路内の素子が破損した場合には、電子回路内の素子が導通状態もしくは断線状態になることがある。すなわち、ディジタル出力としては、「0000」もしくは「1111」が出力することになる。したがって、本システムでは「0000」もしくは「1111」を含めていない。
【0034】
処理部22は、A/D変換器21からの計測データを10進化循環コードに変換するために、図9に示す変換回路と同等の機能を備えている。図9の変換回路は、論理和の演算をするオアゲートE0〜E3を備えている。各ゲートの接続は図示の通りである。こうした変換回路は図4の真理値表と論理関数とを用いた手法などにより実現可能であり、また、各種の回路がある。
【0035】
この変換回路において、例えば、10進数「7」の計測データ、つまり、A/D変換器21から、計測データの10進数「7」に対応して、処理部22の変換回路は論理値「0100」を出力する。このほかの計測データについても、同様の演算を行い、変換回路は、X3ビット〜X0ビットから成る10進化循環コード(図4)に計測データを変換する。
【0036】
処理部22は、計測データを10進化循環コードに変換すると、変換した計測データを、コード出力インターフェース23を経てP/S変換器30に送る。また、10進化循環コードの論理値の変化が安定したときに、処理部22は、データ確認信号をP/S変換器30に送る。このとき、10進化循環コードにおいて、論理値の変位数は1であるので、処理部22は短時間でデータ確認信号を制御所に送る。P/S変換器30は、10進化循環コードに変換された計測データがパラレルのデータであるので、このデータをシリアルに変換し、データ確認信号と共に伝送線路Wに送る。
【0037】
制御所では、伝送線路Wを経てS/P変換器40がシリアルの計測データを受け取ると、このデータをパラレルの計測データに変換する。そして、S/P変換器40は、パラレルの計測データを、制御装置50に送る。
【0038】
制御装置50は、コード変換装置20からデータ確認信号を受け取ると、10進化循環コードに変換された計測データをBCDコードに変換し、計測データを基にして各種の処理を行う。このために、制御装置50は、コード入力インターフェース(IF)51と処理部52とを備えている。処理部52は、コード入力インターフェース51を経て、10進化循環コードに変換された計測データを受け取ると、この計測データをBCDコードに変換する。つまり、処理部52は、図10に示すようなコード変換を行う。このとき、10進化循環コードからBCDコードに変換する際に発生するビットの変位数が最小となるように、10進化循環コードが設定されている。つまり、
a.隣り合うビット列の変位数が1になる
b.論理値「0」や論理値「1」の連続でビット列を形成しない
c.10進化循環コードからBCDコードに変換する際のビットの変位数を最小にする
という条件で、10進化循環コードが形成されている。
【0039】
こうした10進化循環コードをBCDコードに変換するために、処理部52は、図11に示す変換回路と同等の機能を備えている。図11の変換回路は、ノットゲートH0〜H3と、アンドゲートJ1〜J8と、オアゲートK1〜K3と、アンドゲートL1とを備えている。各ゲートの接続は図示の通りである。
【0040】
例えば、10進数「7」に相当する、10進化循環コードの「0100」を変換回路がコード変換装置20から受け取ると、変換回路のノットゲートH0〜H3は、X0ビット〜X3ビットを否定する演算を行う。そして、ノットゲートH0は演算結果をアンドゲートJ2、J4に出力し、ノットゲートH1は演算結果をアンドゲートJ3、J4、J6に出力する。ノットゲートH2は演算結果をアンドゲートJ2、J3、J5に出力し、ノットゲートH3は演算結果をアンドゲートJ6、J7、L1に出力する。
【0041】
アンドゲートJ1は、10進化循環コードのX0ビットである論理値「0」と、X1ビットである論理値「0」と、X2ビットである論理値「1」とにより、論理値「0」を出力する。アンドゲートJ2は、ノットゲートH0が出力する論理値「1」と、ノットゲートH2が出力する論理値「0」とにより論理値「0」を出力する。アンドゲートJ3は、ノットゲートH1が出力する論理値「1」と、ノットゲートH2が出力する論理値「0」とにより、論理値「0」を出力する。アンドゲートJ4は、ノットゲートH0が出力する論理値「1」と、ノットゲートH1が出力する論理値「1」とにより、論理値「1」を出力する。オアゲートK2は、アンドゲートJ3が出力する論理値「0」と、アンドゲートJ4が出力する論理値「1」とにより、論理値「1」を出力する。アンドゲートL1は、ノットゲートH3が出力する論理値「1」と、オアゲートK2が出力する論理値「1」とにより、論理値「1」を出力する。オアゲートK1は、アンドゲートJ1が出力する論理値「0」と、アンドゲートJ2が出力する論理値「0」と、アンドゲートL1が出力する論理値「1」とにより、論理値「1」を出力する。この値がBCDコードのD0ビットとなる。
【0042】
アンドゲートJ5は、X1ビットである論理値「0」と、ノットゲートH2が出力する論理値「0」とにより論理値「0」を出力する。アンドゲートJ6は、10進化循環コードのX2ビットである論理値「1」と、ノットゲートH1が出力する論理値「1」と、ノットゲートH3が出力する論理値「1」とにより、論理値「1」を出力する。オアゲートK3は、アンドゲートJ5が出力する論理値「0」と、アンドゲートJ6が出力する論理値「1」とにより、論理値「1」を出力する。この値がBCDコードのD1ビットとなる。
【0043】
アンドゲートJ7は、10進化循環コードのX2ビットである論理値「1」と、ノットゲートH3が出力する論理値「1」とにより、論理値「1」を出力する。この値がBCDコードのD2ビットとなる。
【0044】
アンドゲートJ8は、10進化循環コードのX3ビットである論理値「0」と、アンドゲートJ4が出力する論理値「1」とにより、論理値「0」を出力する。この値がBCDコードのD3ビットとなる。
【0045】
このように、処理部52は、10進化循環コードをBCDコードに変換する。この後、処理部52は、BCDコードに変換された計測データを基にして、各種の処理を行う。例えば、水位が設定値を超えると、処理部52は急激な水位の変化が発生していることを、表示等により出力する。また、処理部52は、コード変換装置20からビット列「0000」や「1111」の計測データを受け取ると、この計測データが10進化循環コードに含まれないので、コード変換装置20の異常と判別する。そして、この判別結果を出力する。
【0046】
次に、この実施の形態によるデータ変換システムを利用したデータ変換方法について説明する。水力発電所等に設置されている計測器10は水位を測定し、アナログの計測データをコード変換装置20に送る。コード変換装置20は、計測データを受け取ると、アナログの計測データをカウンタ信号に変換し、さらに、カウンタ信号である計測データを10進化循環コードに変換する。また、コード変換装置20は、10進化循環コードの論理値「1」、「0」が安定したときに、データ確認信号を制御所に送る。このときに、10進化循環コードの隣り合うビット列の変位数はそれぞれ1であるので、コード変換装置20は短時間でデータ確認信号を制御所に送ることができる。
【0047】
制御所の制御装置50は、P/S変換器30およびS/P変換器40を経て、コード変換装置20からデータ確認信号を受け取ると、10進化循環コードに変換された計測データをBCDコードに変換し、計測データを基にして各種の処理を行う。また、制御装置50は、コード変換装置20からビット列「0000」や「1111」の計測データを受け取ると、発電所側のコード変換装置20、P/S変換器30、S/P変換器40、伝送線路Wのいずれかの異常と判別し、判別結果を出力する。
【0048】
こうして、この実施の形態により、計測器10の計測データを、10進化循環コードを利用して制御装置50に送ることができる。このとき、計測データが値「7」と値「8」との間で変化した場合に、BCDコードを利用した従来のシステムでは、値「7」に対応するビット列「0111」と、値「8」に対応するビット列「1000」との間で4ビットが変化するため、データ確認信号の出力が遅れるが、この実施の形態では、10進化循環コードの隣り合うビット列の変位数がそれぞれ1であるので、データ確認信号の出力が遅れることはなく常に安定して出力される。これにより、制御装置50による読み取り不可などの状態を回避し、誤差を少なくして確実に計測データを伝送することができる。
【0049】
また、10進化循環コードに変換された計測データには、ビット列「0000」や「1111」が含まれないので、発電所側のコード変換装置20からビット列「0000」や「1111」を受け取ると、制御所側の制御装置50は発電所側のコード変換装置20に装置の停電やシステム故障および電子回路、素子の破損が発生したか、P/S変換器30、S/P変換器40、伝送線路Wの異常と判別することが可能である。
【0050】
また、計測データを送るために、従来のようにグレイコードを使用した場合、グレイコードには「1111」が含まれているので、制御装置50は、このグレイコードを受け取ると、処理不可の状態になる。しかし、この実施の形態では、10進化循環コードが論理値「1」の連続でビット列を形成しないので、制御所側の制御装置50が処理不可の状態になることを回避することができる。
【0051】
さらに、10進化循環コードからBCDコードに変換する際のビットの変位数を最小にしているので、10進化循環コードからBCDコードに変換する処理部52の負担を軽減することができる。
【0052】
なお、この実施の形態では、10進化循環コードとして、ビットの変位数が1である場合について説明したが、ビットの変位数が2または3であってもよい。この場合には、データ確認信号の出力は遅れるが、ビット列のすべてのビットが変位することを防ぐことができる。
【0053】
(実施の形態2)
次に、電力量計などに使用されるパルス信号によるデータ交換システムについて説明する。このシステムを図12に示す。なお、この実施の形態では、先に説明した実施の形態1と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態によるデータ変換システムでは、計測器10は、電力量計などの計測部11と、パルス信号を発生するパルス発信器12とから成り、計測器10内のパルス発信器12からコード変換装置20へパルス信号を送る形態をしている。
【0054】
計測器10は、電力量が一定数量を超過すると電気信号(電流または電圧)を1パルスに変換してアナログの計測データをコード変換装置20に送る。コード変換装置20は、アナログの1パルスのデータを計測器10から受け取ると、P/S変換器30に送る。
【0055】
コード変換装置20のA/D変換器21は、計測器10から送られてきた、電気信号(アナログパルスデータ)をディジタルデータに変換する変換器である。A/D変換器21は、アナログパルスデータをディジタルパルスデータに変換して、1パルスの計測データとして処理部22に送る。
【0056】
処理部22は、A/D変換器21からパルスデータを受け取ると、処理部22内にあるカウンタに1カウントアップし、そのカウンタ値を10進化循環コードに変換する。このために、処理部22は図13に示す変換回路と同等の機能を備えている。
【0057】
図13の変換回路は、論理積の演算をするアンドゲートN1〜N6と、論理和の演算をするオアゲートO1〜O3と、フリップフロップM0〜M3とを備えている。各ゲートの接続は図示の通りである。
【0058】
この変換回路において、例えば、現在のカウンタ値が、10進数「6」から1パルス入力されてカウンタ値が「7」にカウントアップされた場合の回路について説明する。10進数「6」に相当する10進化循環コードの「0101」がカウンタに表示されているとする。計測器10から1パルスが送られてくると、A/D変換器21から出力されたディジタルパルスデータから、変換回路のフリップフロップM0〜M3の各CL入力にパルス入力される。各Dゲート入力値は各Gゲート出力に値を書き換える演算を行い、各否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)はDゲート入力値を否定した値を書き換える演算を行う。そして、フリップフロップM0のGゲート出力は、論理値「0」をカウンタのX0ビットの値として出力する。また、否定Gゲート出力は、アンドゲートN1、N4およびオアゲートO1に論理値「1」を出力する。フリップフロップM1のGゲート出力は、アンドゲートN4、N5およびカウンタのX1に論理値「0」を出力する。また、否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)は、アンドゲートN1、N6に論理値「1」を出力する。フリップフロップM2のGゲート出力は、アンドゲートN5、オアゲートO1およびカウンタのX2に論理値「1」を出力する。また、否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)は、アンドゲートN3、N6に論理値「0」を出力する。フリップフロップM3のGゲート出力は、カウンタのX3に論理値「0」を出力する。また、否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)は、アンドゲートN2、N3に論理値「1」を出力する。アンドゲートN1は、フリップフロップM0の否定Gゲート出力が出力する論理値「1」と、フリップフロップM1の否定Gゲート出力が出力する論理値「1」とにより、フリップフロップM3のDゲート入力に、論理値「1」を出力する。この値が次にCLゲート入力にパルス入力されたときに、カウンタのX3に書き変わる事前設定値となる。オアゲートO1は、フリップフロップM0の否定Gゲート出力が出力する論理値「1」と、フリップフロップM2のGゲート出力が出力する論理値「1」とにより、アンドゲートN2に論理値「1」を出力する。アンドゲートN2は、フリップフロップM3の否定Gゲート出力が出力する論理値「1」と、オアゲートO1が出力する論理値「1」とにより、フリップフロップM2のDゲート入力に、論理値「1」を出力する。この値が次にCLゲート入力にパルス入力されたときに、カウンタのX2に書き変わる事前設定値となる。アンドゲートN3は、フリップフロップM3の否定Gゲート出力が出力する論理値「1」と、フリップフロップM2の否定Gゲート出力が出力する論理値「0」とにより、オアゲートO2に、論理値「0」を出力する。アンドゲートN4は、フリップフロップM0の否定Gゲート出力が出力する論理値「1」と、フリップフロップM1のGゲート出力が出力する論理値「0」とにより、オアゲートO2に、論理値「0」を出力する。オアゲートO2は、アンドゲートN3が出力する論理値「0」と、アンドゲートN4が出力する論理値「0」とにより、フリップフロップM1のDゲート入力に、論理値「0」を出力する。この値が次にCLゲート入力にパルス入力されたときに、カウンタのX1に書き変わる事前設定値となる。アンドゲートN5は、フリップフロップM2のGゲート出力が出力する論理値「1」と、フリップフロップM1のGゲート出力が出力する論理値「0」とにより、オアゲートO3に、論理値「0」を出力する。アンドゲートN6は、フリップフロップM2の否定Gゲート出力が出力する論理値「0」と、フリップフロップM1の否定Gゲート出力が出力する論理値「1」とにより、オアゲートO3に、論理値「0」を出力する。オアゲートO3は、アンドゲートN5が出力する論理値「0」と、アンドゲートN6が出力する論理値「0」とにより、フリップフロップM0のDゲート入力に、論理値「0」を出力する。この値が次にCLゲート入力にパルス入力されたときに、カウンタのX0に書き変わる事前設定値となる。
【0059】
以下の処理は実施の形態1と同一であるので省略する。
【0060】
(実施の形態3)
次に、計測されたデータを直接データ信号とするデータ交換システムについて説明する。このシステムを図14に示す。なお、この実施の形態では、先に説明した実施の形態1と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態によるデータ変換システムは、計測器10内のバッファ13からコード変換装置20へパルス信号を送る形態をしている。
【0061】
A/D変換器21は、計測データの値に応じたパルス列を生成するバッファである。アナログの計測データが例えば値「0」〜値「9」までの範囲にある場合、A/D変換器21は10ビットのバッファで構成され、各ビットは、図15に示すように割り付けられている。つまり、計測データがデータ値「0」である場合、A/D変換器21の各ビットは、0ビットが論理値「1」である「0000000001」が各バッファに割り当てられる。そして、計測データが値「9」である場合、A/D変換器21は9ビット〜0ビットまですべて論理値「1」である「1111111111」が各バッファに割り当てられる。この実施の形態では、ビットの論理値「1」が「計測データあり」の状態であり、論理値「0」が「計測データなし」の状態である。A/D変換器21は、生成したバッファの値を、計測データとして処理部22に送る。
【0062】
処理部22は、CPUやROMなどから成り、A/D変換器21から計測データつまり10ビットのバッファ信号を受け取ると、この計測データを所定の10進化循環コードに変換する。処理部22は、A/D変換器21からの、10ビットから成る計測データを10進化循環コードに変換するために、図16に示す変換回路と同等の機能を備えている。図16の変換回路は、論理積の演算をするアンドゲートA1〜A5、B1〜B4、D1〜D9と、否定の演算をするノットゲートC1〜C9と、論理和の演算をするオアゲートE1〜E4とを備えている。各ゲートの接続は図示の通りである。
【0063】
例えば、10進数「7」の計測データ、つまり、A/D変換器21から「0011111111」の計測データを変換回路が受け取ると、変換回路のアンドゲートA5が論理値「1」を出力する。この出力とA/D変換器21が出力した論理値「1」とにより、アンドゲートB4が論理値「1」を出力する。同じようにして、アンドゲートA4、B3、A3、B2、A2が論理値「1」を出力する。また、アンドゲートA1は、A/D変換器21が出力した論理値「0」と、アンドゲートA2が出力した論理値「1」とにより、論理値「0」を出力する。同じようにして、アンドゲートB1は論理値「0」を出力する。ノットゲートC1〜C9は、アンドゲートA1〜A5、アンドゲートB1〜B4の出力を否定する演算を行い、演算結果をアンドゲートD1〜D9に出力する。アンドゲートD9は、A/D変換器21が出力する論理値「1」と、ナンドゲートC9が出力する論理値「0」とにより、論理値「0」を出力する。また、アンドゲートD8は、アンドゲートA5が出力する論理値「1」と、ノットゲートC8が出力する論理値「0」とにより、論理値「0」を出力する。同じようにして、アンドゲートD1、D3〜D7は論理値「0」を出力する。一方、アンドゲートD2は、アンドゲートA2が出力する論理値「1」と、ノットゲートC2が出力する論理値「1」とにより、論理値「1」を出力する。
【0064】
この結果、アンドゲートA1〜A5、B1〜B4、D1〜D9およびノットゲートC1〜C9からなる回路は、計測データとして論理値「0010000000」を出力する。
【0065】
オアゲートE1は、アンドゲートB1、D1、D9の出力を基にして、論理値「0」を出力し、オアゲートE2は、アンドゲートD1〜D5の出力を基にして、論理値「1」を出力する。オアゲートE3は、アンドゲートD4〜D7の出力を基にして、論理値「0」を出力し、オアゲートE4は、アンドゲートD1、D3、D4、D7〜D9の出力を基にして、論理値「0」を出力する。
【0066】
こうして、計測データの10進数「7」に対応するバッファデータ「0011111111」に対して、処理部22の変換回路は論理値「0100」を出力する。このほかの計測データについても、同様の演算を行い、変換回路は、X3ビット〜X0ビットから成る10進化循環コード(図4)に計測データを変換する。
【0067】
以下の処理は実施の形態1と同一であるので省略する。
【0068】
(実施の形態4)
次に、雨量計などに使用されるパルスデータをカウンタで10進数変換するデータ交換システムについて説明する。このシステムを図17に示す。なお、この実施の形態では、先に説明した実施の形態1と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態によるデータ変換システムは、計測器10内のカウンタ14からコード変換装置20へパルス信号を送る形態をしている。
【0069】
A/D変換器21は、計測データの値に応じたパルス列を生成するカウンタである。アナログの計測データが例えば値「0」〜値「9」までの範囲にある場合、A/D変換器21は10ビットのカウンタで構成され、各ビットは、図18に示すように割り付けられている。つまり、計測データがデータ値「0」である場合、A/D変換器21の各ビットは、0ビットが論理値「1」である「0000000001」のカウンタ信号を生成する。計測データが値「7」である場合、A/D変換器21は「7」に該当するビットを論理値「1」として「0010000000」の各カウンタ信号を生成する。この実施の形態では、ビットの論理値「1」が計測データ値である。A/D変換器21は、生成したバッファの値を、計測データとして処理部22に送る。
【0070】
処理部22では、変換された10進数の値を10進化循環コードへ変換する。このために、処理部22は図19に示す変換回路と同等の機能を備えている。図19の変換回路は、実施の形態2の図13に示すフリップフロップM0〜M3と同様に動作するフリップフロップM0〜M9と、オアゲートE1〜E4とを備えている。各フリップフロップM0〜M9の接続は図示の通りである。実施の形態2では、フリップフロップM0〜M3のGゲート出力と各否定Gゲート出力(図中の符号「G」に否定のバーを付けて示す)とを用いたが、この実施の形態では、Gゲート出力のみを用いている。そして、各フリップフロップM0〜M9のGゲート出力を隣接のフリップフロップのDゲート入力値としている。さらに、各フリップフロップM0〜M9のGゲート出力を基にして、オアゲートE1〜E4が10進化循環コードの4桁のX0ビット〜X3ビットを出力する。
【0071】
これ以下の処理は、実施の形態3と同一であるので省略する。
【0072】
(実施の形態5)
この実施の形態によるデータ変換システムを図20に示す。なお、この実施の形態では、先に説明した実施の形態1〜4と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態では、制御装置50の代わりに、制御装置60が設置されている。さらに、S/P変換器40と制御装置60との間には、コンバータ70が設置されている。
【0073】
コンバータ70は、S/P変換器40から10進化循環コードの計測データを受け取ると、このデータをBCDコードに変換する。このために、コンバータ70は、先に示した図7と同じ変換回路を備えている。この変換回路により、コンバータ70は、先に示した図9と同様に、10進化循環コードをBCDコードに変換する。なお、変換回路は図7の他にも各種のものがある。例えば、CPUとROMとにより変換回路を構成してもよい。
【0074】
制御装置60は、図23の制御装置130と同様であり、既設の装置である。つまり、制御装置60は、BCD入力インターフェース(IF)61と、処理部62とを備えている。制御装置60のBCD入力インターフェース61は、コンバータ70からBCDコードの計測データを受け取ると、このデータを処理部62に送る。処理部62は、受け取った計測データを基に、例えば水位を監視すると共に計測データを表示する、などの処理を行う。
【0075】
この実施の形態によれば、実施の形態1〜4と同様の効果を達成することができる。さらに、この実施の形態により、制御所では、コンバータ70を設置するだけで、既設の制御装置60を用いることができ、装置の大幅な変更を不要にすることができる。
【0076】
(実施の形態6)
この実施の形態によるデータ変換システムを図21に示す。なお、この実施の形態では、先に説明した実施の形態1と同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。この実施の形態によるデータ変換システムは、実施の形態1〜4のP/S変換器30とS/P変換器40とを省略した構成であり、コード変換装置20のコード出力インターフェース23が制御装置50のコード入力インターフェース51に10進化循環コードを直接送る。このために、コード出力インターフェース23とコード入力インターフェース51とは、10進化循環コードのD0ビット〜D3ビットを伝送する伝送路でそれぞれ接続されている。
【0077】
この実施の形態により、実施の形態1〜4と同様の効果を達成することができる。さらに、この実施の形態により、コード変換装置20のコード出力インターフェース23と制御装置50のコード入力インターフェース51とを接続したので、P/S変換器30とS/P変換器40とを省略し、実施の形態1〜4に比べてシステム構成を簡略化することができる。
【産業上の利用可能性】
【0078】
この発明は、計測データの伝送に限らず、各種データの伝送および処理に利用可能である。
【符号の説明】
【0079】
10 計測器(変換手段)
20 コード変換装置(第1の処理手段)
21 A/D変換器
22 処理部
23 コード出力インターフェース
30 P/S変換器(第1の処理手段)
40 S/P変換器(第2の処理手段)
50 制御装置(第2の処理手段)
51 コード入力インターフェース
52 処理部
【特許請求の範囲】
【請求項1】
10進数で表された数値のデータを、ディジタルのデータに変換する変換手段と、
前記変換手段が変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表す第1の処理手段と、
前記第1の処理手段から送られた、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する第2の処理手段と、
を備えることを特徴とするデータ変換システム。
【請求項2】
前記第1の処理手段は、所定コードによりデータを変換するときに、すべてのビット列を2つの論理値で形成する、
ことを特徴とする請求項1に記載のデータ変換システム。
【請求項3】
前記第1の処理手段が用いる所定コードは、前記第2の処理手段が受け取ったデータをBCDコードに変換する際に、隣り合うビット列のビットが変化する数を最小にするように設定されている、
ことを特徴とする請求項1または2に記載のデータ変換システム。
【請求項4】
前記第2の処理手段は、
所定コードで表されたディジタルの数値を受け取ると、この所定コードのデータをBCDコードに変換する変換器と、
前記変換器からのBCDコードのデータを処理する制御装置と、
を備えることを特徴とする請求項1〜3のいずれか1項に記載のデータ変換システム。
【請求項5】
10進数で表された数値のデータを、ディジタルのデータに変換し、
変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表し、
所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する、
ことを特徴とするデータ変換方法。
【請求項1】
10進数で表された数値のデータを、ディジタルのデータに変換する変換手段と、
前記変換手段が変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表す第1の処理手段と、
前記第1の処理手段から送られた、所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する第2の処理手段と、
を備えることを特徴とするデータ変換システム。
【請求項2】
前記第1の処理手段は、所定コードによりデータを変換するときに、すべてのビット列を2つの論理値で形成する、
ことを特徴とする請求項1に記載のデータ変換システム。
【請求項3】
前記第1の処理手段が用いる所定コードは、前記第2の処理手段が受け取ったデータをBCDコードに変換する際に、隣り合うビット列のビットが変化する数を最小にするように設定されている、
ことを特徴とする請求項1または2に記載のデータ変換システム。
【請求項4】
前記第2の処理手段は、
所定コードで表されたディジタルの数値を受け取ると、この所定コードのデータをBCDコードに変換する変換器と、
前記変換器からのBCDコードのデータを処理する制御装置と、
を備えることを特徴とする請求項1〜3のいずれか1項に記載のデータ変換システム。
【請求項5】
10進数で表された数値のデータを、ディジタルのデータに変換し、
変換したディジタルのデータが表す数値の各桁を、所定数のビットから成るビット列で表すための所定コードであって、隣り合う数値に対応するビット列のビットの変化を、ビット列の数より少ない一定値にし、かつ、10進数の最後の数値から最初の数値に変わるときのビットの変化を一定値にした所定コードで表し、
所定コードで表されたディジタルの数値を受け取ると、この所定コードの数値のデータをBCDコードに変換して、BCDコードの数値を処理する、
ことを特徴とするデータ変換方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2011−10048(P2011−10048A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−151792(P2009−151792)
【出願日】平成21年6月26日(2009.6.26)
【出願人】(000211307)中国電力株式会社 (6,505)
【Fターム(参考)】
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願日】平成21年6月26日(2009.6.26)
【出願人】(000211307)中国電力株式会社 (6,505)
【Fターム(参考)】
[ Back to top ]