IEC104协议

基本概述

  • 一种电力自动化系统中常用的通信协议
  • 基于TCP/IP 协议
  • 用于监视和控制电力系统中的各种设备(发电机,变电站等)

client和server

基于TCP/IP所以,也是client/Server 模式

  • 受控制站/分站:(TCP Server)负责和实际的硬件控制,数据采集,命令执行等功能
  • 控制站:(TCP Client)负责远程控制,获取server采集的数据,配置server等

在101协议中,名字不一样

image-20241122045338913

链路层传输模式

两种模式:

  • 平衡传输模式
  • 非平衡传输模式

平衡传输模式

每个client和server都可以启动消息传输

支持的服务类型:

服务描述
SEND/CONFIRM用于发送消息并要求接收方确认收到该消息
SEND/NO REPLY这只能由具有多点对点配置中的广播地址的控制站启动,且不会等待接收方的回复

非平衡传输模式

  • 只有控制站(client)才能启动一次消息传输,受控站(server) 只能响应控制站(client)的请求
  • 控制站(client)通过依次轮询 所控制的 受控站(server)来获取对应的业务数据

数据对象和编址

IEC104 定义了数据链路层的地址和应用层级的地址

链路地址(COT):长度可以是 0, 1 ,2 byte 的长度

ASDU地址(通用地址,COA):站点地址,区分位于那个站点

基础功能

数据采集

在IEC 104协议的平衡传输模式下,受控站(Server)不仅回应控制站(Client)的请求,还能主动上报数据变更或周期性数据,且能响应控制命令和读请求

询问操作

总询问:

请求受控站(Server)发送所有群组的所有数据对象的最新值→控制站(Client)获得受控站中所有最新状态的数据

群组询问:

受控站(Server)中的数据对象可以通过配置COT(Cause of Transmission)值为20到36来指定召唤群组

  • COT值20代表总召唤
  • COT值21到36分别代表INRO1到INRO16(16个不同的召唤群组)

时钟同步

受控站(Server)和 控制站(client)保证时钟同步

系统初始化后,控制站(client)应该应当发送一次时钟同步指令

周期性地重新同步时钟,发送时钟同步命令(C_CS ACT)

命令传输

控制站(client) 用来改变受控站(Server)操作设备的状态的API

直控命令(Single command)

去掉选控命令,直接发执行命令(一般来说保护压板,保护复归为直控)

一般流程如下:

主站下发执行命令→装置回执行确认报文

选控命令(Select and execute)

分为两个阶段执行

  • Select 阶段: 控制站发送一个该命令的Select的操作,受控站检查该命令正确性,是否正确执行),结论返回给控制站
  • execute阶段: 如果 Select阶段返回的是预期的确认,表示命令有效并且可以执行,控制站发送Execute命令,开始执行该操作(例如,打开或关闭某个开关,设置某个参数等)

累计量传输

两种获取累计值的方式
  1. Freeze-and-Read(冻结并读取):对累计量进行采集,并将当前的累计值冻
  2. Clear-and-Read(清零并读取):获取增量信息,即读取当前计数值并将其清零,然后开始重新计数

IEC104协议帧

image-20241122050232723

帧结构为 APDU(一般由 APCI 和 ASDU组成)

APDU

应用协议数据单元→IEC104官方协议帧

APDU = APCI 
or
APDU = APCI + ASDU

APCI

应用控制帧型→类似于协议帧头

起始字节0x68(1 byte) + ADPU 的长度(1 byte) +控制位域(CF)(1 byte)× 4

分为两种定长的APDU和可变长度的APDU(也就是是否包含ASDU 部分)

image-20241126133619865

第一个控制位域:(control filed)最少2bit→确认帧的格式

定义三种格式帧:I-FORMAT,S-FORMAT,U-FORMAT

image-20241126161127873
I-format

特性:

包含ASDU(携带具体的应用层数据)

