ホームナレッジTIA Portal で XB6S-PN2002 と XB6S-C01SP を組み合わせて Modbus RTU マスタ局としてコンフィグレーションする方法

TIA Portal で XB6S-PN2002 と XB6S-C01SP を組み合わせて Modbus RTU マスタ局としてコンフィグレーションする方法

2026-06-14

本文の概要

 

1. デモ製品

XB6S-PN2002+XB6S-C01SP

 

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

シーメンスTIA Portal

 

3. 通信モード

XB6S-C01SPをModbusRTUマスタ局として設定し、XB6S-PN2002経由でシーメンスPLCに接続

 

4. デモスレーブ

ModbusRTUプロトコルに対応したエンコーダ(03/06/10ファンクションコードによる読み出し/書き込み操作)

 

5. 関連操作

シリアルポートパラメータ設定、制御ワード設定、ノードパラメータ入力、I/Oアドレスの読み出し/書き込みおよび通信状態の判断

 

 

 

TIA Portalで実点科技のスライス型PROFINETプロトコルバスカプラXB6S-PN2002とシリアル通信ユニットXB6S-C01SPを組み合わせ、シーメンスPLCをModbusRTUスレーブ機器に接続してレジスタの読み出し/書き込みを実現するには、どうすればよいでしょうか。

 

XB6S-PN2002はPROFINET側とPLCとの通信を担当し、XB6S-C01SPはシリアルポート側のModbusRTUマスタ局機能を担当します。両者を組み合わせることで、TIA Portal上でシリアルポートパラメータ設定、ノードコマンドの入力、I/Oアドレスの読み出し/書き込みという一連の操作をすべて完了できます。本文では、ModbusRTUプロトコルに対応したエンコーダを例に、03/06/10の3種類のファンクションコードによる完全なコンフィグレーション方法を紹介します。

 

 

一、デモスレーブの説明

 

本例では、あるModbusRTUプロトコルに対応したエンコーダをスレーブ局とし、そのマニュアルから以下の3つの目標レジスタ操作を確認しました——

 

• 03ファンクションコード:レジスタを2つ読み出し(エンコーダの現在値を読み取り);

• 06ファンクションコード:レジスタを1つ書き込み(ゼロ点をリセット);

• 10ファンクションコード:レジスタを2つ書き込み(現在位置設定)。

 

 

 

二、TIA Portalでのシリアル通信パラメータ設定

 

TIA PortalでXB6S-C01SPユニットを選択し、「プロパティ」→「ユニットパラメータ」をクリックして、通信モードを「ModbusRTUマスタ局」に設定します。

 

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

 

制御ワード関連パラメータの推奨設定

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

 

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

 

フレーム間隔パラメータ説明

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

 

 

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

 

通信モードがModbusRTUマスタ局で、制御ワードが有効になっている場合、以下のルールに従ってノードごとにパラメータを入力してください。本例では3件のコマンドをコンフィグレーションするため、ノード1~4が必要です。

 

説明:ノード1のパラメータ1には、今回実際に使用するノード数(本例では3)を入力します。ノード2以降は各ノードが1つのModbusコマンドに対応し、パラメータ1は16進数形式から変換した10進数値、パラメータ2はスレーブ局番です。

 

 

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

 

コンフィグレーション完了後、Qアドレスを通じて制御指令を送信し、Iアドレスを通じて状態を読み出します。

 

 

本例のアドレスは全て0から始まり、各アドレスの定義は以下のとおりです。

 

 

QB0=1の場合のみノード2がポーリングに参加します。同様に、ノード3、ノード4を有効にするにはQB1=1、QB2=1を設定する必要があります。

 

通信が正常な場合、ステータスワードのBIT0/BIT1/BIT2が変化します。例えばIB0の値は通常2と5が切り替わり、アラームコードは常に0です。通信異常が発生した場合は、アラームコードを確認してください。