1.対応製品
XB6S-C01SP
2.通信プロトコル
Modbus(マスタ局モード)
3.主要な問題
Control ModeをDisableとLevelに設定した場合における、プロセスデータアドレスの違い
4.主な影響
制御ワードを有効にする(Levelモード)と、TX/RXアドレス全体が後方にずれるため、制御ワード、ステータスワード、アラームコードのアドレスを確保する必要があります
5.前提条件
クライアントがXB6S-C01SPユニットを正常にコンフィグレーションおよび使用できる状態であること
XB6S-C01SPは実点科技のスライス型1チャネルシリアルコミュニケーションユニットですが、Modbus マスタ局モードにおいて、そのプロセスデータアドレスはどのように定義すればよいでしょうか。
この問題の核心は、Control Modeパラメータの設定方法にあります。Control ModeをDisable(制御ワード無効)に設定した場合、TX/RXプロセスデータアドレスは開始位置から連続して並びます。一方、Control ModeをLevel(制御ワード有効)に設定した場合、各ノードのイネーブル制御ワード、通信ステータスワード、およびアラームコードがそれぞれTXおよびRXの先頭側のアドレスを占有するため、実際のデータアドレスが全体的に後方へずれます。本文では、コンフィグレーション例とプロセスデータアドレス対照表を用いて、両モードにおけるアドレス定義規則を順に説明します。

前提条件:本文書では、クライアントがXB6S-C01SPユニットを正常にコンフィグレーションおよび使用できる状態であることを前提としており、初回立ち上げ時のデバッグ手順は扱いません。
以下は、コンフィグレーション時にModbus マスタ局が送信し、スレーブ局が応答する通信メッセージの例です。デバッグ時に通信が正常であるかを確認する際にご参照ください。

Control Modeの設定によって、Node Paramパラメータの値が異なります。下表に、両モードにおける各NodeのParam1およびParam2の設定値を示しますので、コンフィグレーション時にご参照ください。

Control Mode = Disable(制御ワード無効)
制御ワードを無効にした場合、TXおよびRXのプロセスデータアドレスは開始アドレスから連続して配置され、制御ワード、ステータスワード、アラームコードの余分な占有はありません。

Control Mode = Level(制御ワードを有効にした場合)
制御ワードを有効にした場合、TXプロセスデータの先頭には各ノードのイネーブル制御ワード(TX1~TX4)が優先的に配置され、RXプロセスデータの先頭には各ノードの通信ステータスワードとアラームコード(RX1~RX8)が優先的に配置され、実際のデータアドレス全体は後方へシフトします。

上記2つのプロセスデータアドレス表を比較すると、以下の規則にまとめられます。
・アドレスの配置順序はノード構成の順序と一致し、順に後方へ増加します。
・制御ワードを有効にした場合(Levelモード)、イネーブル制御ワードはTXプロセスデータの先頭に配置されます。
・制御ワードを有効にした場合(Levelモード)、通信ステータスワードとアラームコードはRXプロセスデータの先頭に配置されます。
・制御ワードを無効にした場合(Disableモード)、TX/RXアドレスには各ノードの実際のデータのみが含まれ、余分な占有はありません。