三菱 FX3U PLC Modbus RTU レジスタアドレスマッピング完全ガイド

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

1. 概要

三菱 FX3U/FX3G/FX3S シリーズ PLC は、通信アダプタ FX3U-485ADP-MB または FX3U-232ADP-MB を介して Modbus RTU のマスターまたはスレーブ機能を実現できます。本記事は三菱公式『FX ユーザーズマニュアル - 通信編』に基づき、FX3U シリーズ PLC の Modbus アドレスマッピングルールを詳しく説明します。

FX3U シリーズ PLC は2つの Modbus 動作モードをサポートします。

  • Modbus RTU マスター(Master):スレーブ機器(インバータ、計器など)を能動的に読み書きする
  • Modbus RTU スレーブ(Slave):上位機からの読み書き要求に受動的に応答する

2. Modbus アドレスタイプの説明

Modbus プロトコルは4つのデータ領域を定義しており、各領域には固定のアドレス範囲と機能コードがあります。

Modbus アドレス領域機能コード読み書き属性データ型対応する FX3U デバイス
0xxxx(コイル)01(コイル読み出し)/ 05(単一コイル書き込み)/ 15(複数コイル書き込み)読み/書きビット(1 bit)Y/M/S などのビットデバイス
1xxxx(離散入力)02(離散入力読み出し)読み取り専用ビット(1 bit)X 入力リレー
3xxxx(入力レジスタ)04(入力レジスタ読み出し)読み取り専用ワード(16 bit)特殊レジスタ / 固定マッピング
4xxxx(保持レジスタ)03(保持レジスタ読み出し)/ 06(単一レジスタ書き込み)/ 16(複数レジスタ書き込み)読み/書きワード(16 bit)D/R データレジスタ

重要な説明:Modbus アドレスには2種類の表記があります——領域プレフィックス付き(例:40001)と純粋なオフセット(例:00000)です。実際の通信で使われるのは 0 始まり(0-based)のオフセットアドレスです。

3. FX3U デフォルト Modbus アドレスマッピング表

3.1 離散入力領域(X 入力リレー)→ 1xxxx

FX3U の入力リレー X は Modbus の 1xxxx 離散入力領域に固定マッピングされ、読み取り専用です。

Modbus アドレスFX3U デバイス説明
10001X000入力リレー第0ビット
10002X001入力リレー第1ビット
10003X002入力リレー第2ビット
10004X003入力リレー第3ビット
10005X004入力リレー第4ビット
10006X005入力リレー第5ビット
10007X006入力リレー第6ビット
10008X007入力リレー第7ビット
10009X010入力リレー第8ビット(8進数)
10010X011入力リレー第9ビット(8進数)
......以下同様。X は8進数アドレッシング
10256X337最大アドレス(I/O 点数による)

注意:FX シリーズ PLC の X/Y 入出力は8進数アドレッシングで、10進数ではありません! X0-X7 が先頭の8ビット、X10-X17 が次の8ビットで、以下同様です。

3.2 コイル領域(Y/M/S など)→ 0xxxx

FX3U の出力リレー Y、補助リレー M、状態 S などのビットデバイスは Modbus の 0xxxx コイル領域にマッピングでき、読み書き可能です。

デフォルトマッピング(例):

Modbus アドレス範囲FX3U デバイス数量説明
0x0000 - 0x001F (00001-00032)Y000-Y01732点出力リレー Y(8進数)
0x0020 - 0x005F (00033-00096)M0-M6364点補助リレー M
0x0060 - 0x007F (00097-00128)S0-S3132点状態 S

説明:

  • コイル領域のマッピングはパラメータでカスタマイズ可能
  • デフォルトでは、出力リレー Y が先頭にマッピングされる
  • 補助リレー M はその次の領域にマッピングされる
  • 各 PLC デバイス領域は1ビットを占有する

3.3 保持レジスタ領域(D/R データレジスタ)→ 4xxxx

FX3U のデータレジスタ D は Modbus の 4xxxx 保持レジスタ領域にマッピングされ、読み書き可能です。

