解決策
このタイムアウトエラーは、TCP/IP関数の設定が誤っていることが原因で発生する可能性があり、データが受信されている限り、問題なくクリアされることがよくあります。データが受信されていない場合は、このエラーを軽減するために以下のいくつかのトラブルシューティング手順があります。
特定のLabVIEWアプリケーションを使用している場合
- エラーが発生するVIのタイムアウト設定が、十分余裕のある時間が設定されていることを確認します。
例: HTTP Client GET VIを使用して低速サーバから大容量の文字列を受信する場合、デフォルトである10秒のタイムアウトでは不十分な場合があります。 - TCP/IPを使用している再入実行可能なVIを使用している場合は、再入可能オプションをオフにしてみます。競合状態が発生してネットワークがビジー状態になり、書き込みまたは読み取り時にタイムアウトする可能性があります。
- タイムアウトエラーは、アプリケーションの想定された動作の可能性があります。TCP読み取りからデータを受信すると、TCP関数はタイムアウトの間、指定されたバイト数だけ待機します。関数が完全な数を受け取らない場合、エラー56が発生するとともに受け取ったデータを返します。その場合は、エラーメッセージを処理してクリアする必要があります。エラーをクリアする方法については、Clearing A Specific Error From the Error Clusterを参照してください。
- ネットワークケーブルが各システムに正しく接続されていること、またはワイヤレスネットワーク接続が適切に確立されていることを確認します。
- 接続を開いてドメインネームサーバー(DNS)に関する問題をチェックするときは、ドメイン名の代わりにIPアドレスを使用します。
- 例: "http://www.google.com"の代わりに"http://74.125.224.72/"を使用します。
- ツール>>オプション>>VIサーバに移動し、下部にある追加を選択します。マシン名/アクセスフィールドに*を入力し、アクセスを許可することを選択して*をマシンアクセスリストに追加することもできます。しかし、これにより、すべてのマシンがターゲットマシンにアクセスできるようになります。
- 問題のネットワークデバイスにpingコマンドを送信して、デバイスが接続され、通信していることを確認します。
- コンピュータにインストールされているすべてのファイアウォールとウイルス対策ソフトウェアをオフにして、ポートがブロックされていないことを確認します。
- 両方のデバイスが同じサブネット上にあり、同じサブネットマスクを持っていることを確認します。 NIネットワークデバイスの構成の詳細については、NI MAXでリアルタイムターゲットに接続する際に「一致しないIP設定」と表示されるを参照してください。
- 過剰なローカルネットワークトラフィックがネットワーク通信を遅らせ、転送に予想以上の時間がかかるかどうかを確認します。
- FTP VIを使用している場合は、使用されているパスワードに印字できない文字やスペースが含まれていないことを確認します。
- 情報を送信しているVIが実行中であることを確認します。
- 通信部分がサブVIに配置されている場合は、サブVIから取り出して、サブVIの外で動作するかどうかを確認します。
- LabVIEWサンプルファインダにあるサンプルの「Simple TCP.lvproj」を試してみます。
- ループを利用して繰り返し読み書きする場合は、ループ内に待機(ms)関数(約200ミリ秒くらい)を挿入してみます。
VeriStandを使用している場合:
- Tコントローラ設定のみを指定して、空のシステム定義をデプロイしてみます。
- システム定義に正しいIPアドレスとコントローラOSが指定されていることを確認します。
- ネットワークケーブルが各システムに正しく接続されていること、またはワイヤレスネットワーク接続が適切に確立されていることを確認します。
- 可能であれば、ホストPCとRTターゲット間の直接イーサネット接続を試します。
- 問題のネットワークデバイスにpingコマンドを送信して、デバイスが接続され、通信していることを確認します。
- カスタムデバイスのような必要な依存関係をVeriStandが展開するのに十分な時間があることを確認するため、応答時間は最小限に抑えられるべきです。
- ホストコンピュータにインストールされているすべてのファイアウォールとウイルス対策ソフトウェアパッケージをオフにして、ポートがブロックされていないことを確認します。
- 両方のデバイスが同じサブネット上にあり、同じサブネットマスクを持っていることを確認します。NIネットワークデバイスの構成の詳細については、NI MAXでリアルタイムターゲットに接続する際に「一致しないIP設定」と表示されるを参照してください。
- 過度のローカルネットワークトラフィックによってネットワーク通信が遅くなり、転送に予想よりも時間がかかるかどうかを確認します。
RT Reboot Controller VIを使用している場合:
- VIに配線しているMACアドレスが正確で、正しくフォーマットされていることを確認します。文字列制御器または定数IDがそのデータを16進形式で表示していることを確認します(例: 0080 2F0A 14FF)。文字列制御器が16進形式でない場合、それを右クリックして16進表示を選択します。
Linux用LabVIEW for OpenSuse 11.1でFile PutまたはTCP Waiting On Listener VIを使用する場合:
- FTP転送にパッシブモードを使用するには「FTP Put File」VIを構成します。
パケットスニッフィングを使用したトラブルシューティング:
上記の手順で問題が解決しない場合は、パケットスニッフィングプログラムを使用して、データがネットワーク経由で送信されているかどうかを確認します。Wiresharkと呼ばれるサードパーティ製のツールは、データが到着しているかどうかを確認するのに役立ちます。データが到着しておらず、このエラーが表示された場合、データを送信するデバイスまたはネットワークに問題があります。データがWiresharkに到着していてもこのエラーが表示される場合は、ファイアウォールの問題や不正な形式のTCP機能が原因と考えられます。Wiresharkは、
Wireshark.orgより入手可能です。Wiresharkで
CaptureFiltersを使用すると、特定のIPアドレスとの間でのみパケットを分離することができます。
さらに、パケットが正常にネットワークに送信されるので、アドレスデバイスが応答しない場合、アドレスデバイスのネットワークアダプタが欠けている可能性があります。