IEC60870-104协议
104规约规定,发送序号和接收序号只用于I帧的计数,发送序号和接收序号是连续编码的偶数,自动增加。
双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
主站和RTU之间采用TCP传输协议,主站(控制侧)为TCP客户端,RTU(被控制侧)为TCP服务端,即主站主动进行TCP连接,而RTU被动响应TCP连接,固定2404端口。传送原因2、公共地址2、信息体地址3,前低后高。主站(客户)端和RTU(服务器)端采用TCP/IP客户-服务器模式建立TCP连接,即主站(客户)端按Socket()->Connect()的顺序进行,RTU(服务器)端按Socket()->Bind()->Listen()->Accept()的顺序进行。
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
启动字符 1字节 取值 68H
APDU长度 1字节 取值 最大,253
控制域 4字节 【信息传输】I格式控制域标志 控制域八位位组1
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
延时时间
t0:tcp连接建立的超时时间,即RTU(服务器)端进入等待连接的状态后,若超过此时间,主站(客户)端还没有Connect()过来就主动退出等待连接的状态,默认30s
t1:发送或测试APDU的超时,RTU(服务器)端启动U格式测试过程后等待U格式测试应答的超时时间,若超过此时间还没有收到主站(客户)端的U格式测试应答,就主动关闭TCP连接,默认15s;
t2:无数据报文时确认的超时,RUT(服务器)端以突发的传送原因向主站(客户)端上送了变化信息或以激活结束的传送原因向主站(客户)端上送了总召唤。。。。
t3:长期空闲状态下发送测试帧的超时,当RTU(服务器)端和主站(客户)端之间没有实际的数据交换时,任何一端启动U格式测试过程的最大间隔时间,默认20s
报文类别:
可计数的信息传输功能--I格式,可计数的确认功能--S格式,启动,停止,测试功能--U格式。
地址:
遥信1H--4000H,遥测4001H--5000H,遥控6001H--6100H,电度6401H--6600H。
//////////////////////////////////////////////////////////////////////////////////////////////////////
流程:
握手U帧:
1发送(激活传输启动)->68 04 07 00 00 00 链路连接请求帧 07=00000111 前两位说明U帧,01说明链路请求
2接收(确认激活传输)->68 04 0B 00 00 00 00 连接请求确认帧 0B=00001011 前两位U帧,10说明链路连接确认帧
总召唤,召唤YC,YX(可变I帧),初始化后定时发送总召唤
3发送(总召唤)->68 0E(长度) 00 00(发送序号2字节)00 00(接收序号2字节)64(类型标识总召唤命令) 01(可变结构限定) 06 00(传送原因) 01 00(APDU地址) 00 00 00(信息体地址) 14(信息体元素,站召唤全局)
4接受(总召唤激活确认)->68 0E(长度) 00(第一位0为I格式帧) 00 02(I格式帧计数) 00(接收序号2字节)64(类型标识总召唤命令) 01(可变结构限定) 07 00(传送原因,激活确认) 01 00(APDU地址) 00 00 00(信息体地址) 14(信息体元素,站召唤全局)
从站发送单点遥信数据帧
5接受->681E0200(I格式帧)0200(I格式帧计数)01(类型标识单点信息)05(可变结构限定5个不连续的单点信息)1400(传送原因响应站召唤)0100(APDU地址)0A0000(第一个信息体地址)00(第一个信息体数据)0C0000(第二个地址)00(第二个数据)0E000000(第三)10000000(第四)64000001(第五)
6接受(从站发送遥测归一化值数据帧)->68 22 04 00 02 00 09 04 14 00 01 00 01 07 00(信息对象地址) C8 00 00 05 07 00 C8 00 00 07 07 00 C8 00 00
7接受(总召命令结束)->68 0E 06 00 02 00 64 01 0A 00 01 00 00 00 00 14
8发送(S格式确认帧)->68 04 01(S格式帧) 00 08 00(I格式帧计数)
9发送(时钟同步激活)->68 14 02 00 08 00 67 01 06 00 01 00 00 00 00 1F E0 0C 0B 6A 09 08
10接受(时钟同步激活确认)->68 14 08 00 04 00 67 01 07 00 01 00 00 00 00 97 CC 1E 0B 0A 09 08
11发送(电能脉冲召唤请求)->68 0E 04 00 0A 00 65 01 06 00 01 00 00 00 00 41
12接受(电能脉冲召唤激活确认)->68 0E 0A 00 06 00 65 01 07 00 01 00 00 00 00 41
13接受(累积量电度数据帧)->68 21 0C 00 06 00 0F 84 25 00 01 00 A2 1C 00 0A 00 00 00 00 0A 00 00 00 00 0A 00 00 00 00 OA 00 00 00 00
14接受(电能脉冲召唤激活结束)->68 0E 0E 00 06 00 65 01 0A 00 01 00 00 00 00 41
15发送(S格式确认帧)->68 04 01 00 10 00
无数据接收 。。。t3超时
16发送(U格式测试询问帧)->68 04 43 00 00 00
t2超时 接收 (U格式确认询问帧) 68 04 83 00 00 00
17发送(U格式停止询问帧)->68 04 13 00 00 00
结束
18发送->68 04 07 00 00 00 00
重复2-18