ホームナレッジXB6S-EI2002とXB6S-C01SPを組み合わせてModbusRTUマスタ局にコンフィグレーションする方法

XB6S-EI2002とXB6S-C01SPを組み合わせてModbusRTUマスタ局にコンフィグレーションする方法

2026-08-23

本文概要

 

1.デモ製品

XB6S-EI2002+XB6S-C01SP

 

2.コンフィグレーションツール

IOConfigTool

 

3.通信モード

XB6S-C01SPをModbusRTUマスタ局にコンフィグレーション

 

4.デモスレーブ局

Modbus Slaveシリアルデバッグソフト(03/06ファンクションコード読み書き)

 

5.主要操作

シリアル通信パラメータの設定→ノードごとにModbusコマンドコードをコンフィグレーション→コンフィグレーションの送信→上り/下りアドレスによる読み書きとステータス判定

 

6.重要な注意事項

マスタ局とスレーブ局のシリアルパラメータは完全に一致させる必要があります。応答が遅いスレーブ機器では、応答タイムアウトとポーリング遅延を適宜延長してください。

 

XB6S-EI2002は実点科技のEtherNet/IPプロトコル対応スライス型バスカプラで、XB6S-C01SPはシリアル通信ユニットです。両者を組み合わせて使用する場合、XB6S-EI2002がPLCとのEtherNet/IP通信を担当し、XB6S-C01SPがシリアル側のModbusRTUマスタ局機能を担当します。すなわち、IOConfigToolでコンフィグレーションを完了した後、XB6S-C01SPがマスタ局として、サードパーティのModbusRTUスレーブ機器に対して能動的に読み書きを行います。それでは、具体的にシリアル通信パラメータをどのように設定し、ノードごとにModbusコマンドをコンフィグレーションし、上位機器の下り・上りアドレスを通じて読み書き制御と通信ステータス判定を完了すればよいのでしょうか。

 

全体のコンフィグレーションは四つの工程に分かれます:スレーブ局の読み書き要件を明確にする→上位機器でシリアル通信パラメータを設定する→ノードごとにModbusコマンドコードを入力して送信する→下りアドレスと上りアドレスにより読み書き操作とステータスモニタを実現する、という流れです。本文では、ModbusRTUプロトコルに対応したシリアルデバッグソフトModbus Slaveをデモスレーブ局とし、03ファンクションコードによるレジスタ2個の読み出しと06ファンクションコードによるレジスタ2個の書き込みを例に、コンフィグレーションの全工程をデモします。

 

一、デモスレーブ局の説明

本例では、ModbusRTUプロトコルに対応したシリアルデバッグソフトModbus Slaveをスレーブ局として、コンフィグレーション例を示します。

・03ファンクションコード:レジスタ2個を読み出し

・10ファンクションコード:レジスタ2個を書き込み

 

二、上位機器でシリアル通信パラメータをコンフィグレーション

1、通信モードをModbusRTUマスタ局に設定

上位ソフトでユニットをスキャンした後、「設定」→「デバッグ」をクリックしてデバッグモードに入り、続いてXB6S-C01SPユニットを選択し、「パラメータ設定」→「通信モード」をクリックして、通信モードを「ModbusRTUマスタ局」に設定します。

 

2、シリアルポートパラメータの一致

ボーレート、ストップビット、キャラクタフォーマット、検証方式はスレーブ局のシリアルポートパラメータに合わせて入力し、マスタ局とスレーブ局のコンフィグレーションが完全に一致するようにしてください。

 

 

3、制御ワードパラメータ設定

制御ワードを有効にする場合、制御モードは「高レベルトリガ」を選択することをお勧めします。同時に応答タイムアウトを200msに、ポーリング遅延を100msに設定すると、通信の安定性がより高くなります。

 

ヒント:デフォルトパラメータのポーリング速度は比較的速いため、応答が遅い一部のスレーブ機器では応答が間に合わずエラーになる場合があります。応答タイムアウトとポーリング遅延を適切に延長すると、通信の安定性を効果的に向上できます。

 

4、フレーム間隔

フレーム間隔パラメータは通常デフォルトの1.5Tのままで問題ありません。シリアルポートデバッグツールとユニット間の通信は正常、シリアルポートデバッグツールとスレーブ機器間の通信も正常だが、ユニットとスレーブ機器間で通信できない場合は、フレーム間隔の値を徐々に大きくしてテストしてみてください。

 

三、ノードパラメータ設定

通信モードがModbusRTUマスタ局で、かつ制御ワードが有効になっていることを前提に、以下のルールに従ってノードごとにパラメータを入力します。設定完了後、「送信」をクリックしてパラメータをバスカプラに送信します。本例では2つのコマンド(03/06の2種類のファンクションコード)を設定し、ノード1~3を使用します。

 

ヒント:ノード1のパラメータ1には、今回実際に使用するノード数を入力します(本例ではノード2~3の計2ノード)。ノード2以降は各ノードが1つのModbusコマンドに対応し、パラメータ1は16進数形式です。

 

四、アドレスの読み書きと通信状態の判断

1、読み書き操作

03ファンクションコードで01番スレーブ局のアドレス0000から2つの保持型レジスタデータを読み出す例として、Modbus Slaveでスレーブ局をシミュレートし、設定結果は以下のとおりです。

 

コンフィグレーション完了後、上位機器の下りアドレスから制御命令を送信し、上りアドレスから状態を読み出します。本例ではアドレスはすべて0から始まります。

 

下りデータでノード2とノード3のイネーブルをそれぞれオンにし、ノード3で送信するデータを書き込んでから「送信」をクリックします。

 

上位機器の上りデータでは、対応する設定ノードのステータスワードとアラームコードを確認でき、同時にModbus Slaveのアドレス0000から2つのレジスタの値を読み出し、アドレス0008に2つのレジスタの値を書き込んでいます。

 

 

2、通信状態の判断

通信が正常な場合、ステータスワードは絶えず変化し(一般的に2と5が切り替わるのが見られます)、アラームコードは常に0です。通信に異常がある場合は、アラームコードを確認して問題を特定できます。