プロが教える店舗&オフィスのセキュリティ対策術

会社で使用しているトラックスケールの計量器から
パソコン(WindowsXP)のAccessにデータを取り込み、
レポートなどを出力したいと考えています。

計量器にはシリアルポートがありますのでRS232C<-->USBのケーブルで
パソコンと接続し、パソコン上からデータを吸い出したいのですが

(1)シリアルポートを流れるデータは、恐らく「垂れ流し」と呼ばれる
タイプだと思いますが、こういうデータはどのような手順で
取り込むのでしょうか?
(フリーウェアなどのRS232モニタリングソフトなどを間に入れますか?
それとも直接VBAなどで通信するのですか?)


(2)データをパソコン側で受信できた場合、その生データを
解析する必要がありますが、何かデコードソフト(?)のような
物を使用するのか、それとも手作業で一つづつでしょうか?

頼まれた自分も、まずどこから手をつけたらいいのか
よくわかっておらず漠然とした質問で申し訳ないですが
分かる方、宜しくお願い致します。

A 回答 (2件)

>変数がいくつ存在するかはどのようにして調べる(取得)するのでしょうか。



基本的には、その計量器の「取説」又は「仕様書」で確認するのですが、
それが無い場合は、
とりあえず、1データづつ EOF まで読み込み(変数は1個で..)、セルに貼り付けて見て、その数値から自力で解析...です(^_^;)
注意することは、桁がずれている可能性が有る事です
例:12.34=>1234 等
    • good
    • 0
この回答へのお礼

有り難うございます。

なるほど、確かにEOFまで読み込ませて、
それを解析すれば、区切られた数はなんとか数えられそうですね。
欲しい情報は"重量"だけですので、
やってみないと分かりませんが
以外とすんなりいけそうな気がします^^;

あとは仕様書や取説も熟読し、なんとかがんばってみようと思います。
桁がずれている可能性の件も心得ておきます。
本当に有り難うございました!!

お礼日時:2009/10/21 01:02

EXCIL VBA の場合ですが、


テキストファイルを読み込むのとほとんど同じです
(Accessでもほとんど同じだと思います)

-----------------
Open "COM1:" For Input As #1  '"COM1:"がRS232c
Do Until EOF(1)        'EOF(1) でファイルの終わりを検出
  Input #1, 変数1,変数2,変数3,変数4,....... 'ここでDATAを読み込み
  セルに変数の値を張り付ける
Loop
Close #1 'RS232cを閉じる
-----------------

1."COM1:" が、RS232c(シリアルポート)を表していますが、番号は変わると思います
「RS232C<-->USBのケーブル」にドライバーが付いていると思いますが、そのドライバーによって番号が決まると思います

2.一旦、変数に読み込んだあと、セルに貼り付けます
DATAは、たぶん、数字の文字として読み込まれると思いますが、EXCELの場合、それをセルに貼り付けると、自動的に計算可能な「数値」に変換されるようです

3.変数は1行分(改行コード迄)のDATAを読み込むのに必要なDATA数の分を用意します

ざっと、こんな感じですが、エラー処理など、試行錯誤が必要だと思います
    • good
    • 0
この回答へのお礼

とても詳しい回答、有り難うございます。

一つ質問ですが、変数がいくつ存在するかは
どのようにして調べる(取得)するのでしょうか。
やはり、まずはモニタリングソフトなどで
流れているデータ(数)を調べる、という手順でしょうか。

引き続き質問なのですが、宜しくお願い致します。

お礼日時:2009/10/20 02:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!