IEC 60870-5-104 协议介绍
协议概述
IEC 60870-5-104 是 IEC 60870-5 系列中基于 TCP/IP 网络的远动通信协议,广泛用于变电站与调度中心(SCADA/EMS)之间的数据传输。它是 IEC 60870-5-101(串口)的网络化版本,将 APDU 封装在 TCP 之上。
EMS Simulate 基于 c104 库实现该协议,完整支持"四遥"体系(YC 遥测 / YX 遥信 / YK 遥控 / YT 遥调),可模拟测控装置、远动终端,也可作为主站连接真实设备。
协议特性
| 属性 | 说明 |
|---|---|
| 默认端口 | 2404(TCP) |
| 帧类型 | I 帧(数据)、S 帧(确认)、U 帧(链路控制) |
| 测点类型 | YC 遥测、YX 遥信、YK 遥控、YT 遥调 |
| ASDU 类型 | 完整支持全部 25 种 ASDU 类型 |
| 品质描述符 | IV / NT / SB / BL / OV 等标准品质位 |
| 传输原因 | 周期、自发、总召唤、命令确认、时钟同步等 |
| 高级功能 | 总召唤、时钟同步、计数量召唤、遥调-遥测绑定 |
四遥体系
| 类型 | 名称 | 典型 ASDU | 说明 |
|---|---|---|---|
| YC | 遥测 | M_ME_NC_1 (13) 等 | 测量值(电压、电流、功率等) |
| YX | 遥信 | M_SP_NA_1 (1)、M_DP_NA_1 (3) | 单点/双点状态(开关位置等) |
| YK | 遥控 | C_SC_NA_1 (45)、C_DC_NA_1 (46) | 单点/双点命令(分/合闸) |
| YT | 遥调 | C_SE_NC_1 (50) 等 | 设定值命令(目标值下发) |
常用 ASDU 类型
| 类型标识 | ASDU | 类别 | 说明 |
|---|---|---|---|
| 1 | M_SP_NA_1 | 遥信 | 单点信息 |
| 3 | M_DP_NA_1 | 遥信 | 双点信息 |
| 9 | M_ME_NA_1 | 遥测 | 归一化值 |
| 11 | M_ME_NB_1 | 遥测 | 标度化值 |
| 13 | M_ME_NC_1 | 遥测 | 短浮点数(最常用) |
| 21 | M_ME_NC_1 | 遥测 | 计数量(累计值) |
| 45 | C_SC_NA_1 | 遥控 | 单点命令 |
| 46 | C_DC_NA_1 | 遥控 | 双点命令 |
| 50 | C_SE_NC_1 | 遥调 | 设定值命令(短浮点) |
| 100 | C_IC_NA_1 | 控制 | 总召唤命令 |
| 103 | C_CS_NA_1 | 控制 | 时钟同步命令 |
品质描述符
遥测/遥信数据带 1 字节品质描述符(QDS):
| 位 | 标志 | 含义 |
|---|---|---|
| 0 | OV | 溢出 |
| 2 | BL | 闭锁 |
| 3 | SB | 取代 |
| 4 | NT | 不刷新(非当前值) |
| 7 | IV | 无效 |
通信过程
一个典型的 IEC104 通信过程:
- 链路建立:客户端发送 STARTDT 激活(U 帧),服务端确认;
- 总召唤:客户端发送总召唤命令(C_IC_NA_1),服务端上送全部测点;
- 数据上送:遥测按周期/变化上送(I 帧),客户端回 S 帧确认;
- 命令下发:遥控/遥调命令(I 帧)及服务端的确认响应;
- 时钟同步:周期性时钟同步命令校准。
角色说明
| 角色 | 行为 |
|---|---|
| 服务端(Server) | 模拟测控装置/远动设备,维护测点数据,响应总召唤、上送数据、执行遥控/遥调命令 |
| 客户端(Client) | 模拟主站,连接服务端,执行总召唤、读取数据、下发命令、时钟同步 |
📄 详细操作见 IEC104 操作指南,报文结构见 IEC104 报文查看。