html シリアルデバイスサーバーの障害切り分け:検出、TCP、応答 | FCTELE
                                   +8618758069661 [email protected]
製品検索 検索ガイド: スペース = AND(かつ)、 | = OR(または)、 ! = NOT(除外)

ご質問はありますか? 今すぐお電話ください!

+8618758069661

またはメッセージをお送りください

オンラインお問い合わせ

シリアルサーバー障害のトラブルシューティング:デバイスが見つからない、TCP接続に失敗する、接続後にデータがない

閲覧数: 92 +3FCTELEによるオリジナル記事著者:FCTELE技術チーム
概要

ソフトウェアに「接続済み」と表示される場合、シリアルデバイスサーバーのトラブルシューティングはどこから始めるべきですか?

まず、どの接続が成功したのかを明確にします。LAN内での検出、TCPセッション、シリアルバイトの送達、有効な端末応答は、それぞれ異なる確認事項です。実際のアドレス、待ち受け側の役割、電気インターフェース、文字形式を記録します。文書化された読み取り専用の要求を1つ使用し、設定を変更する前にバイト経路の双方向を比較してください。接続通知だけでは、障害が発生している段階は特定できません。

3つの仕組みと検証の適用範囲信号の流れを追い、実際のサービスを検証する

01検出範囲を確認

Check discovery scopeLAN discovery and routed service access can follow different paths.HostGWPeerLocal or routed path?The address and mask select the path

LAN内の検出とルーティング経由のサービスアクセスでは、異なる経路を通る場合があります。

02待ち受けサービスを確認

Confirm the listenerOne endpoint must initiate toward a reachable listening service.CallerListenerConnectConfigure payload direction separately

一方のエンドポイントが、到達可能な待ち受けサービスへの接続を開始する必要があります。

03返ってこない応答を追跡

Follow the missing replyElectrical reception, byte framing and command meaning are distinct.Line levelsBytesMessageElectrical signaling ≠ application meaningThe device must support the conversion layer

電気的な受信、バイトのフレーム構成、コマンドの意味は、それぞれ別の事項です。

スワイプして3つの図を比較 →

概念を説明するための図であり、実測波形、設置配線図、特定製品の内部構成を示すものではありません。
  • 検出範囲を確認

    使用中のアダプター、サブネット、必要な検出ポリシーを確認します。

  • 待ち受けサービスを確認

    双方の役割と、実際に使用する業務用ポートを記録します。

  • 返ってこない応答を追跡

    既知の要求と、端末から返された生の応答バイトを比較します。

選定・検証チェックリスト確認項目と関連ガイドを展開する
対象サービスと実際の運用条件に関する確認事項
確認項目確認する内容検証方法
検出範囲を確認LAN内の検出とルーティング経由のサービスアクセスでは、異なる経路を通る場合があります。使用中のアダプター、サブネット、必要な検出ポリシーを確認します。
待ち受けサービスを確認一方のエンドポイントが、到達可能な待ち受けサービスへの接続を開始する必要があります。双方の役割と、実際に使用する業務用ポートを記録します。
返ってこない応答を追跡電気的な受信、バイトのフレーム構成、コマンドの意味は、それぞれ別の事項です。既知の要求と、端末から返された生の応答バイトを比較します。

シリアルデバイスサーバーの障害は、まず、管理ツールでデバイスを検出できるか、ネットワーク接続を確立できるか、シリアルデータを正しく双方向に送受信できるか、という3つの層に分けて調べます。TCP接続の成功は、ネットワークセッションが確立されたことを意味するだけで、シリアル配線、パラメーター、アプリケーションプロトコルがすべて正しいことを意味しません。再起動や全パラメーターの変更を繰り返すよりも、データ経路に沿って層ごとにテストする方が効果的です。

1.まず、どの区間を担当するのかを理解する

一般的な透過型シリアルデバイスサーバーは、シリアルポートで受信したバイトを一時的に保存し、ネットワーク経由で相手側のプログラムに送信します。ネットワークから受信したバイトは、シリアルポートから送出します。Modbus RTUをModbus TCPへ自動的に変換するわけではありません。プロトコル変換が必要な場合は、機種と動作モードが対応しているかを確認する必要があります。「シリアルからネットワークへの変換」を、あらゆるプロトコル間の自動的な相互接続と捉えてはいけません。

作業を始める前に、デバイスの型番、ファームウェア、シリアルの電気方式、端子の定義、ネットワークアドレス、TCPポート、動作モードを記録します。「ホストコンピューター -> ネットワーク -> シリアルデバイスサーバー -> シリアル機器」の順序を図にし、どちらが要求を送信し、どちらが応答を返すかを明記します。産業現場では、最初にすべての機器を切り離さないでください。許可されたテスト環境で、端末1台、短いケーブル、既知の要求を使い、最小構成を組んでください。

シリアルバイトがUARTとバッファーでのカプセル化を経てTCP接続へ渡される一方で、ホストコンピューター側では引き続きアプリケーションメッセージを正しく処理する必要があることを示す図
図1:管理用の検出、TCP接続、アプリケーション通信は、それぞれ異なる層です。この図は一般的な透過伝送の仕組みを示しており、すべての機種がプロトコル変換に対応していることを意味するものではありません。

