第八章:总召唤流程详解 #
平时学习规约或调试IEC104或IEC101设备,需要IEC104/101模拟器,推荐一款:
主站下载地址:IEC104主站模拟器
从站下载地址:IEC104从站模拟器
IEC 60870-5-104(简称IEC104)是一种用于远程控制和监控系统的通信协议。它广泛应用于电力系统和其他工业自动化系统中。总召唤(General Interrogation,简称GI)是IEC104协议中的一个重要功能,用于从远程终端设备(RTU)获取其当前的状态和数据。总召唤过程的基本步骤如下:
1. 总召唤命令发送 #
控制站(通常是SCADA系统)向遥控终端发送总召唤命令。这是一个ASDU(Application Service Data Unit),类型标识(Type ID)为100,原因码为6(总召唤)。
2. 确认命令接收 #
遥控终端收到总召唤命令后,首先需要向控制站发送确认帧,确认接收到总召唤命令。
3. 传输数据 #
遥控终端开始将所有当前的监控数据发送回控制站。这些数据通常包括:
- 遥测值(Analog Values):如电压、电流、功率等。
- 遥信状态(Binary Status):如开关状态、断路器状态等。
- 其他测量值和状态信息。
数据以ASDU的形式发送,每个ASDU可以携带多个数据点。
4. 总召唤结束 #
遥控终端发送一个总召唤结束标志,表明所有数据已发送完毕。这个ASDU类型标识为100,原因码为10(结束)。
注意,不是所有的数据类型都会响应总召唤命令。所以有时候会发现,客户端即使发送了总召唤命令,服务器端也没有返回期望的数据。就是这个原因。至于哪些数据类型会响应总召唤,后续文章给出总结。
生成上面时序图的plantuml代码:
@startuml
header IEC104总召唤时序图
footer http://www.redisant.cn/iec104client
participant Client
participant Server
==开始数据传输过程==
note left of Client #aqua
从站初始化后,STARTDT必须总是在
来自被控站的任何用户数据传输开始前发送。
被控站只有在发送STARTDT确认后才能发送任何用户数据。
end note
Client -> Server: 开始数据传输激活
note right
68-04-07-00-00-00
end note
Server -> Client: 开始数据传输确认
note right
68-04-0B-00-00-00
end note
==开始总召唤过程==
Client -> Server: 总召唤命令(传输原因=激活)
note right
68-0E-00-00-00-00-64-01-06-00-01-00-00-00-00-14
end note
Server -> Client: 总召唤命令(传输原因=激活确认)
note right
68-0E-00-00-02-00-64-01-07-00-01-00-00-00-00-14
end note
Server -> Client: 单点信息(传输原因=响应站召唤)
note right
68-12-02-00-02-00-01-02-14-00-01-00-01-00-00-00-02-00-00-00
end note
Server -> Client: 双点信息(传输原因=响应站召唤)
note right
68-12-04-00-02-00-03-02-14-00-01-00-01-00-00-00-02-00-00-00
end note
Server -> Client: 总召唤命令(传输原因=激活终止)
note right
68-0E-06-00-02-00-64-01-0A-00-01-00-00-00-00-14
end note
@enduml
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.redisant.cn/