• ベストアンサー

VBで通信のDTR,RTSを制御できるでしょうか?

VBの通信プログラムを USB→RS232C変換→RS485変換したいのです。 某メーカのRS485変換器は送信/受信の制御はDTR,RTSによります。 VBのプログラムを動作させるとDTR,RTSは常時ONです。 これを 1.DTR(RTS)をONする 2.送信する 3.DTR(RTS)をOFFする というように(送信中のみDTR(RTS)をONする)することは 可能でしょうか? もし不可とした場合、ほかの言語ならば可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

VB6.0ならコミュニケーション (MSComm) コントロールを使って DTRは、DTREnable プロパティで RTSは、RTSEnable プロパティで操作できます。 Handshaking プロパティは無しに設定。 VB.NETならSystem.IO.Ports.SerialPort クラスを使って DTRは、DTREnable プロパティで RTSは、RTSEnable プロパティで操作できます。 SerialPort.Handshake プロパティは無しに設定。

Kuma2000
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • VB6でシリアルポートの制御

    VB6のコントロールまたは、VB6で使用可能なAPIを使って、シリアルポートの内、DTRとRTS信号線を常にHigh(ON)の状態にすることは可能でしょうか? RS-232CからRS-422へ変換して機器を制御するのですが、変換器がこの信号線を電源として動作するので、常にHigh(ON)の状態にしたいのです。 よろしくお願いします。

  • VB.NET(2005)の"SerialPort" RTSラインを制御

    VB.NET(2005)の"SerialPort" RTSラインを制御したいです。 やりたい事は、「パソコンから通信相手の機器へデータを送信している間だけ、RTSをHIGHにする」ということです。データ送信完了と共に、RTS信号をLOWにしなくてはなりません。 SerialPortにあるRtsEnableをTrueにして、オシロで確認してみたのですが、RTS信号はHIGHに張り付いてしまっていて、全く動いていませんでした。 同じくDtrEnableをTrueにしても、同じでした。 Handshakeプロパティを"RequestToSend"に設定してみたのですが、これもまた同じ結果でした。 どなたかご存知の方がおられましたら、解決策をご教授いただければ幸いです。

  • RS232C 制御方法

    使用しているマザーボードから出ているCOM(RS232C)を使用して RS485変換回路を考えております。 初歩的な話になり申し訳ありませんが、RS232Cは送信と受信同時にはできないですよね。 現在RTS制御を行おうと考えております。 [RTS]と[CTS]をループバックにて接続し、 [DTR]と[DSR]をループバックして接続しています。 [RTS]が"H"になるとRS485の送信側を有効にし [RTS]が"L"になるとRS485の受信側を有効にしようと考えております。 受信を受け付ける際に[CD]が"H"になっていないといけないのでしょうか。 [CD]を常に"H"に固定すると問題はあるのでしょうか。 全てにおいて初歩的なお話になり申し訳ありません。 何方かご存知のた方お願い致します。

  • VB2005でシリアル通信(RS-232C)

    全くの初心者です。 オリジナルの計測装置とそれ用のソフトを作成することになりました。 ソフト作成の前にハードとの通信仕様を考えているのですが、 下記の点がよくわからず、どなたかご教示いただけないでしょうか。 ・RTSをフロー制御でなく、通信の一部(ハードへの命令信号)して使用したい。(データ送受信と全く独立してRTSをオン・オフしたい) ・調べたところ、EscapeCommFunctionが関連ありそう ・VB2005 express editionでEscapeCommFunctionのAPI(?)が使えるでしょうか。また、他に方法があるでしょうか ・また、Excel(2000)のVBAで同様のことが可能でしょうか。 よろしくお願いいたします。

  • RS232CのRTS電圧レベル

    お世話になります。ひさしぶりにRS232Cの仕事をやっていますが、 RTSの論理がわからなくなったので、教えて下さい。 通信しない状態で、RS232Cのケーブルで信号を見てるのですが、 TXDが、-10VなのにRTSが、+10Vになっています。 (これは、DELLPCのRS232Cポートの出力を見てます。) RTSもTXDと同じく、-10Vになると思っていたのですが、違いますか。 また、PCに制御ラインを反転させる設定とかありましたでしょうか?

  • VBで16進数をバイナリ変換しRS232通信

    VB CommunityでRS232C通信プログラムを作成しています。 OKWaveをみて、ポート接続などはできたのですが、 データ送信でつまづいてます。 16進数をバイナリ変換し送信したいのです。 その部分ですが、16進数で[11]をバイナリに変換して送信したい場合、 Dim command(0) As Byte command(0) = &H11 SerialPort1.Write(command, 0, 1) としても、16進数で[11]を送ったときの動作を行いません。。 VectorなどでのRS232通信テストツールでは反応あるのですが。。 初歩的ですみませんが、よろしくお願いします。

  • CかVBでポートを制御する方法

    C言語かVBでUSB、RS-232C、パラレルポートのいずれかのポートを制御する方法はあるのでしょうか? いろいろと本で探してみたのですが見つかりません。 アバウトな質問で申し訳ないのですが、できるかどうかだけでもいいですし、具体的なプログラムのサンプルが載っている本、HPございましたら教えてください! よろしくお願いします!!

  • Visual BasicでGP-IBの通信を制御したいのですが

    VBを使ってGP-IBのポートの通信を制御したいのですが、それは可能ですか?また可能であれば、どのように制御すればいいのか教えてください。よろしくお願いします。 できれば、RS232Cとの違いも教えてください。お願いします。

  • RS-232Cのハードウェアフロー制御について

    「一般的な」パソコンで、RS-232Cのハードウェアフロー制御を行う場合、使用されるフロー制御信号は何になるか、ご存知の方教えていただけないでしょうか。 (どう接続するかはともかく。。。) RTS、CTS、DTR、DSR、DCD、RI全て使用するのでしょうか。 資料等調べるのにも、機器によりバラバラだと思うので何を調べてよいかもわからない状態です。 宜しくお願い致します。

  • VB2005でシリアル通信

    VB2005を使ってマイコンボードとRS-232Cで通信をしようと思っています。 コマンドとしてはSerialPortを使おうと思っているのですが、 サンプルプログラムとかはあるのでしょうか。 #2403853の方の質問にVisual basic 6のサンプルプログラムの話がありましたが、 VB2005にも同じようなものがあるのでしょうか。 もしそうでしたら、見方も知りたいのですが。

専門家に質問してみよう