2.管理ソフトウェアでデバイスが見つからない

まず、電源、ネットワークポートのリンク状態、コンピューターが実際に使用しているネットワークアダプターを確認します。検出ツールはLANブロードキャストや所定のUDPメッセージを使用することがあり、これらのメッセージがルーターを越えて転送されるとは限りません。コンピューターがインターネットにアクセスできることと、デバイスを検出できることは別です。VLANをまたぐ構成、無線端末間の隔離、複数のネットワークアダプター、VPN環境も、検出経路に影響する場合があります。

工場出荷時のアドレスまたは保存済みのアドレスを確認し、ほかのデバイスと競合していないか調べます。メーカーの指示に従い、同一の管理されたサブネット内でテストしてください。コンピューターのアドレスを安易に変更したり、アドレス不明のデバイスを本番ネットワークに接続したりしないでください。管理者は、スイッチのMACアドレス学習状況、アドレスのリース情報、アクセスポリシーを確認し、要求がデバイス側まで届いているかを判断できます。

ファイアウォールがツールを遮断している可能性はありますが、「すべてのファイアウォールを無効にする」という古い助言をそのまま実行すべきではありません。管理ツールの入手元、必要なポート、プロセスを確認し、必要なルールだけを許可して、送信元の範囲を制限します。あるブランドの検出用ポートを、ほかのブランドにも一般化することはできません。通信を許可した後はルールを記録し、管理インターフェースをインターネットへ直接公開しないでください。

3.デバイスは見つかるが、TCP接続を確立できない

TCP ServerとTCP Clientの役割を明確にします。Serverは接続を待ち受けるため、相手側がそのアドレスと待ち受けポートに接続する必要があります。Clientは、指定された相手に能動的に接続します。双方が待ち受けていたり、双方が誤ったアドレスに接続しようとしていたりすると、「デバイスはオンラインだがセッションがない」という状態になります。また、管理用Webポートとサービス用TCPポートは、通常、用途が異なります。

まずIP、マスク、ゲートウェイ、サービスポートを確認し、次に許可された環境で対象ポートへ到達できるかをテストします。Pingの成功はTCPポートが開いている証明にはならず、Pingの失敗も必ずしもデバイスがオフラインである証明にはなりません。ポリシーによってICMPがフィルタリングされている可能性があるためです。サブネットをまたぐ場合や公衆ネットワークで使用する場合は、ルーティング、NAT、ファイアウォールも確認する必要があります。できる限り管理されたネットワークまたはVPNを使用し、不要なシリアルサービスポートを直接開放しないでください。

接続がすでに使用されていないか、接続数が上限に達していないか、アイドルタイムアウトが発生していないか、サーバーが許可されていない送信元を拒否していないかを確認します。複数接続、再接続、キープアライブの仕組みはデバイスごとに異なり、「ポーリングすれば自動的に完了する」という説明でマニュアルの確認を代替することはできません。緑色のアイコンを見るだけよりも、接続状態と切断ログを保存する方が有意義です。

4.TCPは接続済みだが、シリアルポートから応答がない

RS232、RS422、RS485が端末と一致しているか、また、本機の表示に従って端子が接続されているかを確認します。A/Bの名称はメーカーによって異なる場合があるため、まず電気的な定義を確認してからテストし、色から極性を推測しないでください。RS485は、バストポロジー、終端抵抗、基準グランドと併せて設計する必要があり、複数の短い分岐線を安易に拡張してスター型ネットワークにしてはいけません。

双方のボーレート、データビット、パリティ、ストップビット、フロー制御を一致させる必要があります。速度が同じだけでは不十分で、パリティエラーによって受信側がデータを拒否することもあります。RS232機器がハードウェアフロー制御を必要とする場合、制御線がないと送信が停止する可能性があります。確認せずにフロー制御を無効にしたり、端子を短絡したりしないでください。

正しいことが確認されている要求を使ってシリアル送信カウントを確認し、次に応答カウントを確認します。バイトが送信されたのに何も返らない場合は、配線、端末の電源、局番、要求形式を重点的に調べます。応答を受信しているのにホストコンピューターがエラーを報告する場合は、プロトコル解析、タイムアウト、シリアルパラメーターを重点的に調べます。ループバックテストは、マニュアルで明示的に許可されたインターフェースと配線方法でのみ実施してください。RS485にRS232のループバック方法をそのまま適用することはできません。

5.遅延、パケットの分割・結合がポーリングに影響する理由

シリアル伝送には実際の時間がかかり、デバイスの処理、ネットワーク伝送、シリアルデバイスサーバーのパケット化にも時間がかかります。パケット化の条件には、バイト数、時間間隔、区切り文字などがあります。より多くのバイトが揃うまで待つと小さなパケットを減らせますが、応答が返るまでの時間も長くなります。ホストコンピューターの待ち時間が短すぎると、まだ伝送中の正しい応答をタイムアウトと判断する場合があります。

