1)101规约唯一地采用IEC60870-5-1 6.2.4.2 中定义的帧格式FT1.2,IEC-60870-5(远动设备及系统第五部分传输规约--共五篇)下载,FT1.2三种帧结构格式如下:
启动字符(10H) |
控制域(C) |
链路地址域(A) |
帧校验和(CS) |
结束字符(16H) |
(固定帧长格式)
启动字符(68H) |
长度(L) |
重复长度(L) |
启动字符(68H) |
控制域(C) |
链路地址域(A) |
链路用户数据(可变长度) |
帧校验和(CS) |
结束字符(16H) |
(可变帧长格式)
(单字节)
2)101规约有平衡传输和非平衡传输两种方式:①非平衡传输方式对于信息采集、处理均由主站控制策略实现优化,实现简单,易于控制;②平衡传输可以快速上传重要信息,信息传输效率更高,主动性更强,但是主站端相应、控制较复杂。平衡传输只能用于点对点或者多个点对点的全双工通道。如果通道为半双工通道或多点共线、多点环形、多点星形等通道配置,只能采用非平衡传输。101规约一般应使用非平衡方式。
3)101规约--控制域的定义:
D7 D6 D5 D4 D3 D2 D1 D0
0 | 1 | 帧计数位FCB | 帧计数有效位FCV | 2³ | 2² | 2¹ | 2º |
DIR | PRM |
传输方向位 | 启动报文位 | 要求访问位ACD | 数据流控制位DFC | 功能码 |
1 | 0 |
①主站 --> 子站
②子站 --> 主站
①传输方向位DIR。DIR=0,表示报文是由主站向子站传输。
启动报文位PRM。PRM=1,表示主站向子站传输,主站为启动站。
帧计数位FCB。主站向同一个子站传输新一轮的发送/确认(SEND/CONFIRM)或请求/响应(REQUEST/RESPOND)传输服务时,将FCB 位取相反值,主站为每一个子站保留一个帧计数位的拷贝,若超时没有从子站收到所期望的报文,或接收出现差错,则主站不改变帧计数位(FCB)的状态,重复传送原报文,重复次数为3 次。若主站正确收到子站报文,则该一轮的发送/确认(SEND/CONFIRM)或请求/响应(REQUEST/RESPOND)传输服务结束。复位命令的帧计数位常为0,帧计数有效位FCV=0。
帧计数有效位FCV:FCV=0 表示帧计数位(FCB)的变化无效。FCV=1 表示帧计数位(FCB)的变化有效。
发送/无回答服务、重传次数为0的报文、广播报文时不需考虑报文丢失和重复传输,无需改变帧计数位(FCB)的状态,因此这些帧的计数有效位常为0。
②传输方向位DIR。DIR=1 表示报文是由子站向主站传输。
启动报文位PRM。PRM=0 表示子站向主站传输,子站为从动站。
要求访问位ACD。ACD=1 表示子站希望向主站传输1 级数据。
数据流控制(DFC):DFC=0 表示子站可以继续接收数据。DFC=1 表示子站数据区已满,无法接收新数据。
表1 主站向子站传输的功能码
功能码序号 | 帧类型 | 业务功能 | 帧计数有效位状态FCV |
0 | 发送/确认帧 | 复位远方链路 | 0 |
1 | 发送/确认帧 | 复位远动终端的用户进程(撤消命令) | 0 |
2 | 发送/确认帧 | 用于平衡式传输过程测试链路功能 | — |
3 | 发送/确认帧 | 传送数据 | 1 |
4 | 发送/无回答帧 | 传送数据 | 0 |
5 | | 备用 | — |
6、7 | | 制造厂和用户协商后定义 | — |
8 | 请求/响应帧 | 响应帧应说明访问要求 | 0 |
9 | 请求/响应帧 | 召唤链路状态 | 0 |
10 | 请求/响应帧 | 召唤用户1 级数据 | 1 |
11 | 请求/响应帧 | 召唤用户2 级数据 | 1 |
12、13 | | 备用 | — |
14、15 | | 制造厂和用户协商后定义 | — |
表2 子站向主站传输的功能码
功能码序号 | 帧类型 | 功 能 | 功能码序号 | 帧类型 | 功 能 |
0 | 确认帧 | 确认 | 10 | | 备用 |
1 | 确认帧 | 链路忙、未接收报文 | 11 | 响应帧 | 以链路状态或访问请求回答请求帧 |
2~5 | | 备用 | 12 | | 备用 |
6、7 | | 制造厂和用户协商后定义 | 13 | | 制造厂和用户协商后定义 |
8 | 响应帧 | 以数据响应请求帧 | 14 | | 链路服务未工作 |
9 | 响应帧 | 无所召唤的数据 | 15 | | 链路服务未完成 |
4)101规约结构
注:上图中,APCI未用。
LPDU(链路规约数据单元)=LPCI(链路规约控制信息)+ASDU(应用服务数据单元)。
注:101规约中链路地址和ASDU公共地址在具体的项目中是如何取值的,一般LINK ADDR取站地址,如果站中仍分区(SUSTATION)就用ASDU来区分如果只有一个那干脆取一样就好了。
①类型标识,第一个八位位组为类型标识,它定义了后续信息对象的结构、类型和格式。
bit 8 7 6 5 4 3 2 1
27 ... ... 20
类型标识=TYPE IDENTIFICATION:=UI8[1..8]<1..255>
<1..127> := 本配套标准的标准定义(兼容范围)
<128..135> := 为路由报文保留(专用范围)
<136..255> :=特殊应用(专用范围)
②可变结构限定词,在应用服务数据单元中,其数据单元标识符的第二个八位位组定义为可变结构限定词,规定如下:
bit 8 7 6 5 4 3 2 1
SQ 26 数目 20
SQ=单个或者顺序 := BS1[8]<0..1>
<0> :=寻址同一种类型的许多信息对象中单个的信息元素或者信息元素的集合
<1> :=寻址ASDU单个信息对象中顺序的单个信息元素信息元素的同类集合
number =N=数目 := UI7[1..7]<0..127>
<0> :=应用服务数据单元不含信息对象
<1..127> :=应用服务数据单元信息元素(单个信息元素或同类信息元素组合)的数目
③传送原因,在应用服务数据单元中,其数据单元标识符的第三个八位位组定义为传送原因,如下所示:
bit 8 7 6 5 4 3 2 1
T P/N 25 原因 20
T=test := BS1[8]<0..1>
<0>:=未试验
<1>:=试验
注: 原因中测试-比特定义了应用服务数据单元是在测试条件下所产生的。它被用于(例如) 去测试传输和设备,但不控制过程。
P/N := BS1[7]<0..1>
<0>:= 肯定确认
<1>:= 否定确认
注: P/N位用以对由始发应用功能所请求的激活以肯定或者否定确认,在无关的情况下P/N置零。
Cause :=UI6[1..6]<0..63>
<0>:=未定义
<1..63>:=传送原因序号
<1..47>:=本配套标准的标准定义(兼容范围)见表14
<48..63>:= 专用范围
数据单元的第四个八位组(若有)是源发者地址 -- 每个系统任选
源发者地址 := UI8[9..16]
<0>:=缺省值
<1..255>:=源发者地址号
传送原因的语义:
<0> := 未用
<1> :=周期、循环 per/cyc
<2> :=背景扫描1 back
<3> :=突发(自发) spont
<4> :=初始化 init
<5> :=请求或者被请求 req
<6> :=激活 act
<7> :=激活确认 actcon
<8> :=仃止激活 deact
<9> :=仃止激活确认 deactcon
<10> :=激活终止 actterm
<11> :=远方命令引起的返送信息 retrem
<12> :=当地命令引起的返送信息 retloc
<13> :=文件传输 file
<14..19>:=为配套标准兼容范围保留
<20> :=响应站召唤 introgen
<21> :=响应第1组召唤 inro1
<22> :=响应第2组召唤 inro2
<23> :=响应第3组召唤 inro3
<24> :=响应第4组召唤 inro4
<25> :=响应第5组召唤 inro5
<26> :=响应第6组召唤 inro6
<27> :=响应第7组召唤 inro7
<28> :=响应第8组召唤 inro8
<29> :=响应第9组召唤 inro9
<30> :=响应第10组召唤 inro10
<31> :=响应第11组召唤 inro11
<32> :=响应第12组召唤 inro12
<33> :=响应第13组召唤 inro13
<34> :=响应第14组召唤 inro14
<35> :=响应第15组召唤 inro15
<36> :=响应第16组召唤 inro16
<37> :=响应计数量总召唤 reqcogen
<38> :=响应笫1组计数量召唤 reqco1
<39> :=响应笫2组计数量召唤 reqco2
<40> :=响应笫3组计数量召唤 reqco3
<41> :=响应笫4组计数量召唤 reqco4
<42..43> :=为配套标准兼容范围保留
<44> :=未知的类型标识
<45> :=未知的传送原因
<46> :=未知的应用服务数据单元公共地址
<47> :=未知的信息对象地址
<48..63>∶ =特殊应用保苗(专用范围)
在控制方向的应用服务数据单元其数据单元标识符以及信息对象地址为未定义的值(可变结构限定词除外) ,被控站以“P/N=<1>否定确认”以及下述传送原因回答∶
传送原因
未知类型标识 44
未知传送原因 45
未知应用服务数据单元公共地址 46
未知信息对象地址 47
控制站每次接收到下述应用服务数据单元,监视和记录通信差错∶
-在监视方向上的应用服务数据单元,其数据单元标识符(可变结构队限定词除外)值未定义;
-在监视方向上的应用服务数据单元,其信息对象地址值未定义;
-由于控制方向未知(类型标识符45至51)的序号的镜像的应用服务数据单元。
④应用服务数据单元公共地址:
在公共地址为FF或者FFFF(广播地址,请求全体) 的情况下,被控站以特定公共地址返回ACTCON、ACTTERM和被召唤的信息对象(如果有的话),这和向某个特定站发送命令后的响应一样。
FF和FFFF的公共地址严格限定用于在控制方向上的下述应用服务数据单元:
类型标识<100>:= 召唤命令 C_IC_NA_1
类型标识<101>:= 计数量召唤命令 C_CI_NA_1
类型标识<103>:= 时钟同步命令 C_CS_NA_1
类型标识<105>:= 复位进程命令 C_RP_NA_1
FF和FFFF的公共地址用于一个特定系统中在同一时刻向所有站同时启动同一个应用功能,例如用时钟同步命令去同步当地时钟或者由计数量召唤命令去冻结电能累计量。
⑤信息对象地址:
注:控制站将舍弃那些信息对象地址具有未定义值的应用服务数据单元。
其中笫三个八位位组仅用于结构化信息对象地址,在一个特定系统中定义唯一的地址。在所有情况下不同信息对象地址的最大数目限制为65536(两个八位位组)。如果某些应用服务数据单元中信息对象地址是无关的,它就设置为零。
⑥信息元素,略。
⑦信息时标,如下所示:
无效Invalid=IV : = BS[24]<0..1>
IV<0>: =有效
IV<1>: =无效
夏季时间=Summer time=SU : = BS[32]<0..1>
SU<0>: =标准时间(standard time)
SU<1>: =夏季时间(Summer time)
5)通讯流程
IEC60870-5-101规约有两种传输方式:平衡式和非平衡式传输,在点对点和多个点对点的全双工通道结构中采用平衡式传输方式,在其它通道结构中只采用非平衡式传输方式。平衡式传输方式中101 规约是一种“问答+循环”式规约,即主站端和子站端都可以作为启动站;而当其用于非平衡式传输方式时101 规约是问答式规约,只有主站端可以作为起动站。
a)IEC101规约主站(客户端)通讯流程
①流程说明
101规约的主站与从站进行通信时,主站的工作流程是MS(主站)à请求链路状态à复位远方链路à总召唤à时间同步à召唤1级用户数据à进行遥控à时间同步à召唤2级用户数据。
②流程图
b)IEC101规约从站(服务器端)通讯流程
①流程说明
当从站接收到主站发送请求链路状态、链路复位请求帧后,链路复位成功并向主站发送链路复位确认帧。链路复位成功后,当收到主站召唤或对时请求时,从站回应确认帧或者数据帧,当从站有一级数据需要上传或数据缓冲区已满时,在回应帧的控制域中设置并返回给主站。当收到主站的请求链路状态帧或通道测试帧时,从站返回确认帧。当收到主站遥控请求后,从站将遥控处理信息返回给主站。
②流程图
6)报文分析
①主站链路请求报文:10 49 01 4A 16
启动字符:10H
控制域: 49H --> 0100 1001
DIR(传输方向位)=0 PRM(启动报文位)=1 主站-->从站
FCB(帧计数位)=0 FCV(帧计数有效位)=0(无效)
功能码=9 召唤链路状态
链路地址域:01H
帧校验和 :4AH (前面除启动字符外的所有字节的累加)
结束字符 :16H
②从站链路请求响应报文:10 8B 01 8C 16
启动字符:10H
控制域: 8BH --> 1000 1011
DIR(传输方向位)=1 PRM(启动报文位)=0 从站-->主站
ACD(要求访问位)=0(无一级数据) DFC(数据位)=0(表示子站可以继续接收数据)
功能码=11 以链路状态或访问请求回答请求帧
链路地址域:01H
帧校验和 :8CH (前面除启动字符外的所有字节的累加)
结束字符 :16H
③主站链路复位请求报文:10 40 01 41 16
启动字符:10H
控制域: 40H --> 0100 0000
DIR(传输方向位)=0 PRM(启动报文位)=1 主站-->从站
FCB(帧计数位)=0 FCV(帧计数有效位)=0(无效)
功能码=0 复位远方链路
链路地址域:01H
帧校验和 :41H (前面除启动字符外的所有字节的累加)
结束字符 :16H
④从站链路复位响应报文:10 80 01 81 16
启动字符:10H
控制域: 80H --> 1000 0000
DIR(传输方向位)=1 PRM(启动报文位)=0 从站-->主站
ACD(要求访问位)=0(无一级数据) DFC(数据位)=0(表示子站可以继续接收数据)
功能码=0 确认
链路地址域:01H
帧校验和 :81H (前面除启动字符外的所有字节的累加)
结束字符 :16H
⑤主站召唤2级数据报文:10 7B 01 7C 16
启动字符:10H
控制域: 7BH --> 0111 1011
DIR(传输方向位)=0 PRM(启动报文位)=1 主站-->从站
FCB(帧计数位)=1 FCV(帧计数有效位)=1(有效)
功能码=11 召唤用户2级数据
链路地址域:01H
帧校验和 :7CH
结束字符 :16H
⑥从站无所召唤数据响应报文:10 89 01 8A 16
启动字符:10H
控制域: 89H --> 1000 1001
DIR(传输方向位)=1 PRM(启动报文位)=0 从站-->主站
ACD(要求访问位)=0(无一级数据) DFC(数据位)=0(表示子站可以继续接收数据)
功能码=9 无所召唤的数据
链路地址域:01H
帧校验和 :8AH
结束字符 :16H
⑦主站总召报文:68 09 09 68 73 01 64 01 06 01 00 00 14 F4 16
启动字符:68H
ASDU长度:09H(9个字节,即73 01 64 01 06 01 00 00 14)
重复长度:09H
启动字符:68H
控制域: 73H --> 0111 0011
DIR(传输方向位)=0 PRM(启动报文位)=1 主站-->从站
FCB(帧计数位)=1 FCV(帧计数有效位)=1(有效)
功能码=3 传送数据
链路地址域: 01H
数据类型标识: 64H(CON<100>:=总召唤命令)
可变结构限定词:01H(SQ=0,number=1)
传送原因: 06H(Cause=6,激活)
应用服务数据单元地址:01H
信息体地址:00H 00H
信息体数据(元素):14H(召唤限定词QOI=20,站召唤全局)
帧校验和 :F4H
结束字符 :16H
⑧从站总召响应报文:68 09 09 68 A8 01 64 01 07 01 00 00 14 2A 16
启动字符:68H(可变帧)
ASDU长度:09H(9个字节,即A8 01 64 01 07 01 00 00 14)
重复长度:09H
启动字符:68H
控制域: A8H --> 1010 1000
DIR(传输方向位)=1 PRM(启动报文位)=0 从站-->主站
ACD(要求访问位)=1(有一级数据) DFC(数据位)=0(表示子站可以继续接收数据)
功能码=8 以数据响应请求帧
链路地址域:01H
类型标识: 64H(CON<100>:=总召唤命令)
可变结构限定词:01H(SQ=0,number=1)
传送原因: 07H(Cause=7,激活确认)
应用服务数据单元地址:01H
信息体地址:00H 00H
信息体数据(元素):14H(召唤限定词QOI=20,站召唤全局)
帧校验和 :2AH
结束字符 :16H
⑨主站召唤1级数据报文:10 5A 01 5B 16
启动字符:10H(固定帧)
控制域: 5AH --> 0101 1010
DIR(传输方向位)=0 PRM(启动报文位)=1 主站-->从站
FCB(帧计数位)=0 FCV(帧计数有效位)=1(有效)
功能码=10 召唤用户1级数据
链路地址域:01H
帧校验和 :5BH
结束字符 :16H
⑩从站返回1级数据报文:68 A0 A0 68 A8 01 01 82 14 01 01 00 01 01 55 16
启动字符:68H
ASDU长度:A0H(10个字节,即A8 01 01 82 14 01 01 00 01 01)
重复长度:A0H
启动字符:68H
控制域: A8H --> 1010 1000
DIR(传输方向位)=1 PRM(启动报文位)=0 从站-->主站
ACD(要求访问位)=1(有一级数据) DFC(数据位)=0(表示子站可以继续接收数据)
功能码=8 以数据响应请求帧
链路地址域:01H
类型标识: 01H(CON<1>:=单点信息)
可变结构限定词:82H(SQ=1,number=2,表示有两个连续的单点信息)
传送原因: 14H(Cause=20,响应站召唤)
应用服务数据单元地址:01H
信息体地址:01H 00H(低位在前,高位在后)
信息体数据:01H 01H(两个单点信息,1表示合)
帧校验和 :55H
结束字符 :16H
11.主站对时(时钟同步)报文:68 0F 0F 68 53 01 67 01 06 01 00 00 E4 28 23 0F 01 02 09 0D 16
启动字符:68H
ASDU长度:0FH
控制域: 53H --> 0101 0011
DIR(传输方向位)=0 PRM(启动报文位)=1 主站-->从站
FCB(帧计数位)=0 FCV(帧计数有效位)=1(有效)
功能码=3 传送数据
链路地址域:01H
类型标识: 67H(CON<103>:=时钟同步命令)
可变限定词:01H(SQ=0,number=1)
传送原因: 06H(Cause=6,激活)
应用服务数据单元地址:01H
信息体地址:00H 00H(低位在前,高位在后)
信息体数据:E4H 28H 23H 0FH 01H 02H 09H(CP56Time2a,七个八位位组二进制时间)
帧校验和 :0DH
结束字符 :16H
12.从站对时响应报文:68 0F 0F 68
88 01 67 01 07 01 00 00 7C 3C 11 0F 01 02 09 DD 16 启动字符:68H
ASDU长度:0FH
控制域: 88H --> 1000 1000
DIR(传输方向位)=1 PRM(启动报文位)=0 从站-->主站
ACD(要求访问位)=0(有一级数据) DFC(数据位)=0(表示子站可以继续接收数据)
功能码=8 以数据响应请求帧
链路地址域:01H
类型标识: 67H(CON<103>:=时钟同步命令)
可变限定词:01H(SQ=0,number=1)
传送原因: 07H(Cause=7,激活确认)
应用服务数据单元地址:01H
信息体地址:00H 00H(低位在前,高位在后)
信息体数据:7CH 3CH 11H 0FH 01H 02H 09H (CP56Time2a,七个八位位组二进制时间)
帧校验和 :DDH
结束字符 :16H
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。