C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.93206 の関連記事表示

<< 0 >>
■93206  Re[3]: シリアル通信で送信をコントロールする方法について
□投稿者/ たれパンダ -(2019/11/28(Thu) 01:02:48)
    No93156 (sima さん) に返信

    > ケーブルの配線などに問題がないようですなどどいうような
    > 貴方の解釈ではなく、CTS,RTS,DTR,DSR の制御が使える配線になっている信号ケーブルなのかを示して下さい。
    >
    > 次に DTR,DSR が互いのPCで使える設定になってるのかも示して下さい。
    >
    > 相手の DTR を無視するというのは垂れ流しなので、相手が受信可能(電源が入っていて通信可能)だと確実にわかっている場合に
    > 用いる方式です。
    > 相手の装置が生きていることを確認したうえで送信側は CTS/RTS を使って通信可能なことを相手に知らせ、
    > 相手が受信可能なことを確かめた上で、初めて送受信開始できる状態だと知るのが普通だと私は思っています
    >
    > なので、これらの信号線がどうつながっているのかが分からないとプログラムのコードから判断するのは
    > 無理があると考えます
    >
    > また、相手の装置がモデムの振りをする場合(制御線の使い方です)は RI,DCD も見た方がいい場合があります。


    返信が遅くなりすみません
    当初は RTS/CTSでフロー制御するつもりで RTS/CTSが
    お互いにクロスしたケーブルを自作していたのですがそれでも
    全くフロー制御ができず、通信に失敗していました。

    現在の結線は以下のようになっています。
    SANWA KR-X03という市販のクロスケーブルです。

    TxD ─── RxD
    RxD ─── TxD
    DSR ─── DTR
    DTR ─── DSR
    RTS ┬── DCD
    CTS ┘
    DCD ──┬ RTS
        └ CTS
    GND ─── GND


    上記のケーブルは RTS/CTSがお互いに自分側でショートしているので
    以下のように XON/XOFF で通信を試みています。
    serialPort1.Handshake = Handshake.XOnXOff;

    続けて

    serialPort1.RtsEnable = true;
    serialPort1.DtrEnable = true;

    serialPort1.Open();

    この状態で

    相手端末(NC工作機)側でリードを開始

    こちらから書込み

    serialPort1.Write(ByteData, 0, iCnt);

    で相手端末にデータは流れていくようになったのですが
    フロー制御が全く効いていないようで相手端末がバッファ
    オーバーフローでアラームを出してしまいます。

    送信データの進捗をみるためデータをテキストボックスに
    表示していますが流れ方を見ると

    何回かに1回は明らかにフロー制御が効いているような
    不規則なスピードのスクロールになることがあるのですが
    ほとんどは猛烈な勢いでデータが流れて相手が取りこぼす
    状態になります。

    どんなときにも送信時はこちら側には何のデータの受信もないので
    相手端末は XON/OFF が無効なのかもしれません


    対症療法的には最悪なコーディングですが
    serialPort1.Write(ByteData, 0, iCnt);
    Thread.Sleep(100);

    とすることで送れないことはないのですがなんとかフロー制御をしたいと
    考えています。

    上記の条件でフロー制御するにはどのような方法があるのでしょうか
    何かヒントでもご紹介いただければ助かります。
    よろしくおねがいします。








記事No.93143 のレス /過去ログ161より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -