通訊參數和傳輸特性
MODBUS規約模式:RTU模式。
傳輸速率:2400 bps,4800bps,9600bps,19200bps。
串列口通訊數據格式:1 個起始位,8 個數據位, 無校驗位,1個停止位。
通訊介質:推薦採用0.5mm的雙絞線,不帶禁止層。(原因是如果使用禁止雙絞線,但現場接地處理不好反而影響通訊質量)。
應答時間:小於4.5個byte傳輸時間(幀間隔最小時間) + 10ms。
通訊連線方式
RS-485網路的匹配電阻選取:雙絞線網路兩端的匹配電阻選取,以現場通信正常為準,一般地1.2km時取120Ω,600m時取220Ω,300m時取330Ω,如通信誤碼率較大,觀察通信時的波形,匹配電阻做適當改變
支持的MODBUS功能碼
功能碼02H: 讀取開關量輸入(讀實遙信和虛遙信)。
功能碼03H: 讀取保持暫存器(讀事件記錄等)
功能碼04H: 讀取輸入暫存器(讀遠動遙測)
功能碼05H: 強制單點繼電器輸出(遠方復歸、單步的遙控跳閘、遙控合閘)。
功能碼06H: 向保持暫存器寫單個字(遙控跳閘、遙控合閘的選擇和執行操作)
功能碼10H: 向保持暫存器(記憶體區)寫多個16位的字(通訊對時)。
異常回響報文格式
由於軟體編程錯誤,對協定理解錯誤或通訊干擾等原因,MODBUS通信子站接收到主站的報文後,可以採用異常回響報文給予回答,異常回響報文格式舉例如下:
FC 05H 主站=>子站:遠方復歸
報文 | 內容含義 | 備註 |
1位元組 | MODBUS地址 | 01H 舉例 |
1位元組 | 功能碼 | 05H |
1位元組 | 線圈地址高位元組 | 01H |
1位元組 | 線圈地址低位元組 | 07H |
1位元組 | 強制線圈數值高位元組 | FFH |
1位元組 | 強制線圈數值低位元組 | 00H |
1位元組 | CRC高位元組 | 3CH |
1位元組 | CRC低位元組 | 07H |
異常回響報文 子站=>主站
報文 | 內容含義 | 備註 |
1位元組 | MODBUS地址 | 01H 舉例 |
1位元組 | 功能碼 | 85H |
1位元組 | 異常代碼 | 02H |
1位元組 | CRC高位元組 | C3H |
1位元組 | CRC低位元組 | 51H |
子站通過校驗,發現主站報文有問題,將回響報文將主站的功能碼最高位(D7)置
1,如例子中的02H,異常回響報文中有固定的一個位元組作為“異常代碼”,表示異常原因。
異常代碼 | 含義 |
01 | 非法功能碼。子站無法處理主站報文中的功能碼。 |
02 | 非法數據地址。子站無法處理主站報文中的數據地址。 |
03 | 非法數據內容。主站報文中的數據不能滿足子站的要求格式。 |
04 | 子站設備錯誤。 |
05 | 確認幀。 |
06 | 子站忙。 |
時間格式
本規約中使用到的對時報文的時間格式,事件記錄中的時間格式,參見下面說明。七個八位位組的二進制時間
2 毫秒 2 | |||||
2 毫秒 2 | |||||
IV | (RES1)0 | 2 分 2 | |||
0(SU) | (RES2) 0 0 | 2 時 2 | |||
2 星期 2 | 2 日 2 | ||||
(RES3) 0 0 0 0 | 2 月 2 | ||||
(RES4) 0 | 2 年 2 |
讀全遙信
主站傳送:
從機地址 | 功能碼 | 開始地址H | 開始地址L | 遙信點數H | 遙信點數L | CRC碼H | CRC碼L |
01 | 02 | 00 | 00 | 00 | 20 | 79 | D2 |
子站回響
地址 | 功能碼 | 位元組數 | 遙信數值(LSB-MSB) | CRC碼H | CRC碼L | |||
01 | 02 | 04 | 01 本位元組的LSB對應遙信點號1 | 02 | 00 | 00 本位元組的MSB對應遙信點號32 | 5B | DE |
注意:
1)MMP-5000D供有32個遙信(實遙信和虛遙信),因此主站從開始地址0讀0x20個遙信點。
2)本例應答報文中:數值01的D0位為1代表MMP-5000D的“遠方控制”為1;數值02中的D1位為1代表MMP-5000D的跳位信號為1。
3)子站回響中的LSB,MSB指D0位和D7位,通訊點號依次採用升序的方式,比如第一個位元組的D0位為遙信點號1…它的D7位為遙信點號8;第二個節字的D0位就為遙信點號9,它的D7位為遙信點號16,依次類推。
讀全遙測
主站傳送:
從機地址 | 功能碼 | 開始地址H | 開始地址L | 遙測點數H | 遙測點數L | CRC碼H | CRC碼L |
01 | 04 | 00 | 00 | 00 | 0F | B0 | 0E |
子站回響
地址 | 功能碼 | 位元組數 | 設備狀態字 H L | 第一個遙測值 H L | 第N個遙測值 | CRC碼H | CRC碼L | ||
01 | 04 | 1E | 00 | 01 | 6A | A0 | … | B6 | 1B |
“設備狀態字”的D0為1,表示請求讀全遙信 | MMP-5000D的“頻率”遙測值 |
注意:
1)遙測報文第一個測點為“設備狀態字”,不用入庫,第二個開始才是“頻率”,以後依次後推。
2)遠動遙測值的數據格式採用帶品質描述的被測值(MEA)定義
BIT0 = 溢出位(OV)
BIT1 = 差錯位(ER)
BIT2 = 測試位(TEST),該位置1表示本遙測量為綜自功能
BIT15~BIT3 = 被測值(MVAL),範圍-4096 ~4095
3)“設備狀態字”占用兩個位元組,它的低位元組的D0位為1表示有實遙信和虛遙信變位,要求主站使用“讀全遙信”報文來讀取,一旦執行了“讀全遙信”,則“設備狀態字的D0位變為0;“設備狀態字”的D1位為1:表示保護裝置有事件記錄,要求主站使用連續執行“讀單個事件記錄”來讀取事件記錄,子站沒有新的事件記錄時,D1位自動變為0。通訊管理機可以根據需要選擇是否使用“設備狀態字”。
4)如果不需要使用“設備狀態字”,可以將報文中的開始地址設為0x0001,則第一個讀到的遙測值就是“頻率”。
5)遙測值計算方法:
電壓4095對應1.2倍的額定值1.2*100 = 120V電流4095對應1.2倍的額定值1.2*5 = 6A功率4095對應1.2倍的額定值(1.2*57.77*1.2*5)*3 = 1248W頻率4095對應1.2倍的額定值1.2*50 = 60Hz功率因素4095對應1倍的額定值1.000本例中:6AA0為第一個遙測值(頻率),它被放大8倍,滿量程值為4095,對應60Hz(50Hz的1.2倍)。
因此頻率如下計算:0x6AA0/8/4095*60.0Hz = 49.993Hz
例:========MMP-5000D讀全遙測========
TX:01 04 00 00 00 0F B0 0E
RX:01 04 1E 00 01 6A A0 00 00 00 00 00 00 36 C0 40 58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 C0 B6 1B
讀電度值
主站傳送:
從機地址 | 功能碼 | 電度對象起始地址H | 電度對象起始地址L | 電度對象數目H | 電度對象數目L | CRC碼H | CRC碼L |
01 | 03 | 00 | 00 | 00 | 01 | 85 | B2 |
子站回響:
地址 | 功能碼 | 位元組數 | 正向有功電度 LSB MSB | 反向有功電度 LSB MSB | 正向無功電度 LSB MSB | 反向無功電度 LSB MSB | CRC碼H | CRC碼L | ||||||||||||
01 | 03 | 10 | E8 | 03 | 00 | 00 | B6 | 07 | 00 | 00 | B8 | 0B | 00 | 00 | A0 | 0F | 00 | 00 | B6 | 1B |
正向有功電度值為: 0x000003E8(1000W/1kW) | 反向有功電度 0x000007D0(2000W/2kW) | 正向無功電度 0x00000BB8(3000Var/3kVar) | 反向無功電度 0x00000FA0(4000Var/4kvar) |
注意:
每個電度值由4個位元組組成一個32位字,它的單位是W(瓦特)或Var(乏)報文中先收到的是電度的低位位元組,後收到的是高位位元組。例:========MMP-5000D讀電度值========
TX:01 03 02 00 00 01 85 B2
RX:01 03 10 E8 03 00 00 D0 07 00 00 B8 0B 00 00 A0 0F 00 00 93 CD
廣播對時
主站傳送:
從機地址 | 功能碼 | 開始地址H | 開始地址L | 暫存器數H | 暫存器數L | 位元組總數 | 毫秒L | 毫秒H |
00 | 10 | 04 | 80 | 00 | 04 | 08 | 98 | B7 |
分鐘 | 小時 | 日 | 月份 | 年份 | 保留 | CRC碼H | CRC碼L |
16 | 12 | 17 | 01 | 07 | 00 | 87 | 78 |
說明:
1.對時時間為07年1月23日18時22分47秒000毫秒
2.廣播對時的從機地址設為00
廣播信號復歸
方式一:採用功能碼05H向單個線圈264寫ON信號(0xFF00),產生遠方信號復歸功能。
主站傳送:
從機地址 | 功能碼 | 線圈地址H | 線圈地址L | 強制線圈數值H | 強制線圈數值L | CRC碼H | CRC碼L |
00 | 05 | 01 | 07 | FF | 00 | 3D | D6 |
方式二:採用功能碼06H向單個保持暫存器0x0000寫數值0x0000,產生遠方復歸功能。
主站傳送:
從機地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 設定數值H | 設定數值L | CRC碼H | CRC碼L |
00 | 06 | 00 | 00 | 00 | 00 | 89 | CA |
說明:
1)如果需要點對點復歸,只要將從機地址從廣播地址00改為相應設備地址即可。
2)兩種方式通訊管理機可以任意選擇。
遙控跳閘的選擇命令
採用功能碼06H向單個保持暫存器0x0101寫數值0xFFFF,產生遙控跳閘的選擇功能。
主站傳送:
從機地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 暫存器數值H | 暫存器數據L | CRC碼H | CRC碼L |
01 | 06 | 01 | 01 | FF | FF | D8 | 46 |
子站回響:
子站地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 暫存器數值H | 暫存器數據L | CRC碼H | CRC碼L |
01 | 06 | 01 | 01 | FF | FF | D8 | 46 |
遙控跳閘的執行命令
採用功能碼06H向單個保持暫存器0x0011寫數值0xFFFF,產生遙控跳閘的執行。
主站傳送:
從機地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 暫存器數值H | 暫存器數據L | CRC碼H | CRC碼L |
01 | 06 | 00 | 11 | FF | FF | D8 | 7F |
子站回響:
子站地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 暫存器數值H | 暫存器數據L | CRC碼H | CRC碼L |
01 | 06 | 00 | 11 | FF | FF | D8 | 7F |
遙控合閘的選擇命令
採用功能碼06H向單個保持暫存器0x0100寫數值0xFFFF,產生遙控合閘的選擇功能。
主站傳送:
從機地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 暫存器數值H | 暫存器數據L | CRC碼H | CRC碼L |
01 | 06 | 01 | 00 | FF | FF | 89 | 86 |
子站回響:
子站地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 暫存器數值H | 暫存器數據L | CRC碼H | CRC碼L |
01 | 06 | 01 | 00 | FF | FF | 89 | 86 |
遙控合閘的執行命令
採用功能碼06H向單個保持暫存器0x0010寫數值0xFFFF,產生遙控合閘的執行。
主站傳送:
從機地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 暫存器數值H | 暫存器數值L | CRC碼H | CRC碼L |
01 | 06 | 00 | 10 | FF | FF | 89 | BF |
子站回響:
子站地址 | 功能碼 | 暫存器地址H | 暫存器地址L | 暫存器數值H | 暫存器數據L | CRC碼H | CRC碼L |
01 | 06 | 00 | 10 | FF | FF | 89 | BF |
單報文直接遙控跳閘
採用功能碼05H向線圈0x0001寫數值0xFF00,產生單報文直接遙控跳閘。慎用本命令!
主站傳送:
從機地址 | 功能碼 | 線圈地址H | 線圈地址L | 強制線圈數值H | 強制線圈數值L | CRC碼H | CRC碼L |
01 | 05 | 00 | 01 | FF | 00 | DD | FA |
子站回響:
從機地址 | 功能碼 | 線圈地址H | 線圈地址L | 強制線圈數值H | 強制線圈數值L | CRC碼H | CRC碼L |
01 | 05 | 00 | 01 | FF | 00 | DD | FA |
單報文直接遙控合閘
採用功能碼05H向線圈0x0000寫數值0xFF00,產生單報文直接遙控合閘。慎用本命令!
主站傳送:
從機地址 | 功能碼 | 線圈地址H | 線圈地址L | 強制線圈數值H | 強制線圈數值L | CRC碼H | CRC碼L |
01 | 05 | 00 | 00 | FF | 00 | 8C | 3A |
子站回響:
從機地址 | 功能碼 | 線圈地址H | 線圈地址L | 強制線圈數值H | 強制線圈數值L | CRC碼H | CRC碼L |
01 | 05 | 00 | 00 | FF | 00 | 8C | 3A |
讀單個事件記錄
採用功能碼03H向保持暫存器地址0x0001,讀一個字,產生讀一個事件記錄的作用。
主站傳送:
從機地址 | 功能碼 | 事件記錄地址H | 事件記錄地址L | 事件記錄個數H | 事件記錄個數L | CRC碼H | CRC碼L |
01 | 03 | 00 | 01 | 00 | 01 | D5 | CA |
子站回響:
從機地址 | 功能碼 | 位元組數 | 事件條目數H | 事件條目數L | 事件代碼H (事件組號) | 事件代碼L (事件代碼) | 動作值 02:合; 01:分 |
01 | 03 | 0C | 00 | 01 | 04 | 09 | 02 |
毫秒L | 毫秒H | 分鐘 | 小時 | 日 | 月份 | 年份 | CRC碼H | CRC碼L |
A5 | 4D | 19 | 12 | 17 | 01 | 07 | 2F | EB |