IEC60870-5-104
IEC60870-5-104 是一种电力自动化系统中常用的通信协议,使用 TCP/IP 协议作为底层通信协议,用于监视和控制电力系统中的各种设备,如变电站、发电机、开关等。
Neuron 支持以总召唤以及设备主动上报数据的方式采集遥信、遥测和遥脉(电度召唤)数据,以及支持通过遥控遥调对设备进行控制。
添加插件
在 配置 -> 南向设备,点击添加设备来创建设备节点,输入插件名称,插件类型选择 IEC60870-5-104 启用插件。
设备配置
点击插件卡片或插件列,进入设备配置页。配置 Neuron 与设备建立连接所需的参数,下表为插件相关的配置项。
参数 | 说明 |
---|---|
设备 IP 地址 | 设备的 IPv4 地址 |
设备端口 | 设备端口号,默认为 2404 |
公共地址 | 公共地址,唯一标识数据对象 |
总召唤间隔 | 发送总招唤指令的间隔 |
时钟同步间隔 | 是否开启时钟同步,定期向设备发送时钟同步请求 |
遥脉间隔 | 是否开启遥脉,定时召唤总电度信息 |
T0 | T0 超时时间,建立 TCP 连接的超时时间,单位:秒 |
T1 | T1 超时时间,等待接收方响应请求的超时时间,单位:秒 |
T2 | 如果 T2 时间内未接收到新的 I 帧报文,则发送 S 帧报文,单位:秒 |
T3 | 如果 T3 时间内未接收到任何报文,则发送测试报文,单位:秒 |
W | 如果接收到 W 个 I 帧,必定发送 S 帧 |
设置组和点位
完成插件的添加和配置后,要建立设备与 Neuron 之间的通信,首先为南向驱动程序添加组和点位。
完成设备配置后,在南向设备页,点击设备卡片/设备列进入组列表页。点击创建来创建组,设定组名称以及采集间隔。完成组的创建后,点击组名称进入点位列表页,添加需要采集的设备点位,包括点位地址,点位属性,数据类型等。
点位属性配置为Read
,则代表该点位不仅会根据配置的总召唤间隔
,定期上报104 Server发出的数据点的值,同时还会根据组的采集间隔
,定期上报数据。
点位属性配置为Subscribe
,则代表该点位不仅会根据配置的总召唤间隔
,定期上报104 Server发出的数据点的值,同时当数据点位变化后,Neuron也会收到变化的数据点,并通过北向应用配置将数据点北向上报。
提示
由于104协议的实时性要求,配置为Subscribe
的点位,Neuron会在收到数据点位变化后,立即将变化的数据点位上报到北向应用,并且不受采集组的采集间隔
限制。
提示
当采集组的数据点位都配置为Subscribe
类型,即使数据点位没有任何变化,总召唤上报仍会触发。
点位属性配置为Write
,则代表该点位支持Neuron主动写入数据到104 Server,注意,104协议的读地址与写地址是分离的,一个点位地址位要么是读点位要么是写点位,不存在同时可读可写的点位,具体信息可查阅104协议相关文档。
点位属性Subscribe
、Read
、Write
只可单独配置。
提示
建议在同一个采集组中,只配置一种点位属性,例如,一个采集组中,只配置Subscribe
属性的点位,或者只配置Read
属性的点位,或者只配置Write
属性的点位。
公共配置项部分可参考连接南向设备,本页将介绍支持的数据类型和地址格式部分。
地址格式
IOA
IOA
在 IEC60870-5-104 协议中,IOA (Information Object Address) 指的是信息对象地址,是用于唯一标识一个数据对象的地址,用于指定一个信息对象(遥信、遥测、遥控等)的地址。
TIP
IEC60870-5-104 协议中,一个 IOA 标识的地址只属于一种类型,且能读的点位如遥测等与控制点位如遥控等的 IOA 并不相同,例如,遥测点位 IOA 为 100,这个点位对应的遥控点位 IOA 并不是 100,而是映射到其他的 IOA。
实现规范
设备通讯流程
- 支持数据防止数据丢失与重复,引用 IEC60870-5-104 中 5.1
- 支持测试链路功能,引用 IEC60870-5-104 中 5.2
- 支持启动停止链路功能,引用 IEC60870-5-104 中 5.3
- 支持链路初始化功能,引用 IEC60870-5-104 中 7.1
- 支持设备主动上送数据,引用 IEC60870-5-104 中 7.3, 7.4
- 支持总召唤设备所有数据功能,引用 IEC60870-5-104 中 7.5
- 支持时钟同步功能,引用 IEC60870-5-104 中 7.6
- 支持指令遥控功能,引用 IEC60870-5-104 中 7.7
- 支持召唤累积量功能,引用 IEC60870-5-104 中 7.8
支持的 TypeIDs
监控方向
- M_SP_NA_1: 单点信息 (BIT、 BOOL)
- M_SP_TB_1: 带时标的单点信息 (BIT、 BOOL)
- M_DP_NA_1: 双点信息 (UINT8)
- M_DP_TB_1: 带时标的双点信息 (UINT8)
- M_ST_NA_1: 步位置信息 (INT8)
- M_ST_TB_1: 带时标的步位置信息 (INT8)
- M_BO_NA_1: 32比特串 (UINT32、 INT32)
- M_BO_TB_1: 带时标的32比特串 (UINT32、 INT32)
- M_ME_NA_1: 测量值,归一化值 (FLOAT)
- M_ME_TD_1: 带时标的测量值,归一化值 (FLOAT)
- M_ME_NB_1: 测量值,标度化值 (UINT16、 INT16)
- M_ME_TE_1: 带时标的测量值,标度化值 (UINT16、 INT16)
- M_ME_NC_1: 测量值,短浮点数 (FLOAT)
- M_ME_TF_1: 带时标的测量值,短浮点数 (FLOAT)
- M_IT_NA_1: 累计量 (UINT32、 INT32)
- M_ME_ND_1: 测量值,归一化值,不带品质描述词 (FLOAT)
控制方向
- C_SC_NA_1: 单点遥控 (BIT、 BOOL)
- C_DC_NA_1: 双点遥控 (UINT8)
- C_RC_NA_1: 步调节命令 (INT8)
- C_SE_NA_1: 设置归一化值 (FLOAT, -1.0 ~ 1.0)
- C_SE_NB_1: 设置标度化值 (UINT16、 INT16)
- C_SE_NC_1: 设置短浮点数 (FLOAT)
- C_BO_NA_1: 设置32比特串 (UINT32、 INT32)
TIP
不支持 带时标的控制信息对象,如 C_SC_TA_1、C_DC_TA_1、C_RC_TA_1、C_SE_TA_1、C_SE_TB_1、C_SE_TC_1 等。
数据订阅
IEC60870-5-104 在协议层面支持点位发生改变时,设备主动上报点位值。在 Neuron 侧需要给点位配置 Subscribe 属性,当设备向 Neuron 发送变化数据时,Neuron 才会及时把此变化消息发送到对应的北向应用中。
地址示例
IOA | 类型 | 说明 |
---|---|---|
100 | M_SP_NA_1 | 读取 IOA 为 100 的一位开关量(单点信息) |
1000 | C_SC_NA_1 | 单点遥控,对 IOA 为 1000 的信息对象进行一位开关量进行控制写入 | |
400 | M_ME_NA_1 | 读取 IOA 为 400 的测量值 | |
4000 | C_SE_NA_1 | 单点控制,对 IOA 为 4000 的信息对象进行控制写入 | |
如上表中 100 与 1000 存在映射关系,则对 1000 进行控制写入后,能从 100 中读到写入的值;或是 400 与 4000 存在映射关系,则对 4000 进行控制写入后,能从 400 中读到写入的值。
TIP
支持点位时间以及点位质量的数据点,在北向发送数据时,将会可选的增加对应点位的质量以及时间。
应用场景
您可通过IEC 60870-5-104 Server Simulator 模拟 IEC60870-5-104 设备测试到 Neuron 的连接,具体步骤,见IEC 60870-5-104 Server 模拟器连接示例。
数据监控
完成点位的配置后,您可点击 监控 -> 数据监控查看设备信息以及反控设备,具体可参考数据监控。