104:是廠站與配網主站進行通信的規約,以以太網爲載體,服務模式是平衡模式。html
用於遠動控制通訊的,用於調度自動化系統,廠站之間的通信;服務器
104規約的報文幀分爲三類,I幀,S幀,U幀;網絡
I幀爲信息幀,用於傳輸數據,長度大於6個字節,爲長幀;測試
S幀爲確認幀,用於確認接收的I幀,長度爲6個字節,爲短幀;htm
U幀爲控制幀,用於控制啓動/中止/測試,長度爲6個字節,爲短幀;blog
長幀報文分爲APCI和ASDU兩個部分,統稱爲APDU,而短幀報文只有APCI部分;事件
APCI的6個字節的構成:起動字符68H,1個字節;後面的報文長度,1個字節(最大253);控制域位組,4個字節;區分I,S,U幀:同步
I幀的4字節控制域位組規定爲:字節1和字節2位發送序號,字節3和字節4爲接收序號;自動化
注意:class
1.因爲字節1和字節3的最低位固定爲0,不用於構成序號,因此在計算序號時,要先轉換成十進制數值,再除以2;
2.因爲低位字節在前,高位字節在後,因此計算時要先作顛倒;
S幀的字節1固定爲01H,字節2固定爲00H,字節3和字節4位接收序號計算時仍要注意以上兩點;
U幀的字節2,3,4均固定爲00H,字節1包含TESTFR,STARTDT,STOPDT三種功能,同時只能激活其中的一種功能;啓動(STARTDT)和中止(STOPDT)都是由主站(104的客戶端)發起的,先由主站發送生效報文,子站隨後確認。而主站和子站均可發送測試(TESTFR)報文,由另外一方確認。
客戶端發起:(請求鏈接報文和確認鏈接報文)
STARTDT:68 04 07 00 00 00(啓動激活);68 04 0B 00 00 00(啓動確認)
07 = 00000111,最後兩個1表示信息傳輸格式爲U格式,倒數第3個1
表示請求鏈接;
0B = 00001011,最後兩個1表示信息傳輸格式爲U格式,倒數第4個1
表示鏈接確認;
客戶端發起:
STOPDT:68 04 13 00 00 00(中止激活);68 04 23 00 00 00(中止確認)
客戶端和服務器對發:
TESTFR:68 04 43 00 00 00 (測試激活); 68 04 83 00 00 00(測試確認)
104協議是101協議的網絡版,101協議每次只能發送一個鏈路幀,而
104協議能夠連續發送多個鏈路幀,其傳輸效率明顯高於101協議,而
且具備TCP/IP的衝突檢測和錯誤重傳機制,具備比101協議更高的可靠
性和穩定性,另外對通訊延時的限制更寬鬆。
心跳機制:
t0:TCP鏈接創建的超時時間,即RTU(服務器)端進入等待鏈接的狀態後,若超過了此時間,主站(客戶)端尚未connect()過來就主動退出等待鏈接的狀態;規約推薦的缺省值爲30秒;
t1:RTU端啓動U格式測試過程後等待U格式測試應答的超時時間,若超過了此時間尚未收到主站端的U格式測試應答,就主動關閉TCP鏈接;規約推薦的缺省值爲15秒;
t2:RTU端以突發的傳送緣由向主站端上送了變化信息或以激活結束的傳送緣由向主站端上送了總召喚/電度召喚結束後,等待主站端回S格式的超時時間,若超過了此時間尚未收到,就主動關閉TCP鏈接;規約推薦的缺省值爲10秒;
t3:當RTU端和主站端之間沒有實際的數據交換時,任何一端啓動U格式測試過程的最大間隔時間;推薦的缺省值爲20秒;
舉例說明它的組成部分:
68 0E 00 00 00 00 64 01 07 00 01 00 00 00 00 14
68 0E 02 00 12 00 2D 01 06 00 01 00 02 60 00 81
啓動字符 + APDU長度 + 4個控制域8位位組 + 類型標識 + 可變結構限定詞(個數) + 傳輸緣由 + 公共地址(ASDU地址)+ 信息體地址 + 召喚限定詞
常見的幾種報文:
站初始化:
TX: 68 04 07 00 00 00 U格式啓動幀
RX:68 04 0B 00 00 00 響應幀
鏈路測試:
TX:68 04 43 00 00 00 鏈路測試報文
RX:68 04 83 00 00 00 響應幀
對時:
TX:68 14 08 00 04 00 67 01 06 00 01 00 00 00 00 A4 92 06 0F EA 05 0F
RX:68 14 0A 00 04 00 67 01 07 00 01 00 00 00 00 A4 92 06 0F EA 05 0F
A4 92:即37540毫秒
06:6分
0F:15時
EA:111 01010 星期天 10號
05:5月
0F:2015年
經常使用的類型標識:
遙測:
09---帶品質描述的遙測量,每一個遙測值佔三個字節
0A---帶3個字節時標的且具備品質描述的遙測值,每一個遙測值佔6個字節
0B---不帶時標的標度化值,每一個遙測值佔3個字節
0C---帶3個字節時標的標度化值,每一個遙測值佔6個字節
0D---帶品質描述的浮點值,每一個遙測值佔5個字節
0E---帶3個字節時標且具備品質描述的浮點值,每一個遙測值佔8個字節
15---不帶品質描述的遙測值,每一個遙測值佔2個字節
遙信:
01---不帶時標的單點遙信,每一個遙信佔1個字節
03---不帶時標的雙點遙信,每一個遙信佔1個字節
14---具備狀態變位檢測的成組單點遙信,每一個字節包括8個遙信
SOE:記錄即事件順序記錄
02---帶3個字節短時標的單點遙信
04---帶3個字節短時標的雙點遙信
1E---帶7個字節時標的單點遙信
1F---帶7個字節時標的雙點遙信
遙調:
0F---不帶時標的電度量,每一個電度量佔5個字節
10---帶3個字節短時標的電度量,每一個電度量佔8個字節
25---帶7個字節長時標的電度量,每一個電度量佔12個字節
其餘:
2D---單點遙控
2E---雙點遙控
2F---雙點遙調
64---召喚全數據
65---召喚全電度
67---時鐘同步
經常使用的傳送緣由列表:
1---週期,循環
2---背景掃描
3---突發,自發上傳
4---初始化
5---請求或被請求
6---激活
7---激活確認
8---中止激活
9---中止激活確認
0A---激活結束
14---響應總召喚
IEC104規約流程
IEC104 規約做爲網絡通訊規約,由客戶端和服務端組成,服務端口默認爲2404 。它的基本流程以下:
1. 由客戶端向服務器創建鏈接,同時,發送鏈路啓動幀。
2.服務端在收到鏈路啓動幀後,向客戶端發送啓動確認幀。
3.客戶端收到啓動確認幀後,發送總召數據請求幀。
4.服務端收到總召數據請求後,發送總召數據響應幀,而後繼續發送總召數據。總召數據發送完成後,發送總召數據結束幀。
5.客戶端在收到總召數據結束幀後,發送對時請求幀。
6.服務器收到對時請求幀後,發送對時響應幀。
7.由服務器主動向客戶端發送變化數據幀。同時,收到客戶端發送的控制類命令,回覆相應的操做結果。
8.客戶端等到下一個數據總召週期,重複第4步以後的流程。
原文出處:https://www.cnblogs.com/doublecheng/p/12176851.html