Modbus アドレスFX3U デバイス説明
40001D0データレジスタ第0個
40002D1データレジスタ第1個
40003D2データレジスタ第2個
40004D3データレジスタ第3個
......以下同様
40200D199データレジスタ第199個
40201D200データレジスタ第200個(保持型)
......以下同様
48000+D7999+データレジスタ最大アドレス

計算式:Modbus アドレス = 40000 + D レジスタ番号 + 1

例:D100 にアクセスする場合、Modbus アドレス = 40000 + 100 + 1 = 40101

D レジスタの区分説明:

D レジスタ範囲点数説明
D0-D199200点汎用型、保持型に変更可能
D200-D511312点保持型、非保持に変更可能
D512-D79997488点保持型、D1000以降はファイルレジスタに設定可能

3.4 入力レジスタ領域 → 3xxxx

FX3U の 3xxxx 入力レジスタ領域は通常、読み取り専用データに使用され、マッピングは比較的固定です。

  • 入力レジスタは読み取り専用
  • 通常はアナログ入力モジュールのデータレジスタにマッピングされる
  • 具体的なアドレスは、装着するアナログモジュールの機種と台数に依存する

4. ユーザー定義デバイス割り当て

FX3U の Modbus アドレスマッピングは設定可能です。ユーザー定義デバイス割り当て機能により、異なる PLC デバイスを Modbus アドレス空間にマッピングできます。

設定ルール:

  • コイル(0xxxx)と保持レジスタ(4xxxx)は設定可能
  • 離散入力(1xxxx)と入力レジスタ(3xxxx)のマッピングは固定
  • 最大8つの PLC デバイス領域を Modbus アドレス空間にマッピング可能
  • 各グループの設定情報は2個のレジスタを占有する

設定手順:

  1. GX Works2 プログラミングソフトで PLC パラメータ設定を開く
  2. 「Modbus シリアル通信」設定項目を探す
  3. マッピングするデバイスタイプと開始アドレスを設定する
  4. マッピングするデバイス数を設定する
  5. パラメータを PLC にダウンロードする

5. PLC スレーブ設定手順

5.1 通信アダプタの取り付け

  1. 通信アダプタ FX3U-485ADP-MB を PLC の左側に取り付ける
  2. アダプタ機種が Modbus RTU をサポートすることを確認する(-MB サフィックス付き)
  3. 配線:A+ を RS485 の A 線に、B- を RS485 の B 線に接続する

5.2 通信パラメータの設定

特殊データレジスタ D8120 で通信フォーマットを設定します。

D8120 設定値(H)ボーレートデータビットパリティストップビット
H0000-8ビットなし1ビット
H0080600bps8ビットなし1ビット
H0081600bps8ビット奇数1ビット
H0082600bps8ビット偶数1ビット
H00B019200bps8ビットなし1ビット
H00B119200bps8ビット奇数1ビット
H00B219200bps8ビット偶数1ビット

よく使う設定:9600bps、8データビット、偶数パリティ、1ストップビット → D8120 = H00A2

5.3 スレーブアドレスの設定

特殊データレジスタ D8121 で Modbus スレーブアドレスを設定します。

  • D8121 = スレーブアドレス(1-247)
  • 例:D8121 = 1 はスレーブアドレスが1であることを示す

5.4 Modbus 命令の呼び出し

専用の Modbus 通信命令を使用します。

  • マスターモード:専用の Modbus 読み書き命令 ADPRW(FNC276)を使用します。ADPRW は1本の命令で、機能コード(S1)により読み/書きを区別します:H01 コイル読出、H02 離散入力読出、H03 保持レジスタ読出、H04 入力レジスタ読出、H05 単一コイル書込、H06 単一レジスタ書込、H0F 複数コイル書込、H10 複数レジスタ書込、H17 複数レジスタ読書。形式 ADPRW S S1 S2 S3 S4 D:S=スレーブ局番(0はブロードキャスト)、S1=機能コード、S2/S3/S4=先頭アドレス・個数などの指令パラメータ、D=データ/応答の先頭デバイス。FX3U に ADPU/REPU という2本の命令は存在せず、読み書きは ADPRW と機能コードで統一して行います
  • スレーブモード:パラメータでスレーブモードを有効化すると、PLC が自動的に応答

