タイトル : Re^9: シリアル通信で異常に時間がかかってしまう 投稿日 : 2010/01/28(Thu) 10:34 投稿者 : ぽると
るるさん アドバイスありがとうございます。 > 取り合えずソースを見た感じ、受信待ちループ抜けの条件として > タイムアウトとデータ長をされていますが、 > デリミタ(レスポンスの最後には必ずこの文字が来る)が決っているのであれば > その文字列が受信データに入っていれば?という条件を入れるのはどうでしょうか? ACK、NAK、STXやETX 等でしょうか。 シリアル通信の処理部分でこのチェックがまったくされていないですね。 装置側のシーケンサの資料はあるようですので、 そちらを確認して見ようとおもいます。 現在実施中の作業として @FAネットワークの通信量のチェック A装置側の機器異常のチェック BPC1の異常チェック CLANやシリアルケーブルの再点検 (ノイズの影響を受けにくいものを使用しているか等) DTCP/IP通信とシリアル通信のタイムアウト時間の調整( テストPG ) EACK、NAK等のチェック処理の実装テスト( テストPG ) あまり考えられないですが、 何か理由があってタイムアウト時間やACK等のチェックをしていないかもしれないので そちらも調べています。 |