シリアルサーバーの役割は、元々シリアルポートでしか通信できなかった計測器、コントローラーなどのデバイスをネットワークに接続することです。正しく使用するには、単にIPアドレスを入力するだけでは不十分です。まずシリアルインターフェースとプロトコルを確認し、次に配線、シリアルパラメーター、ネットワーク上の役割、ホストコンピューターのソフトウェア設定を完了し、最後に要求と応答が往復全体を通じて完全に伝送されることを検証します。以下では、デバイス1台を短距離で接続するテストから始め、各手順を行う理由をわかりやすく説明します。
1. シリアルデバイスをネットワークに接続する仕組み
シリアルポートは、配線上でビットを順番に送信し、受信側は合意された速度と形式に従ってバイトに復元します。シリアルサーバー内部では、まず送受信回路が電気信号を処理し、次にUART(汎用非同期送受信回路)がバイトを受信し、バッファーに蓄えた後でネットワークに送信します。逆方向では、ネットワークから受信したバイトをキューに入れ、UARTとシリアル回路を介して端末に送信します。バッファーは、異なる速度で動作する両側を橋渡しする領域であり、容量が無制限の倉庫ではありません。
透過伝送は通常、アプリケーションのバイト内容を可能な限り保持しようとするもので、個々の業務コマンドを理解する役割は担いません。RS485は電気インターフェース、Modbus RTUはメッセージの規則、TCPはネットワーク伝送の仕組みであり、この3つは同じ層ではありません。RTUのバイト列をTCP接続に流しても、自動的にModbus TCP形式に準拠した要求になるわけではありません。変換モードへの対応が明記され、そのモードが有効になっているデバイスだけが、規則に従ってプロトコルの違いを処理します。

古い計測器のデータ収集システムへの接続、入退室管理デバイスのネットワーク化、建物設備の集中管理などの用途に適しています。ただし、ネットワーク化によって古いデバイスが突然新しいコマンドに対応するわけではなく、安全制御ロジックを置き換えるものでもありません。医療、電力、重要制御システムでは、絶縁、アクセス権限、応答時間、通信途絶後の安全な動作を別途検証する必要があります。「シリアルをネットワークポートに変換」という言葉だけで構成を決めることはできません。
2. 電源投入前にインターフェースと配線を確認する
まず端末のマニュアルを用意し、電気的なインターフェース種別、端子定義、電源範囲、シリアルパラメーター、プロトコル、デバイスアドレスを確認します。筐体上のDB9や端子台が同じでも、内部がすべてRS232とは限りません。RS232、RS422、RS485、TTLをそのまま混在させることはできません。電源電圧と極性を確認し、指定された電源オフ条件で配線してから、メーカー指定の順序で電源を投入します。電源端子を信号端子と取り違えないでください。
RS232はポイントツーポイント通信によく使用され、ケーブルは両側の送信、受信、基準グラウンドの定義と照合する必要があります。場合によってはハードウェアフロー制御線も必要です。コネクターのオス・メスだけで、ストレートケーブルとクロスケーブルのどちらを使うか判断することはできません。RS422では送信と受信に別々の差動ペアを使うことが多く、送信ペアを相手側の受信ペアに接続します。具体的な全二重配線方法は、両方のマニュアルに従ってください。
一般的な2線式RS485では、複数のデバイスが1本のバスを共有します。通常は幹線に短い分岐を設けて接続し、むやみにスター形へ拡張すべきではありません。A/Bの名称はメーカーによって異なる場合があるため、文字を合わせるだけでなく、電気的な定義を確認してください。終端抵抗は回線の反射を抑えるために使用し、ケーブル特性、速度、トポロジーに応じて物理的な両端に設定します。一般的な120Ωは一例にすぎず、すべてのノードに追加してはいけません。デバイス内蔵の終端、バイアス、基準グラウンドも確認し、シールドと保護接地は現場設計に従って処理してください。

