101规约解读解析
- 格式:docx
- 大小:108.33 KB
- 文档页数:18
IEC870-5-101规约报文解释一、规约格式简介1、祯格式101规约的基本祯格式如下所示,具体的解释请参照规约手册,这里不再重复。
固定祯长格式:可变祯长格式:规约中不同的命令,可能采用不同的祯格式。
2、控制域功能码说明主站下发子站功能码子站上送主站功能码二、主站初始化RTU下发命令流程(以非平衡方式通信)以下adrs 表示链路地址(一般为rtu 站址),comadr 表示公共地址(一般为rtu 站址),infadr_l 表示信息体地址低位,infadr_h 表示信息体地址高位,CS 表示祯校验和。
对时祯为长时标方式。
1、 询问链路状态 10 49 adrs CS 16子站回答 10 80 adrs CS2、 复位远方链路1040 adrs CS 子站回答 10 89 adrs CS 3、总召唤 68 10 10 68 16子站确认 68 09 09 68 80 adrs 64 01 07 comadr00 00 14 CS 16子站发送遥测遥信祯(下面将详细解释)子站发送总召唤结束祯68 09 09 68 88 adrs 64 01 0a comadr00 00 14 CS 164、 如果没有召唤全则进行分组召唤下发命令码: 68 09 09 68 7b adrs 64 01 05 comadr子站发送遥测遥信祯(和总召唤的一样,只是信息体地址会有所区别)5、 发对时令 68 0f 0f 68 53 adrs 67 01 06 comadr00 00 milliseconds_l milliseconds_hminutes hours day month year CS 16子站确认祯 68 0f 0f 68 80 adrs 67 01 07 comadr00 00 milliseconds_l milliseconds_hminutes hours day month year CS 166、 召唤全电度 68 09 09 68 73 adrs 65 01 06 comadr00 00 45 CS 16子站发送电度总召唤确认祯68 09 09 68 80 adrs 65 01 07 comadr00 00 45 CS 16子站发送电度祯(下面将详细讲述)子站发送电度结束祯 68 09 09 68 80 adrs 65 01 0a comadr00 00 45 CS 167、 如果电度没有召唤全则进行分组召唤电度68 09 09 68 7b adrs 65 01 05 comadr8、如果ACD位为1则召唤一级数据10 5a adrs CS 16子站发送遥信状态变位祯(下面将详细讲述)如果没有则子站发送E59、召唤二级数据10 7b adrs CS 16如果有变化遥测则子站发送变化遥测祯(下面将详细讲述)如果有SOE则子站发送事件顺序记录祯如果没有相应信息则子站发送E5以上任何一祯发送后子站都应有所回答,如果超时子站没有回答主站都会连发3遍,再没有回答则主站重新询问子站链路状态。
<1 0 101规约(2002版)报文解析速查1、 初始化主站发:10 49 4F 98 16目的:给地址为4F 的子站发请求链路状态命令。
子站回答:10 0B 4F 5A 16目的:子站向主站响应链路状态。
主站发:10 40 4F 8F 16目的:给地址为4F 的子站发复位通信单元命令。
子站回答:10 20 4F 6F 16目的:ACD 位置1,表明子站向主站请求 1级数据上送。
主站发:10 7A 4F C9 16目的:向地址为4F 的子站发召唤1级数据命令。
子站回答:68 09 09 68 28 4F 46 01 04 4F 00 00 00 11 16 (ASDU70,CON=28 ,COT=4)目的:子站以 ASDU70(初始化结束)响应主站的召唤。
并ACD 位置1,表明子站继续向主站请求1级数据上送。
后面跟随时间同步和总查询。
2、 对时主站发:68 0F 0F 68 73 00 67 01 06 00 00 00 CD 85 36 0D 1E 0C 04 A4 16目的:给地址为0的子站发对时命令。
对时时间为:04年12月31日13时54分34秒253毫秒报文解析:101规约(2002版)报文解析四方子站发:68 OF OF 68 80 00 67 01 07 00 00 00 F7 01 36 0D 1E 0C 04 58 16目的:以ASDU6刀向应主站对时命令。
3、总召唤主站发:68 09 09 68 53 4F 64 01 06 4F 00 00 14 70 16目的:向地址为4F 的子站发总召唤命令。
子站回答:10 20 4F 6F 16目的:ACD 位置1,表明子站向主站请求1级数据上送。
主站发:10 5A 4F A9 16目的:向地址为4F 的子站发召唤1级数据的命令。
子站回答:68 09 09 68 28 4F 64 01 07 4F 00 00 14 46 16目的:子站响应总召唤,ACD 位置1。
c语言实现101规约报文解析101规约是中国国家电网公司制定的电力通信规约,用于电力系统的远程监控和控制。
本文将详细介绍101规约报文的解析方式。
101规约报文的结构如下:1.帧起始字符(固定为“10H”)2.控制域3.长度域4.信息域5.校验和6.帧结束字符(固定为“16H”)以下将对每个部分进行详细的解析说明。
1.帧起始字符:帧起始字符是报文的起始标识,固定为“10H”。
它用于标识报文的开始,使接收端能够正确判断并解析报文。
2.控制域:控制域用于指示报文的类型和功能。
控制域包括以下几个字段:- DIR(传输方向):用于指示报文的传输方向,是表示主站发送(0)还是表示从站发送(1)。
- PRM(启动标志):用于标识报文是否是启动报文。
- FCB(帧计数位):用于确认请求报文的从站数据是否正确地响应到主站。
- FCV(帧计数位有效标志):用于标识帧计数位是否有效。
- ACD(从站地址位):用于标识发送报文的从站地址是否有效。
- DFC(数据流控制位):用于标识主站对从站发送过来的帧内响应报文的处理状态。
3.长度域:长度域用于标识报文的长度,包括控制域、信息域、校验和等的长度。
长度域的值为报文的总长度减去起始字符和结束字符的长度。
4.信息域:信息域用于承载具体的数据内容。
根据不同的功能要求,信息域的格式和内容各异。
5.校验和:校验和用于检验报文的完整性和正确性。
校验和的值等于起始字符、控制域、长度域和信息域各字节的累加和的低字节。
6.帧结束字符:帧结束字符是报文的结束标识,固定为“16H”。
它用于标识报文的结束,使接收端能够正确判断并解析报文。
要解析101规约报文,首先需要将报文按照规约格式进行拆解。
然后,根据拆解后的报文字段进行解析和处理。
下面是一个简单的示例:```c#include <stdio.h>int main() {//假设收到一个101规约报文unsigned char frame[] = {0x10, 0x04, 0x00, 0x14, 0x01,0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0xA1, 0xC5, 0x16};//解析帧起始字符unsigned char start = frame[0];printf("帧起始字符:0x%02X\n", start);//解析控制域unsigned char control = frame[1];unsigned char dir = (control >> 7) & 0x01; unsigned char prm = (control >> 6) & 0x01;// ...解析其他控制位printf("传输方向:%d\n", dir);printf("启动标志:%d\n", prm);//解析长度域unsigned short length = (frame[2] << 8) | frame[3]; printf("长度:%d\n", length);//解析信息域// ...根据报文类型和相关规则解析信息域//解析校验和unsigned char checksum = frame[length + 4];printf("校验和:0x%02X\n", checksum);//解析帧结束字符unsigned char end = frame[length + 5];printf("帧结束字符:0x%02X\n", end);return 0;}```以上示例只是给出了一个基本的报文解析框架,要完整实现101规约报文的解析,还需要根据具体的功能需求,进一步解析控制域、长度域和信息域的具体字段,并进行相关的处理。
101规约报文解释(适用初学者)1101规约解读101规约解读一、101远动规约的基本对话过程1)初始化过程(链路两端通电时):主站询问子站链路状态和子站以链路状态回答主站,主站复位远方链路,子站确认回答;子站向主站询问链路状态,主站以链路状态回答子站,子站复位远方链路,主站确认回答;主站发总召唤命令,子站以全数据回答,主站发送时钟同步命令,子站以同步时钟事件回答。
2)基本问答过程:主站在初始化完毕,并召唤过全数据和时钟同步之后,开始轮询辅助数据;如果分站有二次数据或一次数据,它将直接用数据应答。
如果它不存在,它将用否定信息回答(否定回答是单个字符“e5h”,也可以用“无请求数据”确认框回答)。
3)其他问答过程:遥控选择命令以遥控选择确认帧回答,遥控执行命令执行电子呼叫框以应答电子命令。
链路报文格式1)固定帧长帧格式启动字符(10h)控制域(c)链路地址域(a)帧校验和(cs)结束字符(16h)固定长帧报文就是链路初始化报文主站:1049064f16(主叫链路状态)子站:100b061116(正常状态)主站:1040064616(重置远程链路)子站:1020222616(确认)主站:105a066016(召唤一级数据)子站:es(没有所召唤的数据)二、总称主站--子站680909685830664010606000014DE166809096968730164010601000014F416主?子:总召唤命令帧c_ic_na_168hl=9L=9(重复)12101协议解释68h01fcb10011(控制域)链路地址域类型ID 100(100十六进制为64)变量结构限定符=01传输原因=6(活动)应用服务数据单元公共地址信息体地址低字节00h信息体地址高字节00hqoi=20(总调用)(20十六进制为14h)帧校验和cs16h子站dd主站68090968280664010706000014b41668hl=9l=9(重复)68h10acddfc0000(控制域)链路地址域类型标识100(100十六进制为64)可变结构限定词=01传送原因=7(激活确认)应用服务数据单元公共地址信息体地址低字节00h信息体地址高字节00hqoi=20(总召唤)(20的十六进制为14h)帧校验和cs16h遥测点编号从16385开始23101协议解释分站DD主站(通用呼叫遥测传输)68888868280615c014(20响应总召唤)0601400600d2040e00ec0316*******f00cc04ff00f3001600f5ff0000cb04ee07a9ffd7ff5 a00ca041700c7ff3d005c0800000000870187008b01eb06d5fbf0fe1604f206000000000000940 6f806f406fd0602075002320040021c002c00ddfff100e90025003e023*********ff9200ff001 5ff8e0000019e002900d80100000000dd1668hl=88l=8868h10acddfc1100链路地址域RTU地址类型ID 9(15代表标准化遥测,0d代表短浮点遥测)消息体数(遥测数)传输原因14h应用服务数据单元公共广播消息体地址低字节开始地址低字节消息体地址高字节起始地址高字节遥测值1(第一个遥测值的低位)遥测值1(第一个遥测值的高位)ivntsbbl000ov(暂时固定为0)遥测值2遥测值2ivnsbbl000ov(暂时固定为0)。
101规约解读一、101远动规约的基本对话过程1)初始化过程(链路两端均已上电时):主站向子站询问链路状态,子站以链路状态回答主站,主站复位远方链路,子站确认回答;子站向主站询问链路状态,主站以链路状态回答子站,子站复位远方链路,主站确认回答;主站发总召唤命令,子站以全数据回答,主站发送时钟同步命令,子站以同步时钟事件回答。
2)基本问答过程:主站在初始化完毕,并召唤过全数据和时钟同步之后,开始轮询二级数据;而子站如果存在二级数据或一级数据,直接以数据回答,如不存在,则以否定报文回答(否定回答是单个字符“E5H”,也可以“无所请求数据”确认帧回答)。
3)其他问答过程:遥控选择命令以遥控选择确认帧回答,遥控执行命令以遥控执行确认帧回答,召唤电度命令以传送电度数据帧回答。
链路报文格式1)固定帧长帧格式固定长帧报文就是链路初始化报文主站:10 49 06 4F 16 (召唤链路状态)子站:10 0B 06 11 16 (状态正常)主站:10 40 06 46 16 (复位远方链路)子站:10 20 06 26 16 (确认)主站:10 5A 06 60 16(召唤一级数据)子站:ES(没有所召唤的数据)二、总召主站--子站68 09 09 68 5 3 066401 060600 00 14 DE 1668 09 09 68 73 01 64 01 06 01 00 00 14 F4 16主 子:总召唤命令帧C_IC_NA_1子站――主站68 09 09 68 28 066401070600 00 14B4 16遥测点号从16385开始子站――主站(总召遥测传送)68 88 88 68 28 06 15C0 14(20响应总召唤)06014006 00 D2 04 0E 00 EC 03 16 00 44 00 3F 00 CC 04 FF 00 F3 00 16 00 F5 FF 00 00 CB 04 EE 07 A9 FF D7 FF 5A 00 CA 04 17 00 C7 FF 3D 00 5C 08 00 00 00 00 87 01 87 00 8B 01 EB 06 D5 FB F0 FE 16 04 F2 06 00 00 00 00 00 00 94 06 F8 06 F4 06 FD 06 02 07 50 02 32 00 40 02 1C 00 2C 00 DD FF F1 00 E9 00 25 00 3E 02 35 00 17 02 15 FF 92 00 FF 00 15 FF 8E 00 00 01 9E 00 29 00 D8 01 00 00 00 00 DD 16=6:激活=7:激活确认=8:停止激活=9:停止激活确认=10:激活结束=11:远程命令引起的返送信息(未用)=12:当地命令引起的返送信息(未用)=13:文件传送(未用)=14~19:保留=20:响应总召唤=21:响应第一组召唤=22:响应第二组召唤=23:响应第三组召唤=24:响应第四组召唤=25:响应第五组召唤=26:响应第六组召唤=27:响应第七组召唤=28:响应第八组召唤=29:响应第九组召唤=30:响应第十组召唤=31:响应第十一组召唤=32:响应第十二组召唤=33:响应第十三组召唤=34:响应第十四组召唤=35:响应第十五组召唤=36:响应第十六组召唤=37:响应计数量总召唤=38:响应第一组计数量召唤=39:响应第二组计数量召唤=40:响应第三组计数量召唤=41:响应第四组计数量召唤=42~47:为配套标准保留=48~63:为特殊用途保留遥信点号从1开始子站――主站(总召单点遥信传送)68 87 87 68 28 0601FF 140601 0001 00 00 00 00 00 01 00 00 00 01 00 01 01 00 00 00 01 00 00 00 00 00 00 00 00 00 01 00 00 00 01 01 00 00 00 00 00 01 00 00 00 01 00 00 01 00 01 00 00 01 00 00 01 00 00 00 00 00 00 01 01 00 00 00 01 01 00 00 00 00 00 00 01 00 01 01 00 01 00 00 00 00 01 00 01 01 01 00 01 01 01 01 00 01 01 01 00 01 01 01 00 01 01 00 01 01 01 01 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 01 00 83 1668 09 09 68 08 28 01 01 03 28 12 00 01 70 16子→主总召结束68 09 09 68 08 0664010A0600 00 14 97 16子→主:总召唤结束帧M_IC_NA_1三、一般询问过程当没有变化数据时:1、主→子:召唤二级用户数据帧C_P2_NA_1 (10 7B 06 81 16)子→主:无所请求数据确认帧M_NV_NA_1或回答单个字符E5H 当有遥信变化(一级用户数据)时,直接以一级数据应答2、主→子:召唤二级用户数据帧C_P2_NA_1子→主:单点遥信变化响应帧M_SP_NA_1子→主:不带品质描述的遥测帧子→主:状态和状态变位的遥信帧带品质描述的单点信息SIQSPI(1bit)=0:OFF(开)RES(3bit):保留=1:ON(合)BL(1bit)=0:未被闭锁SB(1bit)=0:未被取代=1:被闭锁=1:被取代NT(1bit)=0:当前值IV(1bit)=0:有效=1:非当前值=1:无效遥控点号从24577开始1.遥控过程主 子:遥控选择命令的发送帧C_DC_NA_1子→主:遥控选择命令的确认帧M_DC_NA_1主→子:遥控执行命令的发送帧C_DC_NA_1子 主:遥控执行命令的确认帧M_DC_NA_1☆遥控命令DCOS/E=0:执行=1:选择QU:目前固定为0DCS =0:不允许=1:OFF,开=2:ON,合=3:不允许当子站发生事件顺序记录SOE(二级用户数据)时,报告SOE:主→子:召唤二级用户数据帧C_P2_NA_1子→主:单点/双点信息的事件顺序记录M_SP_TA_1/ M_DP_TA_1遥控点号从3073开始11。
101规约解读一、101帧格式1例:10 49 01 4a 16(请求远方链路) 2例:68 09 09 68 73 01 64 01 06 01 00 00 14 f4 16(总召唤) 3.单字节(E5H )无数据应答 4FCB :主站命令计数位,每次翻转。
正常流程FCB 位每次翻转,如果主站未收到子站的正确应答,则FCB 位不翻转,如连续多次(三次以上)未收到,则初始化链路。
子站判断FCB 位,如果发现未变化,则重发上次的原码。
FCV :主站命令有效位ACD :子站命令,ACD=1表示有一级数据,要求主站召唤 DFC :子站命令,DFC=1表示数据流满,要求暂停召唤 5.功能码表主站->分站 分站->主站子站命令二、101原码分析1.请求远方链路手发报文:10 4901 4A 16 (1)控制域=49,(2)链路地址=01HRTU响应:10 0B01 8C 16 (10 AB 01 AC 16)结果:响应正确说明:这是规约中的第一步,请求远方链路。
若RTU响应后一种报文,表示RTU有1级数据,那主站在复位远方链路之后立刻召唤1级数据。
2.复位远方链路手发报文:10 4001 41 16 (1)控制域=40,(2)链路地址=01HRTU响应:10 0001 81 16 (10 A0 01 A1 16)结果:响应正确说明:这是规约中的第二步,复位远方链路。
若RTU响应后一种报文,表示RTU有1级数据,那主站在本帧之后立刻召唤1级数据。
然后才总召唤。
3.询问1级用户数据手发报文:10 7A01 7B 16 (1)控制域=40,(2)链路地址=01HRTU响应:68 1B 1B 68 88 01 01 07 05 01 02 00 00 03 00 00 04 00 00 05 00 01 06 00 01 07 00 01 08 00 01 BE 1610 8F 01 90 16结果:正确说明:1级用户数据包括变位遥信,子站初始化结束报文和由读命令所寻址的信息体的数据。
IEC-101规约报文举例1. 子站上电第一次建立连接后,上送初始化结束帧2. 主站复位命令3. 完整的时钟同步过程3.1. 延时采集和延时发送3.2. 时钟同步4. 总召唤4.1. 站总召唤4.2. 分组召唤5. 遥控5.1. 主站下发单点遥控合选择并且执行的全过程5.2. 主站下发单点遥控分选择并且撤销的全过程6. 子站突发上送数据6.1. YXBW、SOE主站:10 5b 01 5c 16子站:10 29 01 2a 16主站:10 7a 01 7b 16子站:68 09 09 68 28 01 01 81 03 01 03 00 01 b3 16【突发单点遥信】主站:10 5a 01 5b 16子站:68 09 09 68 28 01 01 81 03 01 03 00 00 b2 16【突发单点遥信】主站:10 7a 01 7b 16子站:68 1a 1a 68 08 01 1e 02 03 01 03 00 01 fc 43 39 16 81 03 07 03 00 00 f1 4a 39 16 81 03 0762 16【突发单点时标单点CP56Time2a时标事件】主站:10 5b 01 5c 16子站:10 09 01 0a 16主站:10 5a 01 5b 16子站:68 09 09 68 28 01 01 81 03 01 08 00 00 b7 16【突发单点遥信】主站:10 7a 01 7b 16子站:68 0c 0c 68 08 01 02 01 03 01 08 00 01 97 32 04 e6 16【突发带时标CP24单点遥信事件】主站:10 5b 01 5c 16子站:10 09 01 0a 166.2. 变化遥测主站:10 7b 01 7c 16子站:10 29 01 2a 16主站:10 5a 01 5b 16子站:68 0b 0b 68 28 01 09 81 03 01 08 40 00 01 00 00 16【突发规一化遥测】主站:10 7a 01 7b 16子站:68 0b 0b 68 08 01 09 81 03 01 08 40 00 00 00 00 df 16【突发规一化遥测】主站:10 5b 01 5c 16子站:10 09 01 0a 16。
IEC101规约介绍
IEC101规约主要用于电力系统自动化监控中,实现子站与主站之间的数据交换和通信。
子站主要负责采集电网的实时数据和运行状态信息,而主站则负责对子站进行控制和监控。
IEC101规约确保了子站和主站之间的稳定和可靠的双向通信。
在直接序列通信中,数据是通过串行通信线路传输的,通信速率通常在300至9600比特/秒之间。
直接序列通信主要适用于简单的、点对点的通信情况,通信距离较短。
在IEC 101规约中,数据的传输以信息报元单元(Information Object Unit,简称IOU)为单位。
每个IOU包含一个信息对象组(Information Object Group,简称IOG)或一个信息对象(Information Object,简称IO)。
IOG包含一个或多个信息对象,而IO是信息报文的基本单元。
IEC101规约中定义了多种命令和传输服务,用于不同的应用场景。
其中,主站可以向子站发送控制命令,如遥控命令、遥调命令等,以实现对电网设备的控制操作。
主站还可以向子站发送读命令或写命令,以读取或写入子站的参数和数据。
总之,IEC101规约是一种用于传输电能信息的通信规约,实现了电力系统中子站和主站之间的稳定和可靠的双向通信。
它是电力系统自动化监控中使用最广泛的通信规约之一,为电力系统的正常运行和管理提供了可靠的技术支持。
101规约报文解析展开全文一、101规约报文的三种格式1.单字节报文就是报文长度只有一个字节。
https:///weixin_42713608/article/details/1127 31709E5H,否定回答,主要用于终端对接收到错误报文的应答,在平衡式中,主站收到终端错误请求报文时,也可用单字节应答。
ESH,没有召唤的数据。
最后的H表示前面的值为16进制。
2.固定帧长报文作用:请求链路状态、远方链路复位、召唤一级数据、召唤二级数据。
格式:一级数据包括变位遥信,子站初始化结束报文和由读数命令所寻址的信息体的数据。
其中常见的是变位遥信。
主站读子站的某个数据(遥信、遥测、电度等)时,子站都会将该数据变为1级数据主动向主站发送。
二级数据包括变化的遥测量帧,变压器分接头变化和SOE。
3.可变帧长报文作用:全遥信、全遥测、变化遥信、变化遥测、遥控、设点、对时、总召唤、组召唤、复位进程等。
格式:链路传输规则:链路服务分为S1 、S2和S3三个级别,如下图二、控制域一个字节。
链路控制域,就是用于链路控制。
在两个传输方向上分别定义,在平衡和非平衡模式下分别定义,控制域占一个字节。
因为在我们的生产环境中,都是用的平衡模式,所以以下只说明平衡模式下控制域格式定义。
控制域占一个字节,一个字节是8bit,从低位到高位分别用D0-D7表示如下图:主站à子站:传输方向位DIR=0,表示报文是由主站向子站传输。
启动报文位PRM=1,表示主站向子站传输,子站为从动站。
帧计数位FCB,主站每向从站发送新一轮的“发送/确认”或“请求/响应”传输服务时,将FCB取反。
主站为每个从站保存一个FCB的拷贝,若超时未收到应答,则主站重发,重发报文的FCB保持不变,重发次数最多不超过3次。
若重发3次后仍未收到预期应答,则结束本轮传输服务。
复位命令的帧计数位常为0,帧计数有效位FCV=0。
帧计数有效位FCV:FCV=0,表示帧计数位FCB变化无效;FCV=1,表示帧计数位FCB变化有效。
101规约的帧格式:三种1.单个字符:E5短帧确认。
一般子站用它来上传确认链路和用户数据,如:主站请求2级数据时,子站表示无请求的数据且运行正常;在遥控、遥调选择和执行过程中让链路保持通畅,以不至于应答超时等。
2.3.可变帧长格式控制域:控制字最高位有时定义为保留位在实际应用中经常与第二位PRM(信息传递方向位)一起用于描述信息流通方向:常见的取值是01—主站下发,10或00—子站上送,很少见11。
DIR=1:表示报文是子站向主站传输。
PRM:启动报文位 =0:从动站,报文为确认报文或响应报文。
=1:启动站,报文为发送或请求报文。
FCB:帧计数位:启动站向从动站传输新一轮的发送/确认、请求/响应服务时,将前一轮FCB取相反值。
FCV:帧计数有效位:启动站向从动站传输=0:表示FCB变化无效。
=1:表示FCB变化有效。
ACD:要求访问位:主站做从动站时ACD位无实际意义,ACD=0。
子站做从动站时ACD=0:表示子站无1级用户数据;ACD=1:表示子站有1级用户数据,希望向主站传输。
DCF:数据流控制位:从动站向启动站传输=0:表示子站可以继续接收数据。
=1:表示子站数据区满,无法接收新数据主站向子站传输的功能码子站向主站传输的功能码规约流程:1请求链路状态(链路有效)->2复位远方链路(链路被复位)->3请求1级用户数据(初始化结束)->4总召唤(总召数据连续返回)->5时钟同步(时钟同步确认)->6短周期召唤2级数据(变化遥测数据)->7较长周期召唤2级数据(背景扫描数据)->8长周期分组召唤(分组数据返回)->6、7、8周而复始(其中:子站端有一级用户数据,如SOE等,主站在下一帧召唤;主站根据需要下发遥控命令,子站进行应答与执行)。
在链路未建立起来前,主站一般的做法是1、2步循环,通讯异常中断时,下发通道测试命令。
主站:10 49 01 4A 16//链路请求。
101通信规约第一部分基本定义一、适用范围1、网络拓扑结构本规约适用的网络拓扑结构为点对点、多点对点、多点共线、多点环形、多点星形等,通道可以是全双工或半双工的情况。
2、传输方式传输方式分为非平衡方式和平衡方式传输两种。
非平衡方式传输:只有主站启动各种链路传输服务,子站只有当主站请求时才传输。
这种传输方式对于所有网络结构都可适用。
但是在点对点和多点对点的网络结构中,非平衡方式传输没有充分发挥这种网络的内在潜力。
平衡方式传输:主站和子站可以同时启动链路传输服务,所以必须有一对全双工的通道。
这里规定对于点对点和多点对点的网络结构采用平衡方式传输,对于多点共线、多点环形和多点星形的网络结构采用非平衡方式传输。
二、帧格式本规约采用的帧格式为FT1.2异步式字节传输帧格式1、FT1.2可变帧长帧格式其具体格式如下传输规定:(1)线路空闲状态为1(2)每个字符有1位启动位(0),8位数据位,1位偶校验位,1位停止位(1)(3)每个字符间无需线路空闲间隔。
(4)两帧之间的线路空闲间隔最少为33位(5)帧长度L包括控制域、地址域、用户数据的字节总数,L最大为250(6)帧校验和为控制域、地址域、用户数据中所有字节的算术和(不考虑溢出)(7)接收校验●由串行接口芯片检查每个字符的启动位、停止位、偶校验位●校验两个启动字符应一致、两个L值应一致,接收字符数L+6、帧校验和、结束字符无差错则数据有效。
●在校验中,若检出一个差错,则舍弃此帧数据。
2、FT1.2固定帧长帧格式具体格式如下:传输规定:(1)线路空闲状态为1(2)每个字符有1位启动位(0),8位数据位,1位偶校验位,1位停止位(1)(3)每个字符间无需线路空闲间隔。
(4)两帧之间的线路空闲间隔最少为33位(5)无帧长度L(6)帧校验和为控制域、地址域中所有字节的算术和(不考虑溢出)(7)接收校验●由串行接口芯片检查每个字符的启动位、停止位、偶校验位●检查启动字符、结束字符以确定此帧长度是否正确●检查校验和●在校验中,若检出一个差错,则舍弃此帧数据。
java 101规约解析Java 101规约解析Java是一种广泛使用的计算机编程语言,它具有简单、面向对象、跨平台等特点,成为了软件开发领域中的热门选择。
为了保证代码的可读性和可维护性,Java社区制定了一系列规约标准,其中最为著名的就是Java 101规约。
本文将对Java 101规约进行解析,帮助读者更好地理解和应用这些规约。
一、命名规约1. 包名应使用小写字母,多个单词之间使用"."分隔。
避免使用拼音或缩写。
2. 类名、接口名、方法名应使用驼峰命名法,即每个单词的首字母大写,其余字母小写。
同时,应遵循命名规范,准确描述所代表的实体。
3. 常量名应全部大写,多个单词之间使用"_"分隔。
二、代码风格1. 使用4个空格作为缩进。
2. 行长度不超过80个字符,超过时应换行。
3. 方法体、循环、条件语句等应使用大括号括起来,即使只有一行代码。
4. 在使用运算符时,应在其前后添加空格,增加代码的可读性。
三、注释规约1. 对于复杂的业务逻辑或关键代码,应添加详细的注释,解释其作用和实现方式。
2. 注释应使用中文,避免使用拼音或其他外文字符。
3. 对于修改或优化的代码,应及时更新注释,保持注释与代码的一致性。
四、异常处理1. 不要捕获异常后不处理,应根据具体情况进行处理或抛出。
2. 在捕获异常时,应尽量明确指定捕获的异常类型,避免捕获过于宽泛的异常。
3. 在使用try-catch语句时,应将可能产生异常的代码放在try块中,将处理异常的代码放在catch块中,保持代码的逻辑清晰。
五、并发处理1. 在使用多线程时,应使用线程池管理线程,避免频繁创建和销毁线程。
2. 在共享变量的读写操作时,应使用同步控制机制,保证数据的一致性和线程的安全性。
3. 在使用锁时,应遵循先获取锁再操作的原则,避免死锁的发生。
六、其他规约1. 避免使用魔法数值,应使用常量代替。
2. 在使用集合类时,应明确指定容量大小,避免频繁扩容。
101规约解读一、101帧格式1例:10 49 01 4a 16(请求远方链路)2例:68 09 09 68 73 01 64 01 06 01 00 00 14 f4 16 (总召唤)3. 单字节(E5H )无数据应答4. 控制域主站-> 分站分站-> 主站 FCB :主站命令计数位,每次翻转。
正常流程 FCB 位每次翻转,如果主站未收到子站的正确应答,则 FCB 位不翻转,如连续多次(三次以上)未收到,则初始化链路。
子 站判断FCB 位,如果发现未变化,则重发上次的原码。
FCV :主站命令有效位 ACD :子站命令,ACD=1表示有一级数据,要求主站召唤 DFC :子站命令,DFC=1表示数据流满,要求暂停召唤 5.功能码表 主站命令保留 PRM方向子站命令二、101原码分析1.请求远方链路手发报文:10 49 01 4A 16(1)控制域=49, ( 2)链路地址=01H RTU 响应:10 0B 01 8C 16(10 AB 01 AC 16 )结果:响应正确说明:这是规约中的第一步,请求远方链路。
若 RTU 响应后一种报文,表示RTU 有1级数据,那主站在复位远方链路之后立刻召唤1级数据。
2.复位远方链路手发报文:10 40 01 41 16RTU 响应:10 00 01 81 16结果:响应正确说 明:这是规约中的第二步, 数据,那主站在本帧之后立刻召唤3.询问1级用户数据手发报文:10 7A 01 7B 16(1)控制域=40 , (2)链路地址=01HRTU 响应: 68 1B 1B 68 88 01 01 07 05 01 02 00 00 03 00 00 04 00 00 05 00 01 06 00 01 07 00 01 08 00 01 BE 16 10 8F 01 90 16结果:正确(1)控制域=40 , (2 )链路地址=01H(10 A0 01 A1 16 )复位远方链路。
101规约解读一、101帧格式1例:10 49 01 4a 16(请求远方链路)2例:68 09 09 68 73 01 64 01 06 01 00 00 14 f4 16 (总召唤)3. 单字节(E5H )无数据应答4. 控制域主站-> 分站分站-> 主站 FCB :主站命令计数位,每次翻转。
正常流程 FCB 位每次翻转,如果主站未收到子站的正确应答,则 FCB 位不翻转,如连续多次(三次以上)未收到,则初始化链路。
子 站判断FCB 位,如果发现未变化,则重发上次的原码。
FCV :主站命令有效位 ACD :子站命令,ACD=1表示有一级数据,要求主站召唤 DFC :子站命令,DFC=1表示数据流满,要求暂停召唤 5.功能码表 主站命令保留 PRM方向子站命令二、101原码分析1.请求远方链路手发报文:10 49 01 4A 16(1)控制域=49, ( 2)链路地址=01H RTU 响应:10 0B 01 8C 16(10 AB 01 AC 16 )结果:响应正确说明:这是规约中的第一步,请求远方链路。
若 RTU 响应后一种报文,表示RTU 有1级数据,那主站在复位远方链路之后立刻召唤1级数据。
2.复位远方链路手发报文:10 40 01 41 16RTU 响应:10 00 01 81 16结果:响应正确说 明:这是规约中的第二步, 数据,那主站在本帧之后立刻召唤3.询问1级用户数据手发报文:10 7A 01 7B 16(1)控制域=40 , (2)链路地址=01HRTU 响应: 68 1B 1B 68 88 01 01 07 05 01 02 00 00 03 00 00 04 00 00 05 00 01 06 00 01 07 00 01 08 00 01 BE 16 10 8F 01 90 16结果:正确(1)控制域=40 , (2 )链路地址=01H(10 A0 01 A1 16 )复位远方链路。
若 RTU 响应后一种报文,表示 RTU 有1级1级数据。
然后才总召唤。
说明:1级用户数据包括变位遥信,子站初始化结束报文和由读命令所寻址的信息体的数据。
其中常用的就是变位遥信。
主站请求链路状态xxxx :4.召唤2级数据 手发报文:10 7B 01 7C 16RTU 响应:68 30 30 68 88 01 02 07 05 01 02 00 00 AE 92 1A 04 00 00 B3 92 1A 03 00 00 BD 92 1A 06 00 01 13 97 1A 05 00 01 2C 97 1A 07 00 01 B8 97 1A 08 00 01 3A 98 1A D7 16 10 89 01 8A 16 结果:响应正确 说明:2级数据包括变化的遥测量帧, 10 89 01 8A 16(此帧表示无响应数据 SOE 。
如果RTU 无2级数据,则返回 5、对时命令 (1)68 0F 0F 68 53(2) (3) 40 67 01 ==对时命令 (6) ( 7) ( 8) 40 00 00 00 36 0D 10 2E 01 08 CB 16 (1)控制域=53H ,( 2 )链路地址=40H , 送原因=6,( 6)公共地址,(7)信息体地址, 对时确认 (3 )类型标识=67H ,( 4)限定词=1,( 5) (8)信息体内容 =08-1-14 16:13:13.824 (5) (1) ( 2) (3) (4) 68 0F 0F 68 00 40 67 01 0716 (1)控制域ACD=0 , (2 )链路地址=40H , (7)信息体地址,(6) (7 ) (8)40 00 00 00 36 0D 10 2E 01 08 79 传送原因=7, (6)公共地址, (3 )类型标识=67H , ( 4)限定词=1, ( 5) (8)信息体内容 =08-1-14 16:13:13.824 6、总召命令 (1) (2) 68 09 09 68 53 40(1)控制域=53H , (2) 送原因=6, (6)公共地址,总召确认(6) ( 7) 40 00 00 (8)14 52 16 (3) (4) (5) 64 01 06 链路地址=40H , ( 3)类型标识=64H , (4)限定词=1, ( 5 )传 (7 )信息体地址=0, (8)信息体内容 =14H (8)14 20 16(6) (7) 40 0000 (3)类型标识=64H , (4)限定词=1 , (5 ) (1)(2) (3) (4) (5) 68 09 09 68 2040 64 01 07 (1)控制域 ACD=1 , (2 )链路地址=40H ,(7)信息体地址=0, ( 8)信息体内容=14H 传送原因=7, (6 )公共地址,总召YX 上送 (1) (2) 68 24 24 68 28 40 (3)(4 )(5 )01 9C 14 (6)(7)40 E5 00 00 01 00 01 00 01 00 01 00 (8)00 01 4C 16 (3)类型标识=01, (4)限定词=9C , ( 5 ) 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 (1)控制域 ACD=1 , (2 )链路地址=40H ,传送原因=14, (6)公共地址=40H , ( 7)起始信息体地址=00E5H , (8)信息体内容 单点遥信,连续信息体地址,个数 =28 总召YC 上送 68 17 17 68 28 40 0B 85 14( 40 ( " 81 40( " 05 00 00 12 00 00 22 00 00 2B (8 )00 00 2E 00 00 5B 16(1)控制域 ACD=1 , (2 )链路地址=40H , ( 3)类型标识=0B , (4) 限定词=85, ( 5) =4081H , (8)信息体内容=45 传送原因=14, (6)公共地址 总召结束 7、变化YC 上送 68 24 24 68 08 (b 40 (2=40H , (7 )起始信息体地址 (7)01 40 12 00 00 02 40 19 00 00 0340 28 00 00 04 40 30 00 00 05 40 3A 00 00 06 40 41 00 00 2F 16(1)控制域ACD=0 , (2 )链路地址=40H , ( 3)类型标识=0B , (4) 限定词=6, ( 5 ) 传送原因=3, (6 )公共地址=40H , (7)起始信息体地址=4001H , ( 8)信息体内容=18 遥测数据,独立信息体地址,个数=6第1点YC值=188、变化YX上送“ “(1) (2) — (3) — (4) (5) (6 ) “ (7) —(8) 丄八68 09 09 68 08 40 01 01 03 40 08 00 01 FF 16(1)控制域ACD=0 , (2)链路地址=40H , ( 3 )类型标识=1 , (4 )限定词=1 , ( 5)传送原因=3, (6)公共地址=40H , ( 7)起始信息体地址=0008H , ( 8)信息体内容=1SOE上送(1) (2) (3) (4) (5) (6)(7 ) (8 ) 68 0E 0E 68 00 40 02 01 03 40 08 00 0100 36 0D 10 2E FF 16(1)控制域ACD=0 , (2)链路地址=40H , ( 3)类型标识=2, (4)限定词=1 , ( 5)传送原因=3, (6)公共地址=40H , ( 7)起始信息体地址=0008H , ( 8)信息体内容=1 , 14 日16:13:13.8249、YK选择(1) (2)68 09 09 68 53 40(1)控制域=53H , (2 )=1, (5) 传送原因=6, (6 ) 容=80H,选择分YK执行68 09 09 68 73 ⑴ 40 ⑵(1)控制域=73H , (2 )=1, (5) 传送原因=6, (6 ) 容=00H,执行分10、.冻结和召唤电度量手发报文:68 09 09 68 73 01 65 01 06 01 00 00 41 21 16RTU 响应:68 09 09 68 80 01 65 01 07 01 00 00 41 30 16 (确认帧)68 14 14 68 88 01 0F 02 03 01 01 0C 30 00 00 00 0002 0C 54 00 00 00 01 3E 16 (响应帧)68 09 09 68 80 01 65 01 0A 01 00 00 41 33 16 (结束帧)结果:响应正确说明:先冻结再召唤。
电度量上送。
三、报文详细分析对照表状态(7) (8)08 00 01 00 36 0D 10 2E2D(3)01「06 链路地址=40H , 公共地址=40H,(4)(5)(6)(7)(8)一40 02 60 80 E9 16(3)类型标识=2DH单点YK,(4)限定词(7)起始信息体地址=6002H,(8)信息体内(3)(4)(5)(6)(7)(8)2D 01 06 40 02 60 00 89 16链路地址=40H,(3)类型标识=2DH单点YK,(4)限定词公共地址=40H,(7)起始信息体地址=6002H,(8)信息体内主站请求链路状态xxxx :0001链路忙1110链路服务未工作1011链路完好1111链路服务未完成T:10 49226B16R:10 0B222D16 ==复位链路(1)(2)10 40 40 80 16(1)控制域=40,( 2)链路地址=40H==复位链路确认 10 00( 1)40(2)40 16(1)控制域=00,( 2)链路地址=40H4、询问1级数据当子站上次返回的报文中 ACD 位为2、复位远方链路子站收到此报文后,将保存主站的C RL NA 1 SENDFCB 位清零。
子站应答报文M RL NA 1 CON1时。
C P1 NA 1NA 1105A02005C16 5、单点遥信变化帧M SPRTU站号信息体地址(2-3字节,低位在前)(00H 开)/ (01H 合)信息体地址(2-3字节,低位在前)(00H 开)/ (01H 合)帧校验和(CS)16H===变化YX上送(1)(2)(3)(4)(5)(6)(7)(8)68 09 09 68 08 40 01 01 03 40 08 00 01 FF 16(1)控制域ACD=0,(2)链路地址=40H,(3)类型标识=1,(4)限定词=1,(5)传送原因=3,(6)公共地址=40H,(7)起始信息体地址=0008H,(8)信息体内容=18、如果子站有SOE,则回送单点信息的事件顺序记录M SP TA 1**此处如果类型表示改为14H,则时间标识为7位。