主站与子站通过IEC60870 -5-104 规约通讯协议说明目录目录 (1)、八―丄前言 (1)一、IEC60870-5-104 应用规约数据单元基本结构 (2)1.1 应用规约数据单元APDU (2)1.2 应用规约控制信息APCI (2)1.3 应用服务数据单元ASDU (3)二、IEC60870-5-104 规约的过程描述 (5)三、IEC60870-5-104 规约源码分析(报文分析) (5)3.1启动连接(U 格式) (5)3.2启动连接确认(U 格式) (6)3.3总召唤(I 格式) (6)3.4总召唤确认(I 格式) (6)3.5数据确认(S 格式) (6)3.6总召唤结束(I 格式) (7)3.7测试连接(U 格式) (7)3.8测试连接确认(U 格式) (7)3.9.遥信信息(I 格式) (7)3.9遥测信息(I 格式) (10)3.10 SOE 信息(I 格式) (11)根据全国电力系统控制及其通信标准委员会三届五次会议和最近出版的国标DL/T634.5.104:2002 对104 规约的参数选择做了如下说明:1、采用端正101 规约中的链路地址和短报文(指链路确认报文)2、采用召唤一级数据3、两个字节表示公共地址(站址)4、两个字节表示传送原因5、三个字节表示信息体地址上述3、4、 5 点与上一次通讯协议具体说明有冲突,为执行国际国内标准,建议根据上述要求对报文做如下修改。
IEC60870-5-104应用规约数据单元基本结构应用规约数据单元:APDU( Applicati on protocal data unit )应用规约控制信息:APCI (Application protocal control information )应用服务数据单ASDU( Applicati on protocal con trol unit )APDU=APCI + ASDU1.1应用规约数据单元APDU定义了启动字符、应用服务数据单元的长度规范、可传输一个完整的应用规约数据单丿元。
• 启动字符:68H(—个字节)•长度规范:报文最大长度255字节,应用规约数据单元的最大长度为253字节,控制域的长度是4字节,应用服务数据单元的最大长度为249字节。
•控制域:控制域定义抗报文丢失和重复传送的控制信息、报文传输的启动和停止、传输连接的监视。
控制域的这些类型被用于完成计数的信息传输的(I格式)、计数的监视功能(S格式)和不计数控制功能(U格式)。
•应用服务数据单元1.2应用规约控制信息APCI控制域定义抗报文丢失和重复传送的控制信息、报文传输的启动和仃止、传输连接的监视。
控制域的这些类型被用于完成计数的信息传输的(I格式)、计数的监视功能(S格式)和不计数的控制功能(U格式)。
计数的监视功能类型(S格式)的控制域不计数的控制功能(U格式)类型的控制域1.3应用服务数据单元ASDU应用服务数据单元ASDI由数据单元标识符和一个或多个信息对象所组成。
数据单元标识符在所有应用服务数据单元中常有相同的结构,一个应用服务数据单元中的信息对象常有相同的结构和类型,它们由类型标识域所定义。
数据单元标识符的结构如下:•报文类型标识•可变结构限定词在应用服务数据单元中,其数据单元标识符的第二个字节定义为可变结构限定词, 如下所述:bit 8 7 6 5 4 3 2 1SQ= 0,表示由信息对象地址寻址的单个信息元素或综合信息元素。
应用服务数据单元可以由一个或多个同类的信息对象所组成。
S8 1,表示同类的信息元素序列(即同一种格式的测量值),由信息对象地址来寻址,信息对象地址是顺序信息元素的第一个信息元素地址,后续信息元素的地址是从这个地址起顺序加1。
在顺序信息元素的情况下每个应用服务数据单元仅安排一种信息对象。
bit 1〜7表示信息对象的数目。
•传送原因两个字节• 应用服务数据单元公共地址(站址)•信息体地址三个字节信息对象地址分配(见02版部颁规约文本附页)信息对象地址:=UI16[1〜16]<0…65535><0>:无关的信息对象地址<1…65535>:信息对象地址遥信:信息对象地址范围为0001H〜4000H遥测:信息对象地址范围为4001H〜5000H1、IEC60870-5-104规约的过程描述当主站软件重新启动或链路故障时,主站将向子站发出建立链路的请求报文。
当链路建立后,主站召唤一次全数据,随后定时召唤全数据,子站主动传送变化数据。
主站收到数据帧后发送数据确认帧。
交互过程三、IEC60870-5-104规约源码分析(报文分析)注:以下报文均为16进制表示,两字节以上数据均为低位在前。
3.1启动连接(U格式)Client send : 68 04 07 00 00 00报文解析:启动连接启动字符:68H后续长度:04H,指从第3个字节开始(包括第3个字节)的后续报文长度为4个字节。
控制域:07 00 00 00,07H= 00000111,右数第三位为1,表示STARTD生效。
3.2 启动连接确认(U 格式)Server send :68 04 0b 00 00 00 报文解析:启动连接确认启动字符:68H后续长度:04H,指从第3个字节开始的后续报文长度为4个字节。
控制域:0b 00 00 00 , 0bH= 00001011,右数第四位为1,表示STARTD确认3.3 总召唤(I 格式)Client send :68 0e 00 00 00 00 64 01 06 00 33 00 00 00 00 14 报文解析:总召唤数据命令启动字符:68H后续长度:0eH,指从第3个字节开始的后续报文长度为14个字节。
控制域:00 0000 00报文类型:64H= 100,总召唤命令。
传送原因:06 00 = 6,激活。
站址:33 00 = 51,站址为51。
3.4 总召唤确认(I 格式)Server send :68 0e 00 00 02 00 64 01 07 00 33 00 00 00 00 14 报文解析:总召唤数据确认命令启动字符:68H后续长度:0eH= 14,指从第3个字节开始的后续报文长度为14个字节。
控制域:0000 02 00报文类型:64H= 100,总召唤命令传送原因:07 00 = 7,激活确认站址:33 00 = 51,站址为513.5 数据确认(S 格式)Server send :68 04 01 00 02 00 报文解析:数据确认启动字符:68H后续长度:04H= 4,指从第3个字节开始的后续报文长度为4个字节控制域:01 0002 003.6 总召唤结束(I 格式)Server send :68 0e 06 00 02 00 64 01 0a 00 33 00 00 00 00 14 报文解析:总召唤数据结束命令启动字符:68H后续长度:OeH= 14,指从第3个字节开始的后续报文长度为14个字节。
控制域:06 00 02 00报文类型:64H= 100,总召唤命令。
传送原因:0a 00 = 10,激活终止。
站址:33 00 = 51,站址为51。
3.7 测试连接(U 格式)Server or client send :68 04 43 00 00 00报文解析:测试连接启动字符:68H后续长度:04H= 4,指从第3个字节开始的后续报文长度为4个字节控制域:43 00 00 00 , 43H= 01000011,右数第七位为1,表示TESTF圈效3.8 测试连接确认(U 格式)Server or client send :68 04 83 00 00 00报文解析:测试连接确认启动字符:68H后续长度:04H= 4,指从第3个字节开始的后续报文长度为4个字节.控制域:83 00 00 00 , 83H= 10000011,右数第八位为1,表示TESTFF确认3.9 .遥信信息(I 格式)•序列号连续的单点信息Server send :68 1c 00 00 00 00 01 8f 14 00 33 00 01 02 0001 00 01 00 01 00 01 00 01 00 01 00 01 00 01 报文解析:单点遥信启动字符:68H后续长度:1cH = 28,指从第3个字节开始的后续报文长度为28个字节控制域:00 00 00 00报文类型:01H = 1,单点信息,遥信可变结构限定词:8fH= 10001111,最高位为1表示s连续,8f —80 = 0f,0fH = 15,表示有15 个遥信数据。
传送原因:14 00=20,相应站召唤解析后得到 5个遥信数据:value = 01H & 0x01=1 value = 01H & 0x01=0 value = 00H & 0x01=1 value = 00H & 0x01=0 value = 01H & 0x01=1站址:33 00 = 51,站址为51信息体起始地址: 01 02 00 : 0201H信息元素数据: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01据的值。
解析后得到 1 5个遥信数据:, 15 个遥信数Index = 0201HIndex = 0202Hvalue = 01H & 0x01=1 value = 00H & 0x01=0 Index = 020dHIndex = 020eHIn dex = 020fH value = 01H & 0x01=1 value = 00H & 0x01=0 value = 01H & 0x01=101 02 00 01 05 02 00 01 08 02 00 00 0a 02 00 00 0f 02 0001 报文解析: 单点遥信启动字符: 68H后续长度: 1eH = 30,指从第3个字节开始的后续报文长度为 30个字节控制域: 00 00 00 00传送原因: 03 00=3,突发(自发)站址:33 00 = 51,站址为51第 1 个信息元素地址 第 1 个信息元素数据 第 2 个信息元素地址 第 2 个信息元素数据 第 3 个信息元素地址 第 3 个信息元素数据 第 4 个信息元素地址 第 4 个信息元素数据 第 5 个信息元素地址 第 5 个信息元素数据 01 02 00 ,0201H0105 02 00 ,0205H 01 08 02 00 , 0208H 00 0a 02 00 , 020aHIndex = 0201H Index = 0205H Index = 0208HIndex = 020aHIn dex = 020fH •序列号不连续的单点信息Server send : 68 1e 00 00 00 00 01 05 03 00 33 00报文类型:01H = 1,单点信息,遥信可变结构限定词:05H=00000101,最高位为0表示不连续,05H= 5,表示有5个 遥信数据。