6. PLC マスターがインバータを読み取る例

FX3U がマスターとして、三菱インバータの運転周波数を読み取る場合を想定します。

モニタ項目インバータ命令コードModbus アドレス説明
運転モードH7B40010運転状態
出力周波数(速度)H6F40201実際の出力周波数
出力電流H7040202モータ電流
出力電圧H7140203出力電圧

通信手順:

  1. マスターの通信パラメータを設定する(ボーレート、パリティなど)
  2. スレーブアドレスを指定する(インバータの局番)
  3. 読み取る Modbus アドレスを指定する
  4. 指定した D レジスタにデータを読み取る
  5. データ処理後に表示または制御する

7. よくある問題とトラブルシューティングガイド

7.1 通信が無応答

  • 配線確認:RS485 の A+ と B- が逆接続されていないか
  • D8120 設定確認:通信フォーマットが正しいか
  • D8121 設定確認:スレーブアドレスが正しいか
  • アダプタ機種確認:-MB サフィックス付きの Modbus 専用アダプタである必要がある
  • バス電圧の測定:A 線は B 線より約200mV 高い必要がある

7.2 データを読み取れない

  • デバイスマッピング確認:アクセスするデバイスがマッピング範囲内か確認
  • アドレスオフセット確認:1始まりと0始まりの違いに注意
  • 8進数アドレッシング確認:X/Y デバイスは8進数で、10進数ではない
  • アドレス範囲確認:マッピングされたデバイス数を超えていないか

7.3 データが正しくない、または文字化けする

  • データ形式確認:16ビット整数か32ビット浮動小数点数か
  • バイトオーダー確認:ビッグエンディアンかリトルエンディアンか、一致しているか
  • ワード順確認:32ビットデータの上位/下位ワードの順序
  • スケーリング確認:倍率を掛ける必要があるか

7.4 偶発的な通信失敗

  • シールド線確認:シールド付きツイストペアケーブルを使っているか
  • バス長確認:距離が仕様を超えていないか
  • 干渉確認:通信線が動力線と平行に配線されていないか
  • 終端抵抗確認:バス両端に120Ωの終端抵抗を付けたか

8. シーメンス S7-200 SMART との違い

比較項目三菱 FX3Uシーメンス S7-200 SMART
X/Y アドレッシング8進数10進数
保持レジスタマッピングデフォルトは D0 から、設定可能HoldStart と MaxHold で設定
通信アダプタ外付け FX3U-485ADP-MB が必要オンボード RS485
プログラミング命令ADPRW(FNC276)専用命令(機能コードで読み/書き)MBUS_CTRL/MBUS_MSG ライブラリ命令
設定方法PLC パラメータ+特殊レジスタライブラリ命令の呼び出しで設定

9. まとめ

三菱 FX3U シリーズ PLC の Modbus アドレスマッピングルール:

  • 0xxxx コイル → Y/M/S などのビットデバイス、設定可能
  • 1xxxx 離散入力 → X 入力リレー、固定マッピング
  • 3xxxx 入力レジスタ → 読み取り専用、アナログ入力
  • 4xxxx 保持レジスタ → D データレジスタ、設定可能

実際の運用では、X/Y デバイスの8進数アドレッシングに特に注意が必要で、これが三菱 PLC とシーメンス PLC の最大の違いです。まず Modbus Poll などのデバッグソフトでテストし、アドレスマッピングが正しいことを確認してから PLC プログラムを作成することをおすすめします。

10. 関連リンク

  • Modbus RTU 通信基礎チュートリアル
  • 三菱 FX3U Modbus 通信設定実例
  • 三菱インバータ Modbus 制御ガイド
  • RS485 バス配線規格
この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注