- 1. 一、概述
- 2. 二、Modbusアドレスタイプ説明
- 3. 三、DVP Modbusアドレスマッピングテーブル
- 4. 3.1 ショップ型入力区(X入力继电器)→ 1xxxx
- 5. 3.2 コイル区(Y/M/S等)→ 0xxxx
- 6. 3.3 レジスタを保持する。区(Dデータ·レジスタ)→ 4xxxx
- 7. 3.4 カウンター·カウンターC → 4xxxxレジスタを保持する。
- 8. 四、PLCマスター通信指令
- 9. 4.1 MODRD(駅から読む。データ)
- 10. 4.2 MODWR(写スレーブデータ)
- 11. 五、PLCステーションからの設定步骤
- 12. 5.1 硬件连接
- 13. 5.2 設定通信パラメータ
- 14. 5.3 設定駅からの住所
- 15. 5.4 通讯プロトコルモデル設定
- 16. 六、読み取り台達周波数変換器サンプル
- 17. 七、よくある質問与排障ガイド
- 18. 7.1 通讯応答なし。
- 19. 7.2 读不到データ
- 20. 7.3 データは間違ってる或乱码
- 21. 7.4 偶发通信失敗。
- 22. 八、与其他ブランドPLC違いはありません
- 23. 九、总结
- 24. 十、相关链接
一、概述
台達DVP系列PLC(DVP-ES2/EX2/SS2/SA2/SX2/SE等)内建RS-485通信ポート。,サポート標準Modbus ASCII/RTU通信プロトコル。本記事基于台達官方《DVP-PLC应用技术手册(程序篇)》,详细説明DVP系列PLC的Modbusアドレスマッピングルール。
DVP系列PLCサポート两种Modbus工作モード:
- Modbus RTUmaster(Master):使用MODRD/MODWR指令主动読み書きスレーブデバイス(如周波数変換器、サーモスタット)
- Modbus RTUslave(Slave):被动レスポンストップマシン的読み書きリクエスト
二、Modbusアドレスタイプ説明
Modbusプロトコル定义了四种データエリア,每种エリア有固定的アドレス範囲和機能コード:
| Modbusアドレスエリア | function code | 読み書き属性 | data type | 对应DVPdevice |
|---|---|---|---|---|
| 0xxxx(コイル) | 01(リードコイルを読む)/ 05(シングルコイルを書く。)/ 15(マルチコイルを書く) | 读/写 | 位(1 bit) | Y/M/S等位デバイス |
| 1xxxx(ショップ型入力) | 02(read discrete inputs) | 読み取り専用 | 位(1 bit) | X入力继电器 |
| 3xxxx(入力レジスタ。) | 04(read input registers) | 読み取り専用 | 字(16 bit) | 特殊レジスタ/CRregister |
| 4xxxx(レジスタを保持する。) | 03(read holding registers)/ 06(単一レジスタの書き込み)/ 16(マルチレジスタの書き込み) | 读/写 | 字(16 bit) | Dデータ·レジスタ/Cカウンター·カウンター |
重要説明:台達DVP PLC的X/Yデバイス采用八进制寻址,而D/Mデバイス采用十进制寻址。这是非常重要違いはありません!
三、DVP Modbusアドレスマッピングテーブル
3.1 ショップ型入力区(X入力继电器)→ 1xxxx
DVP的入力继电器Xマッピング到Modbus的1xxxxショップ型入力エリア,読み取り専用。
| Modbusaddress | DVPdevice | 説明 |
|---|---|---|
| 10001 | X0 | 入力继电器第0位 |
| 10002 | X1 | 入力继电器第1位 |
| 10003 | X2 | 入力继电器第2位 |
| 10004 | X3 | 入力继电器第3位 |
| 10005 | X4 | 入力继电器第4位 |
| 10006 | X5 | 入力继电器第5位 |
| 10007 | X6 | 入力继电器第6位 |
| 10008 | X7 | 入力继电器第7位 |
| 10009 | X10 | 入力继电器第8位(八进制) |
| 10010 | X11 | 入力继电器第9位(八进制) |
| … | … | 依次类推,X采用八进制寻址 |
計算公式:Modbusaddress = 10000 + X编号(八进制转十进制) + 1
注意:X是八进制寻址,X0-X7是前8点,X10-X17是接下来的8点,ないX8、X9!
3.2 コイル区(Y/M/S等)→ 0xxxx
DVP的出力继电器Y、辅助继电器M、statusS等位デバイスマッピング到Modbus的0xxxxコイルエリア,読み書き。
Y出力继电器マッピング:
| Modbusaddress | DVPdevice | 説明 |
|---|---|---|
| 00001 | Y0 | 出力继电器第0位 |
| 00002 | Y1 | 出力继电器第1位 |
| 00003 | Y2 | 出力继电器第2位 |
| … | … | 依次类推,Y采用八进制寻址 |
M辅助继电器マッピング:
| Modbusアドレス範囲 | DVPdevice | Quantity | 説明 |
|---|---|---|---|
| 00201-00400 | M0-M199 | 200点 | 辅助继电器M(decimal) |
| 00401-00600 | M200-M399 | 200点 | 保持型辅助继电器 |
| … | … | … | 依次类推 |
計算公式:
- YCoil address = Y编号(八进制转十进制) + 1
- MCoil address = 200 + M编号 + 1
3.3 レジスタを保持する。区(Dデータ·レジスタ)→ 4xxxx
DVP的データ·レジスタDマッピング到Modbus的4xxxxレジスタを保持する。エリア,読み書き。
| Modbusaddress | DVPdevice | 説明 |
|---|---|---|
| 40001 | D0 | データ·レジスタ第0个 |
| 40002 | D1 | データ·レジスタThe first one |
| 40003 | D2 | データ·レジスタthe second |
| 40004 | D3 | データ·レジスタThe third one |
| 40005 | D4 | データ·レジスタThe fourth one |
| … | … | 依次类推 |
| 40200 | D199 | データ·レジスタ第199个 |
| 40201 | D200 | データ·レジスタ第200个 |
| … | … | 依次类推 |
| 41000 | D999 | データ·レジスタ第999个 |
| … | … | … |
| 44096+ | D4095+ | データ·レジスタ最大アドレス |
計算公式:Modbusaddress = 40000 + D编号 + 1
example:要アクセスD100,Modbusaddress = 40000 + 100 + 1 = 40101
Dレジスタ分区説明:
| Dレジスタ範囲 | 点数 | 説明 |
|---|---|---|
| D0-D999 | 1000点 | 通用型 |
| D1000-D1999 | 1000点 | 保持型 |
| D2000-D4999 | 3000点 | 扩展レジスタ |
| D5000-D9999 | 5000点 | 特殊扩展レジスタ |
3.4 カウンター·カウンターC → 4xxxxレジスタを保持する。
カウンター·カウンターC也マッピング到レジスタを保持する。エリア:
| Modbusaddress | DVPdevice | 説明 |
|---|---|---|
| 40001 – 40200 | C0 – C199 | 16位カウンター·カウンター |
四、PLCマスター通信指令
DVP PLC作为Modbusマスター时,使用两条专用指令:
4.1 MODRD(駅から読む。データ)
MODRDコマンド用。于駅から読む。デバイス的データ:
| parameter | 説明 | example |
|---|---|---|
| S1 | slave address(1-254) | K1 |
| S2 | レジスタタイプ+address | H100064(駅から読む。D100) |
| D | データストア開始アドレス | D200 |
| n | 読み取りレジスタ个数 | K10 |
S2レジスタタイプ代码:
| スレーブ元件 | 代码(S2高8位) | example(駅から読む。D100) |
|---|---|---|
| X(入力) | H1 | H10064(X64) |
| Y(出力) | H3 | H30064(Y64) |
| M(辅助) | H4 | H40100(M100) |
| D(data) | H10 | H100100(D100) |
4.2 MODWR(写スレーブデータ)
MODWRコマンド用。于データの書き込み駅から。デバイス:
- 参数格式与MODRD类似
- 可以単一レジスタの書き込み或多1つのレジスタ
- サポート機能コード06(単一レジスタの書き込み)和16(マルチレジスタの書き込み)
五、PLCステーションからの設定步骤
5.1 硬件连接
- 使用PLC内置的RS-485ポート
- 配線:D+接RS485的A线,D-接RS485的B线
- もし使用RS-232ポート,需要経由转换モジュール转换为RS-485
5.2 設定通信パラメータ
経由特殊レジスタD1120通信フォーマットの設定:
| Baud rate | data bit | check digit | stop bit | D1120設定值 |
|---|---|---|---|---|
| 9600bps | 8位 | even parity | 1位 | H0083 |
| 9600bps | 8位 | 検証なし。 | 1位 | H0080 |
| 19200bps | 8位 | even parity | 1位 | H00C3 |
| 19200bps | 8位 | 検証なし。 | 1位 | H00C0 |
5.3 設定駅からの住所
経由特殊レジスタD1121設定Modbusslave address:
- D1121 = slave address(1-254)
- 例如:D1121 = 1,表示駅からの住所为1
5.4 通讯プロトコルモデル設定
経由特殊レジスタD1130設定通讯プロトコルモデル:
- D1130 = H0001 → Modbus RTU駅からのモデル
- D1130 = H0002 → Modbus ASCII駅からのモデル
六、読み取り台達周波数変換器サンプル
假设DVP PLC作为マスター,読み取り台達周波数変換器的動作頻度は:
| モニタリング项目 | 周波数変換器アドレス | Modbusaddress | 説明 |
|---|---|---|---|
| 运行指令 | 2000H | 40961 | 启动/停止控制 |
| 频率指令 | 2001H | 40962 | 频率设定值 |
| 出力频率 | 2101H | 41218 | 实际出力频率 |
| 出力電流は | 2102H | 41219 | 电机电流 |
| 出力电压 | 2103H | 41220 | 出力电压 |
通信步骤:
- 使用MODRD指令読み取り周波数変換器データ
- 指定駅からの住所(周波数変換器ステーション番号)
- 指定要読み取り的レジスター·アドレス
- データは保存放到PLC的Dregister
- 程序処理后表示或控制
七、よくある質問与排障ガイド
7.1 通讯応答なし。
- チェック配線:RS485的D+和D-是否接反
- チェックD1120設定:通信形式是否正确
- チェックD1121設定:駅からの住所是否正确
- チェックD1130設定:是否有効了Modbus駅からのモデル
- 测量バス电压:D+应高于D-约200mV
7.2 读不到データ
- チェックアドレス偏移:注意1-based和0-based違いはありません
- チェック八进制寻址:X/Yデバイス是八进制,ではない十进制
- チェックアドレス範囲:是否超出了デバイスマッピング範囲
- チェックMODRD指令:S2参数的タイプ代码是否正确
7.3 データは間違ってる或乱码
- チェックデータ格式:16ビット整数まだ32ビット浮動小数点数
- チェックバイトオーダー:ビッグエンディアンまだリトルエンディアン,是否一致
- チェック字序:32ビット·データ的高低字顺序
- チェック缩放比例:是否需要乘以倍率(如0.01Hz単位的要除以100)
7.4 偶发通信失敗。
- チェックシールド線:是否用了シールドツイストペア
- チェックバスの長さ:距离是否超出规格
- チェック干渉:通讯线是否与动力线平行
- 終端抵抗のチェック:バス两端是否加了120Ω終端抵抗
八、与其他ブランドPLC違いはありません
| comparison items | 台達DVP | 三菱FX3U | シーメンスS7-200 SMART |
|---|---|---|---|
| X/Y寻址方式 | 八进制 | 八进制 | decimal |
| DRegister Mapping | 从D0开始 | 从D0开始 | 経由HoldStart設定 |
| マスター指令 | MODRD/MODWR | ADPU/REPU | MBUS_MSG |
| 通信ポート | 内建RS-485 | 需外接适配器 | 板载RS-485 |
| 設定レジスタ | D1120/D1121/D1130 | D8120/D8121 | 库命令パラメータ |
九、总结
台達DVP系列PLC的Modbusアドレスマッピングルール:
- 0xxxxコイル → Y/M/S等位デバイス
- 1xxxxショップ型入力 → X入力继电器(八进制)
- 3xxxx入力レジスタ。 → 読み取り専用,特殊レジスタ
- 4xxxxレジスタを保持する。 → Dデータ·レジスタ/Cカウンター·カウンター
实际应用中,需要特别注意:
- X/Y是八进制寻址,D/M是十进制寻址
- マスター使用MODRD/MODWR指令,S2参数需要编码デバイスタイプ和アドレス
- スレーブ経由D1120/D1121/D1130三个特殊レジスタ設定
建议先用Modbus Poll等デバッグ软件测试,確認アドレスマッピング正确后再编写PLC程序。
十、相关链接
- Modbus RTU通讯基础チュートリアル
- 台達DVP PLC Modbus通信設定实例
- 台達周波数変換器Modbus控制ガイド
- RS485バス配線の仕様
Leave a Reply