3. シリアルパラメーターとネットワークパラメーターがそれぞれ制御するもの
ボーレートは送信のタイミングを決め、データビット、パリティビット、ストップビットはシリアル文字の構成を決めます。両側で一致し、かつ端末が対応する組み合わせを使用してください。例えば、9600、8N1は、一般的な9600ボー、データ8ビット、パリティなし、ストップ1ビットを意味しますが、すべてのデバイスの初期値ではありません。プロトコルがパリティや異なる数のストップビットを使用する場合は、プロトコルと端末の設定に従ってください。手軽だからという理由ですべてを8N1に変更してはいけません。
フロー制御は送信速度の調整に使用します。ハードウェアフロー制御では追加の制御線を使用する場合があり、ソフトウェアフロー制御では特定の文字を使用します。また、RS485では送受信方向の切り替えも関係します。ボーレートだけを変更し、フロー制御、インターフェースモード、方向制御を見落とすと、依然としてデータが出ない場合があります。シリアルパラメーターを保存した後は、正しい物理ポートに適用されたことを確認してください。複数チャネルがある場合は、別のチャネルを誤って変更しないでください。
ネットワーク側にはIP、マスク、必要に応じてゲートウェイが必要です。固定アドレスは固定先へのアクセスに便利ですが、ネットワーク管理者が割り当て、競合を避ける必要があります。DHCPを使用する場合は、リースが変わった後にホストコンピューターがデバイスを見つける方法を確認してください。初期の動作確認では、隔離されたテストネットワーク上でコンピューターとデバイスを同じサブネットに置くことができます。本番導入後も常に同じサブネットである必要はありません。サブネットをまたぐアクセスにはルーティングと許可されたポリシーが必要であり、LAN内の検出ツールはルーターを越えて動作するとは限りません。
管理用Webページのポートと業務通信用のTCPポートは、用途が異なります。Webページを開けても、シリアルの業務通信接続が成功した証拠にはなりません。管理アドレス、各チャネルの業務通信ポート、接続先アドレス、動作モードを記録し、変更前に設定をエクスポートしてください。IPの変更後に元のページが切断されるのは、正常な結果である場合があります。新しいアドレスにアクセスし、工場出荷時設定への復元を繰り返したり、すべてのパラメーターを同時に変更したりしないでください。
4. 適切なネットワーク接続方式を選ぶ:ソケット、仮想COM、プロトコルゲートウェイ
TCP Serverはデバイスが接続を待ち受けることを意味し、TCP Clientはデバイスが相手側へ能動的に接続することを意味します。一般的な構成は、シリアルサーバーをServer、ホストコンピューターをClientとし、デバイスのIPと業務通信ポートを入力する方法です。逆に、デバイスから中央サーバーへ能動的に接続する構成も可能です。両側が待ち受けるだけで、どちらも接続を開始しなければ、セッションは確立されません。これらのネットワーク上の役割はModbusのマスターとスレーブとは異なり、端末の局番はTCPポート番号ではありません。

