activecell.jp のトップページへ
EasyCommの詳細情報
戻る

 概要

 三和電気計器株式会社のハンディタイプデジタルマルチメータPC20は,液晶ドライブ信号をそのままシリアル出力します.
 ほとんど同じ方式を持つマルチメータが,韓国のWENS 20シリーズです.
 WENS 20R, WENS 20T, WENS 20TRMSの3種類があり,WENDS 20Tは秋月電子通商で販売しています.
 いずれの機種にも対応できるようにします.

ハード
三和電気計器株式会社
4000カウント表示
静電容量測定ファンクション付きデジタルマルチメータ
WENDS Precision Co.,Ltd.
本体
PC20
RS232Cインターフェース
KB−RS1
本体
WENDS 20T(20R,20TRMS)

KB-RS1はRS232Cの出力ピンの電力で動作します.
WENDS 20シリーズはどのようなインターフェースになっているかわかりませんが,KB−RS1と同じ設定で動作するようです.
データはマルチメータから逐次送信する,いわばデータ垂れ流し方式です.


通信仕様

通信速度 2400bps
データビット長 8bit
パリティ なし
ストップビット 1bit
ハンドシェーク なし
RTS プラスレベル出力
DTR プラスレベル出力



データフォーマット

PC20,WENDS20シリーズはLCD表示器のセグメント情報を14バイトのバイナリデータで送信します.
そのため,受信したデータをもとに,数値に変換しなければなりません.
下図はLCDの表示内容です.
WENDS20は手元に無いのでマニュアルの画像を記載します.
PC20 WENDS20

各セグメントに名前をつけます.
PC20
WENDS20


送信データは14バイトで構成され,上位4ビットでデータ番号,下位4ビットで表示器のセグメント情報を示します.
セグメント情報は点灯しているビットが1にセットされます.

セグメントとビットの対応は次のようになります.
データバイト
1 2 3 4 5 6 7 8 9 10 11 12 13 14(注2)
データビット bit7 0 0 0 0 0 0 0 1 1 1 1 1 1 1
bit6 0 0 0 1 1 1 1 0 0 0 0 1 1 1
bit5 0 1 1 0 0 1 1 0 0 1 1 0 0 1
bit4 1 0 1 0 1 0 1 0 1 0 1 0 1 0
PC20 WENDS20T
bit3 AC S a4 DP1 b4 DP2 c4 DP3 d4 μ m F A 0 1
bit2 DC a5 a3 b5 b3 c5 c3 d5 d3 n % Ω V 0 0
bit1 AUTO a6 a7 b6 b7 c6 c7 d6 d7 k M REL Hz 0 0
bit0 RS232C a1 a2 b1 b2 c1 c2 d1 d2 Diode Buzz DH Batt 1 0
配列要素(注1) byte1(0) byte2(0) byte2(1) byte2(2) byte2(3) byte2(4) byte2(5) byte2(6) byte2(7) byte2(8) byte2(9) byte2(10) byte2(11) byte2(12)
  (注1)PC20用文字列変換プログラムで使用している受信データ配列の要素との対応を示しています.
     プログラムでは先頭の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) ・・・ @

注意しなければならないのは点灯パターンです.
6,7,9のセグメント点灯パターンは下図のようにそれぞれ2種類あります.
PC-20の場合は赤い数字のパターンが使用されていますが,いずれにも対応したほうが汎用性が高まります.
式@で得られる値と表示数値の関係を表にすると次表のようになります.
この表は,2種類のセグメントパターンに対応しています.




データの受信と文字列への変換関数

14バイトのバイナリパターンでは処理が極めて面倒なので,固定長の文字列に変換するための関数を準備します.
この関数をコールすると,1ブロックのデータを受信してデータ文字列に変換して返します.
変換部分は三和電気計器が提供するdllの機能に相当しますが,互換性はありません.

変換後の文字列は13文字固定で,次の3個の部分から成ります.

文字数 文字列 意味
ヘッダ DCV 直流電圧
ACV 交流電圧
OHM 抵抗
DIO ダイオードテスト
BUZ ブザー導通チェック
CAP 静電容量
DCA 直流電流
ACA 交流電流
BAT 電池消耗
DEG 温度(℃)
(注1) その他
仮数 符号,小数点を含む
指数 符号,小数点を含む
 (注1)スペース3文字

<例>
 直流電圧測定,-1.234V
  DCV-1.234E+00
 静電容量測定,10μF
  CAP+1.000E+01



タイミング

以下はPC20+KB−RS1の組み合わせを元にしています.
WENDS20は手元に無いのでわかりません.

14バイトのブロックは隙間なく送信されますが,ブロック間はレンジや測定状態によって様々な時間間隔で送信されます.
ただし,データホールド状態でも送信データが途切れることはありません.
いくつかの条件で測定した結果は次のとおりです.

●DCレンジで1.000Vを計測中のデータラインの波形
  約350mS間隔でブロックデータが送られてきます.


●DCレンジで1.000Vを計測し,ホールドをかけたときの波形.
  約324mS間隔に変わります.


●抵抗ファンクションでレンジが切り替わったときの波形
  ブロック間隔がランダムに変化します.


●22μFの電解コンデンサの容量を測定したときの波形
  約2.6秒間隔で送信されます.


上記結果より,最小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)