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



ボーレート、ストップビット、キャラクタフォーマット、検証方式はスレーブ局のシリアルポートパラメータに合わせて入力し、マスタ局とスレーブ局のコンフィグレーションを完全に一致させてください。
制御ワード関連パラメータの推奨設定
制御ワードを有効にする場合、制御モードは「レベルトリガ」を選択することを推奨します。同時に応答タイムアウトを200ms、ポーリング遅延を100msに設定すると、通信の安定性がより高くなります。

ヒント:デフォルトパラメータではポーリング速度が速いため、応答の遅い一部のスレーブ機器では応答が間に合わずエラーになる場合があります。応答タイムアウトとポーリング遅延を適切に延長することで、通信の安定性を効果的に向上できます。
フレーム間隔パラメータ説明
フレーム間隔は通常、デフォルトの1.5Tのままで問題ありません。シリアルポートデバッグツールとユニットの通信は正常、シリアルポートデバッグツールとスレーブ機器の通信も正常であるにもかかわらず、ユニットとスレーブ機器間で通信できない場合は、フレーム間隔の値を徐々に大きくしてテストしてみてください。
通信モードがModbusRTUマスタ局で、制御ワードが有効になっている場合、以下のルールに従ってノードごとにパラメータを入力してください。本例では3件のコマンドをコンフィグレーションするため、ノード1~4が必要です。


説明:ノード1のパラメータ1には、今回実際に使用するノード数(本例では3)を入力します。ノード2以降は各ノードが1つのModbusコマンドに対応し、パラメータ1は16進数形式から変換した10進数値、パラメータ2はスレーブ局番です。
コンフィグレーション完了後、Qアドレスを通じて制御指令を送信し、Iアドレスを通じて状態を読み出します。

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



QB0=1の場合のみノード2がポーリングに参加します。同様に、ノード3、ノード4を有効にするにはQB1=1、QB2=1を設定する必要があります。
通信が正常な場合、ステータスワードのBIT0/BIT1/BIT2が変化します。例えばIB0の値は通常2と5が切り替わり、アラームコードは常に0です。通信異常が発生した場合は、アラームコードを確認してください。
