掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CommX・WindowsXPで通信不可 (ID:10744)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
takeさん こん**は 雨模様だったので電子天秤のデータと格闘してみました。 OSはwindows2000で受信エラーは出ていないPCです。 1:bufサイズを固定でなく受信バイト数にしてみた。 CommX1Receiveイベント内で CommX1.ReceiveBlock(buf,ReceiveSize); for i := 0 to ReceiveSize-1 do begin weightbufA := weightbufA + Buf[i]; end; とすると、確かにReceiveイベントは最初の1バイト目でも発生するようで、ReceiveSizeが2−22と不定でした。 2:CommXのヘルプ 制御機器などとの通信の項目に次のようなことが書いてあります。 procedure TForm1.Button1Click(Sender: TObject); var buf : array[0..255] of Char; len : Integer; begin CommX1.TransString('00RD0001'); len := CommX1.ReceiveBlock(buf, 10); if len = 10 then begin ShowMessage('正常終了'); end else begin ShowMessage('異常終了'); end; end; ボタンをクリックするとコマンドを送信し、10文字受信するまで受信手続きの中で待機します。 −−−−−−−−−−−−−−−−−−−−−−− 電子天秤のデータは、同期が取れないのでCommX1.ReceiveBlock(buf, 28)とサイズを指定すれば、28バイト受信するまで待機してくれるものと思いますが、違うのでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.