- 1. 一、概述
- 2. 二、Modbusアドレスタイプ説明
- 3. 三、FX3UデフォルトModbusアドレスマッピングテーブル
- 4. 3.1 ショップ型入力区(X入力继电器)→ 1xxxx
- 5. 3.2 コイル区(Y/M/S等)→ 0xxxx
- 6. 3.3 レジスタを保持する。区(D/Rデータ·レジスタ)→ 4xxxx
- 7. 3.4 入力レジスタ。区 → 3xxxx
- 8. 四、用户自定义デバイス分配
- 9. 五、PLCステーションからの設定步骤
- 10. 5.1 インストール通信适配器
- 11. 5.2 設定通信パラメータ
- 12. 5.3 設定駅からの住所
- 13. 5.4 调用Modbus指令
- 14. 六、PLCマスター·ステーション·リーディング周波数変換器サンプル
- 15. 七、よくある質問与排障ガイド
- 16. 7.1 通讯応答なし。
- 17. 7.2 读不到データ
- 18. 7.3 データは間違ってる或乱码
- 19. 7.4 偶发通信失敗。
- 20. 八、与シーメンスS7-200 SMART違いはありません
- 21. 九、总结
- 22. 十、相关链接
一、概述
三菱FX3U/FX3G/FX3S系列PLC経由FX3U-485ADP-MB或FX3U-232ADP-MB通信适配器,可以実装Modbus RTUマスター或スレーブ功能。本記事基于三菱官方《FX用户手册 – 通信篇》,详细説明FX3U系列PLC的Modbusアドレスマッピングルール。
FX3U系列PLCサポート两种Modbus工作モード:
- Modbus RTUmaster(Master):主动読み書きスレーブデバイス(如周波数変換器、仪表)
- Modbus RTUslave(Slave):被动レスポンストップマシン的読み書きリクエスト
二、Modbusアドレスタイプ説明
Modbusプロトコル定义了四种データエリア,每种エリア有固定的アドレス範囲和機能コード:
| Modbusアドレスエリア | function code | 読み書き属性 | data type | 对应FX3Udevice |
|---|---|---|---|---|
| 0xxxx(コイル) | 01(リードコイルを読む)/ 05(シングルコイルを書く。)/ 15(マルチコイルを書く) | 读/写 | 位(1 bit) | Y/M/S等位デバイス |
| 1xxxx(ショップ型入力) | 02(read discrete inputs) | 読み取り専用 | 位(1 bit) | X入力继电器 |
| 3xxxx(入力レジスタ。) | 04(read input registers) | 読み取り専用 | 字(16 bit) | 特殊レジスタ/固定マッピング |
| 4xxxx(レジスタを保持する。) | 03(read holding registers)/ 06(単一レジスタの書き込み)/ 16(マルチレジスタの書き込み) | 读/写 | 字(16 bit) | D/Rデータ·レジスタ |
重要説明:Modbusアドレス有两种表示方式——带エリア前缀的(如40001)和纯オフセットの量的(如00000)。实际通信で使用する。的是0-based偏移アドレス。
三、FX3UデフォルトModbusアドレスマッピングテーブル
3.1 ショップ型入力区(X入力继电器)→ 1xxxx
FX3U的入力继电器X固定マッピング到Modbus的1xxxxショップ型入力エリア,読み取り専用。
| Modbusaddress | FX3Udevice | 説明 |
|---|---|---|
| 10001 | X000 | 入力继电器第0位 |
| 10002 | X001 | 入力继电器第1位 |
| 10003 | X002 | 入力继电器第2位 |
| 10004 | X003 | 入力继电器第3位 |
| 10005 | X004 | 入力继电器第4位 |
| 10006 | X005 | 入力继电器第5位 |
| 10007 | X006 | 入力继电器第6位 |
| 10008 | X007 | 入力继电器第7位 |
| 10009 | X010 | 入力继电器第8位(八进制) |
| 10010 | X011 | 入力继电器第9位(八进制) |
| … | … | 依次类推,X采用八进制寻址 |
| 10256 | X337 | 最大アドレス(根据IO点数) |
注意:FX系列PLC的X/Y入力出力采用八进制寻址,ではない十进制!X0-X7是前8位,X10-X17是接下来的8位,依次类推。
3.2 コイル区(Y/M/S等)→ 0xxxx
FX3U的出力继电器Y、辅助继电器M、statusS等位デバイス可以マッピング到Modbus的0xxxxコイルエリア,読み書き。
デフォルトマッピング(example):
| Modbusアドレス範囲 | FX3Udevice | Quantity | 説明 |
|---|---|---|---|
| 0x0000 – 0x001F (00001-00032) | Y000-Y017 | 32点 | 出力继电器Y(八进制) |
| 0x0020 – 0x005F (00033-00096) | M0-M63 | 64点 | 辅助继电器M |
| 0x0060 – 0x007F (00097-00128) | S0-S31 | 32点 | statusS |
説明:
- コイルエリアマッピング可以経由参数自定义設定
- デフォルト情况下,Y出力继电器マッピング到最前面
- M辅助继电器マッピング到接下来的エリア
- 每个PLCデバイスエリア占1个位
3.3 レジスタを保持する。区(D/Rデータ·レジスタ)→ 4xxxx
FX3U的データ·レジスタDマッピング到Modbus的4xxxxレジスタを保持する。エリア,読み書き。
| Modbusaddress | FX3Udevice | 説明 |
|---|---|---|
| 40001 | D0 | データ·レジスタ第0个 |
| 40002 | D1 | データ·レジスタThe first one |
| 40003 | D2 | データ·レジスタthe second |
| 40004 | D3 | データ·レジスタThe third one |
| … | … | 依次类推 |
| 40200 | D199 | データ·レジスタ第199个 |
| 40201 | D200 | データ·レジスタ第200个(保持型) |
| … | … | 依次类推 |
| 48000+ | D7999+ | データ·レジスタ最大アドレス |
計算公式:Modbusaddress = 40000 + Dレジスタ编号 + 1
example:要アクセスD100,Modbusaddress = 40000 + 100 + 1 = 40101
Dレジスタ分区説明:
| Dレジスタ範囲 | 点数 | 説明 |
|---|---|---|
| D0-D199 | 200点 | 通用型,可改为保持型 |
| D200-D511 | 312点 | 保持型,可改为非保持 |
| D512-D7999 | 7488点 | 保持型,D1000以后可设为文件レジスタ |
3.4 入力レジスタ。区 → 3xxxx
FX3U的3xxxx入力レジスタ。エリア通常用于只データの読み取り,マッピング相对固定。
- 入力レジスタ。是読み取り専用的
- 通常マッピング到模拟量入力モジュール的データ·レジスタ
- 具体アドレス取决于インストール的アナログモジュール型号和数量
四、用户自定义デバイス分配
FX3U的Modbusアドレスマッピング是可設定的,可以経由用户自定义デバイス分配功能,将不同的PLCデバイスマッピング到Modbusアドレス空间。
ルールの設定:
- コイル(0xxxx)和レジスタを保持する。(4xxxx)是可設定的
- ショップ型入力(1xxxx)和入力レジスタ。(3xxxx)マッピング是固定的
- 最多可以マッピング8个PLCデバイスエリア到Modbusアドレス空间
- 每一组設定信息需要占用21つのレジスタ
設定步骤:
- 在GX Works2プログラミング软件中打开PLC参数設定
- 找到「Modbus串行通信」設定项
- 設定要マッピング的デバイスタイプ和開始アドレス
- 設定マッピング的設備の数
- 下载参数到PLC
五、PLCステーションからの設定步骤
5.1 インストール通信适配器
- インストールFX3U-485ADP-MB通信适配器到PLC左侧
- 確認适配器型号サポートModbus RTU(带-MB后缀)
- 配線:A+接RS485的A线,B-接RS485的B线
5.2 設定通信パラメータ
経由特殊データ·レジスタD8120通信フォーマットの設定:
| D8120設定值(H) | Baud rate | data bit | check digit | stop bit |
|---|---|---|---|---|
| H0000 | – | 8位 | 検証なし。 | 1位 |
| H0080 | 600bps | 8位 | 検証なし。 | 1位 |
| H0081 | 600bps | 8位 | odd parity | 1位 |
| H0082 | 600bps | 8位 | even parity | 1位 |
| H00B0 | 19200bps | 8位 | 検証なし。 | 1位 |
| H00B1 | 19200bps | 8位 | odd parity | 1位 |
| H00B2 | 19200bps | 8位 | even parity | 1位 |
常用設定:9600bps,8データ·ビット,even parity,1ストップ·ビット → D8120 = H00A2
5.3 設定駅からの住所
経由特殊データ·レジスタD8121設定Modbusslave address:
- D8121 = From station address (1-247)
- 例如:D8121 = 1,表示駅からの住所为1
5.4 调用Modbus指令
使用专用的Modbus通信指令:
- マスターモード:使用ADPU/REPU等专用指令
- 駅からのモデル:在参数中有効駅からのモデル,PLC自动レスポンス
六、PLCマスター·ステーション·リーディング周波数変換器サンプル
假设FX3U作为マスター,読み取り三菱周波数変換器的動作頻度は:
| モニタリング项目 | 周波数変換器指令码 | Modbusaddress | 説明 |
|---|---|---|---|
| 运行モード | H7B | 40010 | 実行状態の状態 |
| 出力频率(速度) | H6F | 40201 | 实际出力频率 |
| 出力電流は | H70 | 40202 | 电机电流 |
| 出力电压 | H71 | 40203 | 出力电压 |
通信步骤:
- 設定マスター通信パラメータ(Baud rate、チェックビット等)
- 指定駅からの住所(周波数変換器ステーション番号)
- 指定要読み取り的Modbusaddress
- 読み取りデータ到指定的Dregister
- データの処理后表示或控制
七、よくある質問与排障ガイド
7.1 通讯応答なし。
- チェック配線:RS485的A+和B-是否接反
- チェックD8120設定:通信形式是否正确
- チェックD8121設定:駅からの住所是否正确
- チェック适配器型号:必须是带-MB后缀的Modbus专用适配器
- 测量バス电压:A线应高于B线约200mV
7.2 读不到データ
- チェックデバイスマッピング:確認要アクセス的デバイス是否在マッピング範囲内
- チェックアドレス偏移:注意1-based和0-based違いはありません
- チェック八进制寻址:X/Yデバイス是八进制,ではない十进制
- チェックアドレス範囲:是否超出了マッピング的設備の数
7.3 データは間違ってる或乱码
- チェックデータ格式:16ビット整数まだ32ビット浮動小数点数
- チェックバイトオーダー:ビッグエンディアンまだリトルエンディアン,是否一致
- チェック字序:32ビット·データ的高低字顺序
- チェック缩放比例:是否需要乘以倍率
7.4 偶发通信失敗。
- チェックシールド線:是否用了シールドツイストペア
- チェックバスの長さ:距离是否超出规格
- チェック干渉:通讯线是否与动力线平行
- 終端抵抗のチェック:バス两端是否加了120Ω終端抵抗
八、与シーメンスS7-200 SMART違いはありません
| comparison items | 三菱FX3U | シーメンスS7-200 SMART |
|---|---|---|
| X/Y寻址方式 | 八进制 | decimal |
| レジスタマップを保持 | デフォルト从D0开始,可設定 | 経由HoldStart和MaxHold設定 |
| 通信适配器 | 需要外接FX3U-485ADP-MB | 板载RS485 |
| プログラミング指令 | ADPU/REPU专用指令 | MBUS_CTRL/MBUS_MSGライブラリ命令 |
| 設定方式 | PLCparameter+特殊レジスタ | 调用ライブラリ命令設定 |
九、总结
三菱FX3U系列PLC的Modbusアドレスマッピングルール:
- 0xxxxコイル → Y/M/S等位デバイス,可設定
- 1xxxxショップ型入力 → X入力继电器,固定マッピング
- 3xxxx入力レジスタ。 → 読み取り専用,模拟量入力
- 4xxxxレジスタを保持する。 → Dデータ·レジスタ,可設定
实际应用中,需要特别注意X/Yデバイス的八进制寻址方式,这是三菱PLC与シーメンスPLC最大違いはありません。建议先用Modbus Poll等デバッグ软件测试,確認アドレスマッピング正确后再编写PLC程序。
十、相关链接
- Modbus RTU通讯基础チュートリアル
- 三菱FX3U Modbus通信設定实例
- 三菱周波数変換器Modbus控制ガイド
- RS485バス配線の仕様
Leave a Reply