利用两个15位的序号报名消息传递方式(发送和接收每个方向一个序号,每次加一,范围:0-0x7FFF)

  • 发送端发送一个iFrame(即是一个信息帧),发送序号+1→将iFrame保存到缓冲区→直到接收到对应的接收端发送的包含对应该iFrame序号的APDU,将该iFrame从缓冲区移除
  • 接收器接受一个iFrame,接受序号+1→接收端在接收一定数量的 I-frame 或超时未接收到足够的 I-frame 时,会发送 S-frame(ACK)确认已接收的帧;若接收端处于空闲状态且有未确认的 I-frame,也会主动发送 S-frame(ACK)
S-format

只有APCI(没有ASDU),只包含一个 15 位的 接收序号(N(R)),用于确认接收到的 I-frame 编号

U-format

用于有序的控制功能(APDU 长度固定)

只有一个APCI,没有ASDU

功能:

  • TESTFR(测试帧)
  • STOPDT(传输停止)
  • STARTDT(传输开启)

其中传输的开启和停止可以同时被激活

STARTDT 和 STOPDT 都可以在通信初始化后立即被发送,不是指“同时”执行,只是允许它们按顺序发送

U-Frame Function76543210Hexa Value
Test Frame Activation010000110x43
Test Frame Confirmation100000110x83
Stop Data Transfer Activation000100110x13
Stop Data Transfer Confirmation001000110x23
Start Data Transfer Activation000001110x07
Stop Data Transfer Confirmation00001011OxOB

ASDU

包含两个部分

  • 数据单元识别符(长度固定为6Byte)
  • 数据段(一个或者多个信息对象构成)

报文构成

image-20241126172853829

信息对象类型

命名规范

M_ :监视方向的信息元素 _Nx:不带时标 _Tx: 带时标 _xA:type A: 有质量描述副的状态或归一化值 _xB:type B: 有质量描述副的标量值 _xC:type C: 有质量描述副的浮点值 _xD:type D: 没有有质量描述副的归一化值

