- ベストアンサー
VB6でのシリアル通信についての質問
- VB6でのシリアル通信についての質問です。プリンタからPCへの接続はシリアル通信のみで、現在のPCはUSB接続のみ。RS232CからUSBへの変換コネクタを使用してプリンタへの通信を試みているが、実行時エラーが発生しています。VB6でRS232C-USB変換コネクタを使用してプリンタへのシリアル通信は可能か、原因と解決策を教えてください。
- VB6でのシリアル通信について質問です。現在、VB6で開発したラベル印刷のシステムを引き受けたのですが、プリンタからPCへの接続はシリアル通信のみで、現在のPCはUSB接続のみしかできません。RS232CからUSBへの変換コネクタを使用してプリンタへの通信を試みていますが、実行時エラーが発生しています。VB6でRS232C-USB変換コネクタを使用してプリンタへのシリアル通信は可能でしょうか。また、発生したエラーの原因と解決策を教えていただきたいです。
- VB6でのシリアル通信に関する質問です。現在、VB6で開発したラベル印刷のシステムを引き受けたのですが、プリンタからPCへの接続はシリアル通信のみで、現在のPCにはシリアル通信のポートがありません。そこで、RS232CからUSBへの変換コネクタを使用してプリンタとPCを接続しようと試みましたが、実行時エラー 8015が発生します。VB6でRS232C-USB変換コネクタを使用したプリンタへのシリアル通信は可能でしょうか。発生したエラーの原因と解決策を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
> COMポートをプログラムの中で変更できるようにするというのは 例えば、メニューで設定のダイアログ(別form)を表示し、そこでCOM番号(PortNumber)を入力し、下記の様に MSComm1.CommPort = PortNumber 設定する。 あるいは、iniファイルを使って、iniファイルからCOM番号を読む。iniファイルはテキストエディタで変更する。 MSCommのプロパティはご存知だと思いますが、下記などが参考になるかと思います。 http://spectrum123.at.infoseek.co.jp/vb/vb_4/vb_4.htm 上記は下記の中の一部ですが、MSCommを使ったプログラムの参考になります。 http://spectrum123.at.infoseek.co.jp/vb/vb_menu.htm
その他の回答 (4)
- Hayashi_Trek
- ベストアンサー率44% (366/818)
エラー番号8015は、「通信状態を設定できません。通信パラメータのいずれかが不正である可能性があります。」 なので、MSCOMMへの設定パラメータに間違いは有りませんか? 無効なCommPortや対応していないボーレート等になっていませんか? MSCOMMのCommPortは1~16が有効です。 USB-RS232C変換器に仮想Comポートドライバは付いていませんか? ハイパーターミナル等の通信ソフトで目的のComポートを選択できますか? USBの場合、使用するUSBポートを変えるとComポート番号も変わる場合があります。
お礼
回答ありがとうございます。 Comポートは再度調べ直してみたところ、元々使用しようとしていたポートがすでに何かで使用中でした。 別のComポートに切り替えて再度試してみようと思います。
- noyuo
- ベストアンサー率39% (33/84)
相手のラベルプリンタはどのような機種でしょうか? 昔、プリンタのシリアルポートに接続するプリンタサーバを(LPキュー)使用したことがありますが。。。AXIS製だったかな? いかがでしょうか?(ちょっと高くつきますが) 双方向通信ができたかどうかなど、確認してみてください。 マトを外していたらごめんなさい。
お礼
回答ありがとうございます。 相手のラベルプリンタはイシダのL2000という機種です。 だいぶ前に買ったらしく、また製品番号を知るための情報がまったくないため、その辺りから調査しているというのが現状です。 双方向通信の確認は客先にプリンタがあるためになかなかできない状態ではありますが、次に客先に行った際に試してみようと思います。
- samtomsan
- ベストアンサー率55% (1060/1897)
忘れていました。 下記のようなソフトを利用させていただくのも手かと思います。 EasyComm http://www.activecell.jp/download/index.htm#EasyComm 注意:数年前にちょっとバグがありましたが、修正されてないようです。 使用していて気が付かない程度のバグですから、問題ないかも。
- samtomsan
- ベストアンサー率55% (1060/1897)
デバイスマネージャでポートを見たときに、USB変換コネクタが接続されているCOMポートで通信するようにCOMポートを指定していますか。 COMポートをプログラムの中で変更できるように作ると、後々、便利です。 また、機器によっては差し込むUSB端子の場所によってCOMポートが変更になったり、USB変換コネクタのドライバをインストールし直さないと認識しない物もあるようです。 マイクロソフトの下記も参考になるかと思います。 http://support.microsoft.com/kb/318832/ja
補足
早速の回答ありがとうございます。 ポートについてですが、一番最初に別エラーが発生した際にデバイスマネージャにて変換ケーブルの接続を認識しているポートの確認をし、その番号をMSCommのCommPortパラメータにて指定させていただいております。 色々と調べていた中で今回の質問と似たような質問がネット上であり、samtomsan様のおっしゃられたような回答が載せられていたので再度チェックもしました。 また、USB変換コネクタのドライバにつきましてはインストールさせていただいており、それによってPC内で認識はされました。 COMポートをプログラムの中で変更できるようにするというのは、COMポートにコネクタが接続されているかを確認していき、確認が取れた場所をMSCommのCommPortパラメータに指定するという感じでしょうか。 今回バーコードリーダーも同時にUSBに接続するので、単純に上記の方法ですと問題が発生しかねないかと思うのですが、どのような動きにすればいいかお教えいただけると幸いです。 流れとしてはバーコードリーダーでバーコード情報を読み込む→読み込んだ情報をラベルプリンタに送信になります。 よろしくお願い致します。
お礼
非常に分かりやすいご説明ありがとうございます。 プリンタが客先にあるためになかなかテストができないのですが、色々と試してみようと思います。