VB6に関する質問です。
以前VB6で制御していた検査設備があり(10年前ほど)
急遽それを動作させることになったのですが、QRリーダ(RS232C信号をcomportで通信)
で読み取りを行うと、一度目はうまくいくのですが、
2度目以降は、前回の読み取り対象のQRコードないようが表示される問題が生じて困っています。
プログラムの流れとしては
1.timerでデジタル入出力を監視
2.入力信号が来たらQRリーダに読み取り命令
3.Oncommイベントが発生
4.受信内容をラベルに表示
というものです。
mscommのオブジェクトを新しく作りなおしたり、
リーダを変更したりしましたが、効果がありません。
詳しい方、原因の推測とその対処方法を教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> 1.timerでデジタル入出力を監視
> 3.Oncommイベントが発生
1だとタイマーを使ったポーリング方式、3だと割り込みを使ったイベント ドリブン方式の様に読み取れ、方式が混在しているような感じですが。
MSComm1.Inputを使った場合、バッファは読み出し後にクリアされますから
> 2度目以降は、前回の読み取り対象のQRコードないようが表示される問題
読み出しではなく表示の処理に間違いがある可能性がありますね。
あるいはバッファからの読み出しは別な特殊な方法を取られているのでしょうか。
下記などを参考にしてみてください。
http://support.microsoft.com/kb/411403/ja
http://www.picfun.com/serial04.html
No.1
- 回答日時:
ソフトに何らかの誤りがあると思われます。
OnCommイベントの記述の中に
「MsComm1.Input」
という記述があるはずです。
この一行により、受信バッファの内容を取り出すことが出来ます。
ここで指定されている変数の内容
たとえば、以下のような記述の場合receiveBufの中身は、
実行後どのようになっているでしょうか。
receiveBuf = MsComm1.Input
ここが、読み取った内容と一致しているのであれば
ラベルに表示させるまでの処理に不具合があると推測できます。
一方常に同じであるならば、まったく違った原因が考えられます。
(ちょっと思いつかないですが・・・)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
最近、いつ泣きましたか?
泣いてストレス発散! なんて言いますよね。 あなたは最近いつ、どんなシチュエーションで泣きましたか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
ホテルを選ぶとき、これだけは譲れない条件TOP3は?
ホテルを探す時、予約サイトで希望条件の絞り込みができる便利な世の中。 あなたは宿泊先を決めるとき「これだけは譲れない」と思う条件TOP3を教えてください。
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
架空の映画のネタバレレビュー
映画のCMを見ていると、やたら感動している人が興奮で感想を話していますよね。 思わずストーリーが気になってしまう架空の感動レビューを教えて下さい!
-
rs232cでの受信データ(mscomm)の受信方法VB6
Visual Basic(VBA)
-
シリアルポート通信
Visual Basic(VBA)
-
MSCommでoutputできない
Visual Basic(VBA)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# シリアル通信でデータ受信...
-
WriteFile()でのデータ送信がで...
-
【CAsyncSocket::OnReceive()呼...
-
winsockの動作について。
-
recv関数の受信結果について
-
シリアル通信エラー
-
ClearCommError呼び出し時のCE_...
-
winsock windowprocでFD_WRITE...
-
UDP処理のエラーについて
-
ftplibのエラー処理
-
write関数でEAGAINのエラー発生...
-
C#で通信処理。応答がない場合...
-
VB2010 シリアル受信した情報を...
-
winsockでソケット通信の開発を...
-
rs232cでの受信データ(mscomm)...
-
シリアル通信の出力バッファと...
-
Macターミナルで実行中のプログ...
-
緯度、経度の 10進法と 60進法...
-
バックグラウンドのプロセスの...
-
エクセルのメモリ使用状況/Appl...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# シリアル通信でデータ受信...
-
WriteFile()でのデータ送信がで...
-
winsockでソケット通信の開発を...
-
シリアル通信の出力バッファと...
-
Linuxでのシリアル通信について...
-
ソケット通信内 read関数について
-
シリアルポート通信
-
シリアル通信エラー
-
RS-232Cでバイナリデータを受信...
-
RS232C通信(PC⇔PLC)
-
SocketのSend関数でのCLOSEの検...
-
rs232cでの受信データ(mscomm)...
-
recv関数の受信結果について
-
socket: recvはいつ,どれだけ...
-
「スイッチングハブのバッファ...
-
SerialPortのDataReceivedイベ...
-
UDP処理のエラーについて
-
ClearCommError呼び出し時のCE_...
-
winsockの動作について。
-
waveIn、waveOutでの音声録音・...
おすすめ情報