监视方向上的过程信息
类型标 识描述引用信息对象格式合法的COT
1单点信息M_SP_NA_1SIQ2,3,5,11,20,20+G
3双点信息M_DP_NA_1DIQ3,5,11,12
5步位量信息M_ST_NA_1VTI + QDS2,3,5,11,12,20,20+G
732比特串M_BO_NA_1BSI + QDS2,3,5,11,12,20,20+G
9归一化测量值M_ME_NA_1NVA + QDS2,3,5,11,12,20,20+G
11标量化测量值M_ME_NB_1SVA + QDS2,3,5,11,12,20,20+G
13浮点型测量值M_ME_NC_1IEEE STD 754 + QDS2,3,5,11,12,20,20+G
15累计值M_IT_NA_1BCR2,37,37+G
20带状态检出的成组单点信息M_PS_NA_1SCD+QDS2,3,5,11,12,20,20+G
21不带品质描送的归一化测量值M_ME_ND_1NVA1,2,3,5,11,12,20,20+G
22~29为将来的兼容定义保留
30带时标CP56Time2a的单点信息M_SP_TB_1SIQ+ CP56Time2a3,5,11,12
31带时标CP56Time2a的双点信息M_DP_TB_1DIQ+ CP56Time2a3,5,11,12
32带时标CP56Time2a的步位置信息M_ST_TB_1VTI + QDS+ CP56Time2a2,3,5,11,12
33带时标CP56Time2a的32比特串M_BO_TB_1BSI + QDS+CP56Time2a3.5
34带时标CP56Time2a的归一化测量值M_ME_TD_1NVA + QDS+CP56Time2a3.5
35带时标CP56Tme2a的标量化测量值M_ME_TE_1SVA + QDS+CP56Time2a3.5
38带时标CP56Time2a的浮点型测量值M_ME_TF_1IEEE STD 754 + QDS+CP56Time2a2,3,5,11,12,20,20+G
37带时标CP56Time2a的累计值M_IT_TB_1BCR+CP56Time2a3,37,37+G
38带时标CP56Tme2a的继电器保护装量事件M_EP_TD_1QDP+CP16Time2a+CP56Time2a3
39带时标CP56Time2a的继电器保护装量成组启动事件M_EP_TE_1SEP + QDP+CP16Time2a+CP56Time2a3
40带时标CP56Time2a的继电器保护装量成组输出电路信 息M_EP_TF_1OCI + QDP+CP16Time2a+CP56Time2a3
控制方向上的过程信息
类型标识描述引用信息对象格式合法的COT
45单命令C_SC_NA_1SCO6,7,8,9,10,44,45,46,47
46双命令C_DC_NA_1DCO6,7,8,9,10,44,45,46,47
47步调节命令C_RC_NA_1RCO6,7,8,9,10,44,45,46,47
48设点命令,归一化值C_SE_NA_1NVA + QOS6,7,8,9,10,44,45,46,47
49设点命令,标量值C_SE_NB_1SVA+ QOS6,7,8,9,10,44,45,46,47
50设点命令,短浮点值C_SE_NC_1IEEE STD 754 +QOS6,7,8,9,10,44,45,46,47
5132比特串C_BO_NA_1BSI6,7,8,9,10,44,45,46,47
52~57为将来的兼容定义保留
58带时标CP56Time2a的单命令C_SC_TA_1SCO+CP56Time2a6,7,8,9,10,44,45,46,47
59带时标CP56Time2a的双命令C_DC_TA_1DCO+CP56Time2a6,7,8,9,10,44,45,46,47
60带时标CP56Time2a的步调节命令C_RC_TA_1RCO+CP56Time2a6,7,8,9,10,44,45,46,47
61带时标CP56Time2a的设点命令,归一化值C_SE_TA_1NVA + QOS+CP56Time2a6,7,8,9,10,44,45,46,47
62带时标CP56Time2a的设点命令,标量值C_SE_TB_1SVA + QOS+CP56Time2a6,7,8,9,10,44,45,46,47
63带时标CP56Time2a的设点命令,短浮点值C_SE_TC_1IEEE STD 754+QOS+CP56Time2a6,7,8,9,10,44,45,46,47
64带时标CP56Time2a的32比特串C_BO_TA_1BSI+CP56Time2a6,7,8,9,10,44,45,46,47
65~69为将来的兼容定义保留
监视方向上的系统信息
类型标识描述引用信息对象格式合法的COT
70初始化结束M_EI_NA_1COI4
71~99为将来的兼容定义保留
控制方向上的系统信息
类型标识描述引用信息对象格式合法的COT
100总召唤命令C_IC_NA_1QOI6,7,8,9,10,44,45,46,47
101电能脉冲召唤命令C_CI_NA_1QCC6,7,8,9,10,44,45,46,47
102读命令C_RD_NA_15
103时钟同步命令C_CS_NA_1CP56Time2a3,6,7,44,45,46,47
104(IEC 101) Test commandC_TS_NB_1FBP6,7,44,45,46,47
105复位进程命令C_RP_NC_1QRP6,7,44,45,46,47
107带时标CP56Time2a的测试命令C_TS_TA_1
108~109为将来的兼容定义保留
控制方向上的参数
类型标识描述引用信息对象格式合法的COT
110归一化测量值P_ME_NA_1NVA + QPM6,7,9,10,20,20+G,44,45,46,47
111标量化测量值P_ME_NB_1SVA + QPM6,7,20,20+G,44,45,46,47
112浮点测量值P_ME_NC_1IEEE STD 754 +QPM6,7,20,20+G,44,45,46,47
113参数激活P_AC_NA_1QPA6,7,8,9,44,45,46,47
114 ~ 119为将来的兼容 定义保留
参数都是控制方向上的,和监控方向的对象相比,其值发生变化时, 不会上报,只有总召唤时,可以上报给数据的值。
文件传输
类型标识描述引用信息对象格式合法的COT
120文件已准备好F_FR_NA_1NOF + LOF + FRQ13
121节点已准备好F_SR_NA_1NOF + NOS + LOF +SRQ13
122召唤目录,选择文件,召唤文件,选择节F_SC_NA_1NOF + NOS + SCQ5,13
123最后的节,最后的段F_LS_NA_1NOF + NOS + LSQ +CHS13
124确认文件,确认节F_AF_NA_1NOF + NOS + AFQ13
125F_SG_NA_1NOF + NOS + LOS +segement13
126目录F_DR_TA_1NOF + LOF + SOF +CP56Time2a3,5
127日至查寻-请求存档文件F_SC_NB_1
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