|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
三和電気計器株式会社のハンディタイプデジタルマルチメータPC20は,液晶ドライブ信号をそのままシリアル出力します. ほとんど同じ方式を持つマルチメータが,韓国のWENS 20シリーズです. WENS 20R, WENS 20T, WENS 20TRMSの3種類があり,WENDS 20Tは秋月電子通商で販売しています. いずれの機種にも対応できるようにします.
KB-RS1はRS232Cの出力ピンの電力で動作します. WENDS 20シリーズはどのようなインターフェースになっているかわかりませんが,KB−RS1と同じ設定で動作するようです. データはマルチメータから逐次送信する,いわばデータ垂れ流し方式です.
PC20,WENDS20シリーズはLCD表示器のセグメント情報を14バイトのバイナリデータで送信します. そのため,受信したデータをもとに,数値に変換しなければなりません. 下図はLCDの表示内容です. WENDS20は手元に無いのでマニュアルの画像を記載します.
各セグメントに名前をつけます.
送信データは14バイトで構成され,上位4ビットでデータ番号,下位4ビットで表示器のセグメント情報を示します. セグメント情報は点灯しているビットが1にセットされます. セグメントとビットの対応は次のようになります.
プログラムでは先頭の1バイトを受信するbyte1( )と,以降の13バイトを受信するbyte2( )のByte型動的配列を使用しています. (注2)14バイト目はPC20とWENDS20Tでは異なる内容になります. 機種情報かもしれませんが,定かではありません. (注3)現在設定されているファンクションは,12バイト目のbit2,3と13バイト目のbit1,2,3で区別できますが,WENDS20Tの温度ファンクションを示すビットはありません. WENDS20Tを温度ファンクションにしたときは,これらの全てのビットがゼロになることで判別できます. 1桁分のセグメント点灯パターンは2バイトのデータに分けられています. 2バイトを合成して固有の数値をつくり,それに対応する0から9までの数値に変換すれば,データの値が得られます. 次の式によってセグメント点灯パターンから固有の数値を作り出します. (第1バイト And &h7) * 16 + (第2バイト And &hF) ・・・ @ 注意しなければならないのは点灯パターンです.
PC-20の場合は赤い数字のパターンが使用されていますが,いずれにも対応したほうが汎用性が高まります. 式@で得られる値と表示数値の関係を表にすると次表のようになります. この表は,2種類のセグメントパターンに対応しています. ![]()
14バイトのバイナリパターンでは処理が極めて面倒なので,固定長の文字列に変換するための関数を準備します. この関数をコールすると,1ブロックのデータを受信してデータ文字列に変換して返します. 変換部分は三和電気計器が提供するdllの機能に相当しますが,互換性はありません. 変換後の文字列は13文字固定で,次の3個の部分から成ります.
<例> 直流電圧測定,-1.234V DCV-1.234E+00 静電容量測定,10μF CAP+1.000E+01
以下はPC20+KB−RS1の組み合わせを元にしています. WENDS20は手元に無いのでわかりません. 14バイトのブロックは隙間なく送信されますが,ブロック間はレンジや測定状態によって様々な時間間隔で送信されます. ただし,データホールド状態でも送信データが途切れることはありません. いくつかの条件で測定した結果は次のとおりです.
上記結果より,最小180mS,最大2.6秒間隔でデータが送られてくるものとします. つまり,その倍以上の6秒を経過してもデータが来なければ,接続されていないものと判断するとよいでしょう.
●文字列データ変換プログラムの解説は別ページに作成しました. EasyComm以外のツールで使用するときに参考になると思います. PC20用文字列変換プログラムの解説 ●PC20,WENDS20Tから送られてくるデータをワークシート上に展開してLCDの表示を再現するプログラムです. 調査用に作成しました. 操作中のデジカメ写真(あはは) クリック! PC20test.lzh(132kB) ★PC20から定時間間隔でワークシートにデータを取得するプログラム 2004.11.26改版 PC20-1.lzh(133kB) ★ctrl+zをタイプすると,PC20のデータがアクティブセルに書き込まれるプログラム. <注意> ポート番号はプログラムに書き込まれているため,COM1以外を使用するときはモジュール内の下記の部分を書き換える必要があります. <特徴> マウスでセルを指定して,左手でキーを押すとデータがセルに飛び込んできます. 単純ですが,最も使いやすいプログラムのひとつです. 2004.11.26改版 PC20-2.lzh(131kB) ★ctrl+zをタイプすると,PC20のデータがアクティブセルに書き込まれるプログラム. <注意> PC20-2と動作は同じですが,ポートの番号指定の方法が異なります. このプログラムは,アクティブシート内のどこかのセルに,ポート番号を"COMn=1"などの文字で書き込んでおくと自動的に読み取って処理します. ただし,"COMn="の文字にスペースを入れたり,大文字と小文字を間違えると認識しないので注意してください. 2004.11.26改版 PC20-3.lzh(132kB) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||