プロが教えるわが家の防犯対策術!

現在、VB6でRS232Cを使いシリアル通信を行っています。一台のみでは何も考えなくてよかったのですが、複数台を同時に通信する場合、1台ずつコマンドの送受信を待ちながら通信を行うというやり方しかわかりません。
現在)1台目送受信開始→1台目送受信完了→1台目の結果の正否→2台目送受信開始→2台目送受信完了→2台目の結果の正否→3台目送受信開始…
のように直列に進んでいる感じです。これを下記のように行いたいのです。
実際にやりたい事)
1台目送受信開始→1台目送受信完了→1台目の結果の正否
2台目送受信開始→2台目送受信完了→2台目の結果の正否
3台目送受信開始→3台目送受信完了→3台目の結果の正否
……
イメージとしては並列して送受信を行い1台目の送受信の結果を待たなくても2台目3台目と送受信を開始し、1台目の結果は2台目3台目の送受信をおこないながらでも、もらうことができるようにしたいのですが、どの
ようにしたらいいか誰か教えてもらえないでしょうか?
宜しくお願いします。

A 回答 (3件)

ちょっと質問ですが、


パソコンは1台で、それに3台の機器が
つながっているということですか?
    • good
    • 0

VB6使っていないのですが、各COMポートをOPENした後、各ポートのOnCommイベントの発生の有無を


監視するIF文を作って、各ポートの細切れなデーターを受信し、文字列変数に格納するようにします。そして、細切れに受信されたデーターを、VB6の文字列操作コマンドでつなげることでデーターを取得することになると思います。
RS232Cのシリアルデーターは、非同期データーでありますし、パソコンの動作速度に比べて遅いことがって、OnCommイベントなどのイベントを監視することで、効率よく、データー収集出来るようになります。

参考URL:http://speana-1.hp.infoseek.co.jp/vb/vb_4/vb_4.htm
    • good
    • 0

イメージとしては並列して送受信を行い1台目の送受信の結果を待たなくても2台目3台目と送受信を開始し、1台目の結果は2台目3台目の送受信をおこないながらでも、もらうことができるようにしたいのですが・・・


並列して送受信なら、セントロニクス方式で処理するプリンターポートを使われてはどうですか?元々、RS-232Cは直列用ですから。擬似的にプログラムで処理できるかどうか・・・
    • good
    • 0

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