ソフトウェアがSocket(ネットワーク通信インターフェース)を直接使用できる場合は、デバイスのモードに従ってTCPバイトストリームを直接読み書きできます。既存プログラムがCOMポートしか認識しない場合に限り、互換性のある仮想COMポートドライバーで、ローカルのCOM番号をネットワークデバイスにマッピングする必要があります。インストール後は、ドライバーのバージョン、権限、COM番号、マッピング先アドレス、ポートを確認します。まずそのCOMポートを使用中の他のプログラムを終了し、その後に業務ソフトウェアを起動してください。
ホストコンピューターがModbus TCPのみを送信し、計測器がModbus RTUを使用する場合は、RTU/TCP変換への対応が明記されたゲートウェイモードを選び、シリアルポートとアドレスマッピングを設定する必要があります。透過転送とプロトコル変換を同一のモードとして扱わないでください。UDPはTCPセッションを確立する必要がありませんが、アプリケーション側で欠落、重複、順序の入れ替わりを考慮する必要があります。設定が簡単だからという理由で、未検証の重要制御に使用してはいけません。
5. 条件を限定した例で全手順を確認する
RS485計測器がModbus RTUを使用し、局番は1で、マニュアルに9600、8N1への対応が明記されているとします。ホストコンピューターのソフトウェアはRTU要求のバイト列を送信でき、TCP接続で通信できます。ここではModbus TCPゲートウェイではなく、透過TCP Serverを使用します。IPとポートは、テストネットワークの実際の計画に従って入力し、オンラインのアドレスをそのままコピーしません。
手順1:この計測器とシリアルサーバーだけを接続し、電源、インターフェース、パラメーターを確認します。手順2:シリアルサーバーに有効なアドレスを割り当て、正しいシリアルポートに対応するTCP Serverの待受ポートを有効にします。手順3:ホストコンピューターからそのアドレスとポートに接続し、計測器のマニュアルに記載された読み取り専用要求で、既知のレジスター1つを読み取ります。書き込みコマンドや制御コマンドをむやみに送信しないでください。
手順4:ネットワークセッションとシリアル送受信カウントを確認します。送信カウントが増えても受信カウントが増えない場合は、まず計測器の電源、配線、局番、要求形式を確認します。両方のカウントが増えてもプログラムが解析できない場合は、返されたバイト列、メッセージ境界、チェックサム、タイムアウトを確認します。手順5:返された値が計測器の表示または既知の状態と一致することを確認してから、それぞれ異なるアドレスを持つ新しいノードを1台ずつ追加し、追加のたびにエラーが発生するか記録します。
Modbus TCPのみに対応したホストコンピューターへ切り替える場合は、対応するプロトコル変換モードを使用し、マッピングを再検証してください。既存プログラムがCOMポートしか開けない場合は、仮想COMポート経由の方式を使用します。一度に選択するのは検証済みの通信経路1つだけとし、ドライバー、Socketツール、複数のマスターが同じデバイスを同時に取り合わないようにしてください。これにより、一見ランダムな応答エラーが起こる場合があります。
6. よくある問題の原因と切り分け方法
1. デバイスが見つからない、またはWebページが開かない
電源、ネットワークポートのリンク、コンピューターで現在使用しているネットワークアダプター、既知のIPを確認し、次に同一サブネットの条件、VLAN、アクセスルールを確認します。複数のネットワークアダプター、VPN、無線クライアント間の分離によって、検出メッセージが誤った経路へ送られる場合があります。まず既存の設定、アドレスのリース情報、メーカーの検出ツールを確認してください。IPを忘れたからといって、すぐにRESETを押すべきではありません。工場出荷時設定へ復元すると設定が失われるため、バックアップ、停止時間帯の確保、現場での承認が必要です。
2. デバイスは見つかるが、TCP接続に失敗する
Server/Clientの役割、待受ポート、接続先アドレス、使用中のセッションを確認します。Pingが成功しても、ある種のIPメッセージが到達可能であることを示すだけで、業務通信ポートが開いている証拠にはなりません。ファイアウォールでは必要なプロセス、ポート、送信元範囲だけを許可し、セキュリティ保護をすべて無効にしないでください。公衆ネットワークを経由するアクセスでは、管理されたVPNまたは安全なアクセス方式を優先し、管理用Webページやシリアル制御ポートを直接公開しないでください。
3. COMポートを開けない、または接続後に業務データがない
まず、ローカルのCOMポートが使用中なのか、リモートのシリアルポートが応答しないのかを区別します。前者ではドライバー、マッピング、プロセスを確認し、後者ではシリアルパラメーター、配線、局番、プロトコルを確認します。TCP接続が成功しても、端末が要求を受信した証拠にはなりません。「接続」を繰り返しクリックするよりも、既知の有効な読み取り専用要求と、返された生のバイト列を使って検証する方が、問題の特定に役立ちます。
4. データのバイト欠落、ポーリングのタイムアウト、パケットの分割や結合が発生する
Ethernetへの書き込みは、シリアル送信よりはるかに速い場合があります。バッファー容量の制限、フロー制御の欠如、アプリケーションの早すぎる終了、異常切断はいずれも業務データの不完全な伝送を引き起こす可能性があります。TCPの信頼性のあるバイトストリームでも、すべてのデータがシリアルポートから端末へ送信済みであることは保証できません。機種に応じてバッファーとフロー制御の機能を確認し、アプリケーション側で送信ペースを制限し、完了条件を待ち、全体の長さと内容を検証してください。