要求、シリアル伝送、端末処理、パケット化待ちの時間が積み重なり、応答がホストコンピューターのタイムアウト判定より遅くなる様子を示すタイムライン
図2:タイムアウトは往復処理全体を考慮して調整する必要があり、パケット化の両パラメーターをゼロに設定しても、必ずしも有効とは限りません。

古い記事では、送信間隔とバイト数をすべてゼロに設定することを万能な解決策としていますが、すべての機種に当てはまるわけではありません。まずパラメーターの意味を読み、短いリンクで応答時間を測定してから、プロトコルの区切りと負荷に応じて項目ごとに調整します。透過型のTCPは順序の保たれたバイトストリームを提供し、1回の読み取りに半分のフレームや複数のフレームが含まれる場合があります。ホストコンピューターはアプリケーションプロトコルに従って蓄積、分割、検証を行い、TCPの1回の読み取りが1つの完全な応答になることを前提にしてはいけません。

6.仮想シリアルポート、ファイルデータの欠落、複数クライアント

仮想シリアルポートドライバーを使うと、アプリケーションはネットワーク機器へローカルCOMポートと同じようにアクセスできますが、機種、ドライバーのバージョン、モード、権限が適合している必要があります。専用のプロトコルモードを持つ機器もあれば、透過的なバイトを直接転送する機器もあるため、「Socketを使用する場合は特定のオプションを無効にしなければならない」と一律には言えません。マニュアルに従ってドライバーとデバイスの設定を確認し、複数のプログラムが同時にCOMポートを占有しないようにしてください。

ネットワークからバッファーへデータが入る速度が、シリアルポートからの出力速度を上回る場合があります。適切なフロー制御、バッファリング、アプリケーションによる確認なしに書き込みを続けると、データが失われる可能性があります。「模擬ボーレート」オプションの調整は、すべてのファイル転送に通用する万能な解決策ではありません。まず、アプリケーションがフロー制御、データの区切り、再送に対応しているかを明確にし、全長と内容の検証をテストしてください。

複数のコンピューターが1台のシリアル機器へ同時にアクセスする場合、要求の競合や、応答がどの要求元に属するかという問題も生じます。複数のTCP接続に対応していることは、複数のマスターがRS485スレーブを同時に安全に制御できることを意味しません。要求は、アプリケーション間の調整、プロキシ、または明示的に対応しているモードによって管理する必要があり、異なるクライアントからの書き込みが無秩序に混在することを許してはいけません。

7.再テストと製品機能の確認

修復後は、起動、連続ポーリング、ネットワーク切断、復旧をテストし、応答の正確性、再接続時間、バッファリングの動作を観察します。1回成功しただけでは、高負荷時の安定性を意味しません。最終的なパラメーターと切り戻し用の設定を記録したうえで、現場のノードを段階的に再接続し、一度に多くの条件を変更しないようにします。

FeichangのFCT-1500シリーズの詳細情報には、RS232/422/485、仮想シリアルポート、関連するネットワークモードの設定手順が記載されています。対応する光ポート構成のDDM診断は、光モジュールの状態確認に役立ちます。トラブルシューティングでは、まず実際の型番、ポート構成、有効になっているモードを確認し、その後、これらの機能を使ってネットワーク、光伝送路、シリアルの問題を切り分けます。これをすべてのシリアルデバイスサーバーに一般化することはできません。

参考資料:Moxaのシリアルネットワーク接続およびパケット化の説明;Feichang製品2855の詳細。2295、2084、2115にある3種類の異常、仮想シリアルポート、複数クライアントに関する内容を取り入れています。図は一般的な説明図であり、実際の製品や実測時間を示すものではありません。

中国語の技術記事から翻訳。原文初公開日:2022-12-20。原文最終改訂日時:2026-10-13T19:15:07+08:00。 中国語の原文を読む

実務上のよくある質問

TCPサービスに到達できるデバイスでも、検出ツールで見つからないことはありますか?

はい。検出は、ルーターを越えないローカルブロードキャストやベンダー固有のメッセージに依存する場合があります。ファイアウォール保護をすべて無効にするのではなく、文書に記載された管理経路とサービス経路を個別にテストしてください。

シリアルサービスへの接続拒否と、pingテストの失敗はどう違いますか?

TCPの接続拒否は、選択した接続が拒否されたことを示します。一方、pingは別のIPのやり取りをテストします。一方の結果から他方を推測するのではなく、待ち受け設定、許可された送信元、使用中のセッションを確認してください。

シリアル受信カウンターが増えているのに、アプリケーションで利用可能なデータがないと報告されるのはなぜですか?

応答のフレーム境界、アドレス、バイト順、チェックサムが、アプリケーションの期待と異なる可能性があります。ネットワーク転送で応答が失われたと決めつける前に、生のバイト列を保存して解析処理を確認してください。

出典と適用範囲

これらの補足は一般的な仕組みを説明するものです。対応機能、接続の詳細、受入判定基準は、実際の機器、ソフトウェア、運用条件に合わせて検証する必要があります。図は測定結果や認証の証拠ではありません。

この記事を共有する