丹佛斯用Modbus批量讀寫非連續寄存器的方法-變頻器維修
發布時間:2019-08-05 10:12:15來源:
丹佛斯用Modbus批量讀寫非連續寄存器的方法-變頻器維修
在新版本的FC102、FC202、FC300系列產品中,添加了參數組8-42 PCD寫配置,以及參數組8-43 PCD讀配置。將要讀寫的內容,配置在這兩組參數中,可以實現批量讀寫非連續地址的寄存器數據。
PCD寫配置格式
地址 | 2810 | 2811 | 2812 | 2813 | 2814 | … | 2873 |
作用 | PCD 0 CTW | PCD1 REF | PCD2 寫 | PCD3 寫 | PCD4 寫 | … 寫 | PCD63 寫 |
參數 | 8-42【0】 | 8-42【1】 | 8-42【2】 | 8-42【3】 | 8-42【4】 | … | 8-42【63】 |
其中PCD0的功能固定為控制字寫入,PCD1的功能固定為參考值的給定,不能更改。
例:參數3-02,比較小參考值設置為10HZ;參數3-41,加速時間設置為5秒。
由于參數3-02為32位長度,需要兩個寄存器,參數8-42【2】設置為302,參數8-42【3】設置為302,使用寄存器2812和2813來寫入數據。
由于參數3-41為32位長度,需要兩個寄存器,參數8-42【4】設置為341,參數8-42【5】設置為341,使用寄存器2812和2813來寫入數據。
注意,采用兩個連續的寄存器(2N,2N+1)來存儲32位數據,必須是偶數位地址在前
Modbus的通訊功能代碼為10,寫入多個寄存器數值
報文格式如下
Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 | Byte7+n | |
站址 | 功能碼 | 字起始地址 | 字的個數 | 字節數 | 字的值 | CRC16 | ||
01 | 10 | 0AFB | 0004 | 08 | 0000 2710 0000 01F4 | CF A9 |
字起始地址=(2812-1)轉換成十六進制數字 0AFB
字的個數,從2812開始寫入4個數字
字節數=字的個數*2
字的值:3-02轉換指數為0.001HZ,設置10HZ,則寫入的數值為10000,十六進制為2710,32位數據為0000 2710;3-41轉換指數為0.01秒,設置5秒,則寫入的數值為5000,十六進制為01F4,32位數據為0000 01F4;
PCD讀配置
地址 | 2910 | 2911 | 2912 | 2913 | 2914 | … | 2973 |
作用 | PCD 0 STW | PCD1 MAV | PCD2 讀 | PCD3 讀 | PCD4 讀 | … 讀 | PCD63 讀 |
參數 | 8-43【0】 | 8-43【1】 | 8-43【2】 | 8-43【3】 | 8-43【4】 | … | 8-43【63】 |
其中PCD0的功能固定為狀態字讀取,PCD1的功能固定為實際輸出頻率的讀取。
例:讀取參數16-30,直流回路電壓,和參數16-34,散熱片溫度的數值。
由于參數16-30為32位長度,需要兩個寄存器,參數8-43【2】設置為1630,參數8-43【3】設置為1630,使用寄存器2912和2913來讀取數據。
參數16-34為8位長度,參數8-43【4】設置為1634,使用寄存器2914來讀取數據。
使用Modbus功能碼03,讀取保存寄存器
報文格式如下
站址 | 功能碼 | 字起始地址 | 字個數 | CRC16 |
01 | 03 | 0B 5F | 00 03 | 37 FD |
字起始地址=(2912-1)轉換成十六進制數字 0B5F
字的個數,從2912開始讀取3個數字
正常通信的情況下,返回的信息
站址 | 功能碼 | 字節數 | 返回信息 | CRC16 |
01 | 03 | 06 | 0000 0132 001D | 41 4F |
0000 0132 轉換為十進制為 306,直流回路電壓為306V;
001D 轉換為十進制為29,散熱片的溫度為29度。