• ベストアンサー

8ビット電文出力とはどんな信号?

電子式水道メータの説明を見てみると、8ビット電文出力とパルス出力をだすように書いてありました。 パルス出力の方は、電圧オンとオフを繰り返したような波形を出しているだけだと思いますが、8ビット電文出力とは、どんな電気信号(波形?)なのでしょうか? また、8ビット電文出力をパルスに変換とか可能でしょうか? 電気のことは、詳しく分からないのであまり専門的になると分からないと思うので申し訳ありませんが分かりやすく説明していただけたらと思います。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#215107
noname#215107
回答No.1

私は全く水道メータのことは知りませんが、以下の文書を見つけました。 http://www.dnh-tech.com.tw/download/flow/TOYOKEIKI/TOYO-6.pdf#search='%E9%9B%BB%E5%AD%90%E5%BC%8F%E6%B0%B4%E9%81%93%E3%83%A1%E3%83%BC%E3%82%BF+8%E3%83%93%E3%83%83%E3%83%88%E9%9B%BB%E6%96%87%E5%87%BA%E5%8A%9B' この仕様によると・・・ 半二重 300bps 調歩同期 JIS7ビット 水平垂直パリティー 少し前(12,3年くらい前)のパソコンのRS-232C入力につないで(今のパソコンだとシリアル-USBインターフェイスを入れればOK)、上記のとおりターミナルソフトを設定しすれば、メッセージ文字列が読み取れますね。 7ビットなので、0~127のアスキーコードがシリアル通信で出力されるだけです。 オープンコレクタ出力なので、RS-232Cに対応した電圧へプルアップする回路を自作すればパソコンへ接続できます。 http://www.ele-lab.com/tips_rs232c.html ターミナルソフトは、WindowsXPまでならハイパーターミナルが使えます。Win7以降だと、Teratermなどのフリーソフトが使えます。 要するに数字やアルファベットの文字列をシリアルで吐き出す機能です。 >8ビット電文出力をパルスに変換とか可能でしょうか? もともとパルスで出力されています。これを文字に変換する機能が必要です。

hinoki24
質問者

補足

投稿を参考にさらに検索してみました。 電文とは、通信で送受信されるデータというような意味があるそうです。 8ビット電文出力なら、8ビット=8個の電圧信号を2進数として表し、それをさらに16進数のコード表に対応した数値なりアルファベット、またはカタカナに変換してパソコンなりに表示できるという理解でだいたいよいでしょうか? あと、リンク先とかで調べるとビットの通信だとスタートビットとストップビットが必要みたいなので、ビットの通信をパルスとしてカウントしようとしても、10パルスの入力に対して、ストートビットとストップビットに割り当てられてしまい、少なくとも2ビット分はカウントされず8パルスとカウントされてしますのでは?と思いましたがそのような理解でだいたい合ってますか? また、私も電子式水道メータは知らないのですが、流量をパルス信号として出力するというのは最も必要な所で何となくイメージできますが、8ビット電文出力とはどんな情報を何に基づいて出すのか見当つきますか? すいません、またよろしくお願いいたします。

その他の回答 (2)

noname#215107
noname#215107
回答No.3

>パリティチェック等も行うとなると、1、0、1,0・・・と規則正しくパルス状に信号を送ってもビット出力のものでは、スタート、ストップ、パリティテェック等で、少しずつどんどんずれてきそうですね。 どの程度理解されているのかが分かりませんが、これは自作のマイコン回路でも送受信できます。私も回路とプログラムを自作したことがあります。 受信する側は、スタートビットが0ボルトになった瞬間にタイマーをスタートします。 1/300秒後、2/300秒後、3/300秒後・・・と一定時間ごとに1回ずつ電圧を測定します。電圧が12Vだったら1とみなし、0Vだったら0とみなします。 スタートビットでタイミングを取っているので、タイミングがずれることはありません。1文字ずつ「せいのっ」でタイミングを合わせているのです。

noname#215107
noname#215107
回答No.2

No.1です。 >8ビット電文出力なら、8ビット=8個の電圧信号を2進数として表し、それをさらに16進数のコード表に対応した数値なりアルファベット、またはカタカナに変換してパソコンなりに表示できるという理解でだいたいよいでしょうか 仕様を見るとデータは7ビットで、パリティービットを入れて8ビットのようです。パリティーには偶数パリティーと奇数パリティーっがあって、データ本体の検算用のビットとなっています。 添付画像は偶数パリティの例です。 受信する側では、7ビット分受信したデータの1の個数とパリティーの値を足して、偶数になっていなかったら、受信エラーとみなします。簡易的ですが50%の確率で受信エラーが検出できます。

hinoki24
質問者

補足

パリティチェック等も行うとなると、1、0、1,0・・・と規則正しくパルス状に信号を送ってもビット出力のものでは、スタート、ストップ、パリティテェック等で、少しずつどんどんずれてきそうですね。 ビット出力といえども、1,0の信号なのだろうからパルス出力と変わらないのでは?と思いましたが、7(8)ビット単位のデータで扱うみたいののでビットのデータをパルスデータに変換というのは、なかなか大変そうですね。 よくは分からないけど、なんとなくはビット電文出力というのが分かりました。ありがとうございました。

関連するQ&A

専門家に質問してみよう