パケット化の条件にはバイト数、時間間隔、区切り文字などがあり、追加のバイトを待つとネットワークへの送信が遅れます。ホストコンピューターのタイムアウトには、シリアル伝送、端末処理、パケット化、ネットワーク往復の時間を含め、実際の負荷条件で測定する必要があります。TCPの1回の読み取りでは、メッセージの半分しか返らない場合も、複数のメッセージが返る場合もあります。プログラムはアプリケーションプロトコルに従ってデータを蓄積し、フレームを切り出して検証する必要があり、1回の読み取りが1つの応答に等しいことを前提にしてはいけません。
5. 複数のコンピューターまたは複数のサーバーで1つのポートを共有する
中央側の1つの待受ポートで複数のネットワークセッションを受け付けることはできますが、アプリケーションは各セッションがどのデバイスに属するかを識別し、再接続、識別情報、メッセージの送信元を処理する必要があります。デバイスIDが1つあるだけでは不十分な場合があります。また、複数のコンピューターが同じシリアルサーバーに接続できても、同じRS485スレーブを同時に制御できるとは限りません。1つのデータ収集サービスで要求を調整してから結果を複数のクライアントへ配信するか、対応が明記され、検証済みの調停方式を使用してください。
7. 選定と受入試験:「接続できる」だけで判断しない
選定では、まず実際に必要なシリアルポート数、電気規格、プロトコル、ソフトウェアのアクセス方式、ケーブル距離、絶縁要件、現場環境を列挙し、その後で具体的な機種を確認します。飛暢科技のFCT-1500シリーズの詳細には、異なるシリアル構成、仮想COM、RTU/TCP変換モードが記載されています。既存ソフトウェアについてはドライバー方式を確認し、プロトコルが一致しない場合は変換モードを確認できます。光ポート構成に対応するDDMは、モジュールの状態確認に役立ちますが、シリアルプロトコルが正しいことの証拠にはなりません。内蔵終端抵抗も、実際のバス上の位置に応じて設定し、むやみに追加しないでください。
受入試験には、少なくとも通常の読み取り専用ポーリング、想定負荷での連続通信、ネットワーク切断と再接続、デバイスの電源再投入、アドレスの復旧、複数ノードでの動作を含めてください。リンクランプだけでなく、返された内容、エラー数、最大応答時間、重複応答、バッファーの動作を確認します。切断テストは承認された環境で実施し、本番の制御システムで許可なくケーブルを抜かないでください。引き継ぎ時に保守担当者が再現できるよう、バージョン、設定、配線図、テスト結果、切り戻し方法を保存してください。
本記事は使い方の入門と導入手順全体の解説です。すでに障害が発生している場合は、続けて次の記事をご覧ください: シリアルサーバー異常の階層別トラブルシューティング。この2つの記事は、それぞれ「接続方法」と「障害の特定方法」を扱っており、定義を繰り返して記事数を増やすものではありません。
参考資料:Modbusシリアル回線実装ガイド;Moxaのシリアルネットワーク化の解説;飛暢科技のシリアルサーバー製品分類,FCT-1500製品詳細。本記事は、元の1192、2116、1983、2067、1718、2059、1997の有効な内容を統合したものです。例示したパラメーターは機種の初期値を表すものではありません。原理図は一般的な仕組みを示す模式図であり、実際の製品や実測結果を表すものではありません。具体的な機能は、機種、ファームウェア、マニュアルに従います。
中国語の技術記事から翻訳。原文初公開:2019-11-22。原文最終改訂:2026-10-13T19:15:07+08:00。 中国語の原文を読む


