远动规约104
104协议介绍

IEC60870标准的进展(继续)
(远动设备和系统)
60870-6 与ISO和ITU-T建议兼容的远动标准 -6-1 1995年 标准应用范围和结构 2003年 -6-2 1995年 基本标准的应用 2003年 -6-503 1997年 TASE.2服务与协议书 GB/T18700.1-2002 -6-505 2000年 TASE.2用户指南 2003年 -6-601 1994年 与分组交换网连接的端系统 2003年 其提供定向传输服务的功能 性协议子集 -6-602 2001年 TASE传输协议子集 GB/T18700.3-2002 -6-702 1998年 在端系统中提供TASE.2应用 2002年 服务的功能性协议子集 GB/T -6-802 1997年 TASE.2目标模型 GB/T18700.2-2002 -6-501,-5-502,-6-504,-6-701为TASE.1的相关标准。
104规约介绍-1: 国际和国内标准
标准和体系 IEC TC57 POWER SYSTEM CONTROL AND ASSOSIATION COMMUNICATION ISO ITU-T
全国电力系统控制及通信标准技术委员会
1标准 世界主要趋势,各个国家共同参予制定、采用IEC标准. 2国家标淮
104规约介绍-1: 国际和国内标准
•接收端最迟在接收了8次I格式应用规约数据单元以后发出认 可
104规约介绍-2:报文结构-报文体 数 据 单 元 标 识
类型标识
可变结构限定词 传送原因 公共地址 信息体地址 信息体元素 信息体时标
一个字节
一个字节 两个字节 两个字节 三个字节 元素定义 3个或7个字节 ….
TESTFR STOPDT STARTDT CON ACT CON ACT CON ACT 0 0 0
利用IEC104远动规约解决实际问题

Data Base Technique •数据库技术Electronic Technology & Software Engineering 电子技术与软件工程• 159【关键词】104规约 通道 调试 分析随着变电站综合自动化系统的广泛应用,众多变电站已实现无人值班,这对主站端调控自动化系统、厂站端自动化系统的数据通信和数据交互提出了更高的要求,相比于传统串口通讯的CDT 规约,网口通讯的104规约具有可靠性高、传输速度快、传输信息容量大等更明显的优势。
截止2017年年底,陕西渭南地方电网的所有变电站已全部改为104规约。
但由于规约的自由度比较高,各个厂家使用的104规约也不全是标准的104规约,给日常的通道调试、运行工作带来了不少困难。
本文针对渭南地方电网在近几年的远动通道调试工作中遇到的影响设备正常运行的问题,着重以分析104报文为手段,结合渭南地方电网iES600Pro 电网调度自动化系统中104远动通讯异常的实际案例,深入剖析其内在原因,提出相应的解决对策,希望可以为电网的稳定运行提供一些参考。
1 104规约介绍IEC60870-5-104通讯规约,简称为IEC104规约,它是IEC 60870-5-101的网络访问,将IEC101规约应用服务数据单元通过以太网TCP/IP 链路传输,实现与调度主站的通信。
与其他通信协议一样,IEC104规约也有其对应的报文格式,如图1所示。
由图1可以看出,IEC104规约的报文由应用规约数据单元(APDU )构成,包含应用规约控制信息(APCI )和应用服务数据单元利用IEC104远动规约解决实际问题文/张望妮1 牛瑞2(ASDU )两部分。
2 参数设置不当造成的故障2.1 RTU地址设置不正确在ASDU 中,数据单元标识的第四个、第五个字节定义为应用服务数据单元ASDU 公共地址,也就是所谓的RTU 站址。
公共地址的位组数目由系统参数(网络—特定)所决定,每一个RTU 终端对应唯一的一个值,它可以寻址整个站或者站的特定部分。
104规约调试

1、经过路由器的104规约调试1)远动机需要修改的地方:A、sysinit.1/usr/ucb/ifconfig en3 node3 netmask 255.255.255.240;掩码/usr/ucb/route add 10.21.170.110.21.178.46;主站IP及网关B、hosts配置相应的网卡的IP地址,按照主站要求设置C、ser.cfg修改: 4 TCP SERVER 964 10.21.170.1 ;IP address of remote server主站(注意,切记;前的空格少不得)D、先察看程序上送遥测帧是上送的带时标的(15)还是不带时标的(09),看调度需要那个类型。
不然改动src/rtu/104/q104.c1239 RTU_AI_CHG_104(1)1575 UCT=1修改后编译2、不需要经过路由器的104规约调试只需要修改ser.cfg和hosts里面的内容,sysinit.1里面内容不需要修改3、104规约报文解析1)常用类型标识:遥测:0x09―――带品质描述的测量值,每个遥测值占3个字节0x0a―――带3个字节时标的且具有品质描述的测量值,每个遥测值占6个字节0x0b―――不带时标的标度化值,每个遥测值占3个字节(目前仅df8900支持)0x0c―――带3个字节时标的不带时标的标度化值,每个遥测值占6个字节0x0d―――带品质描述的浮点值,每个遥测值占5个字节0x0e―――带3个字节时标的且具有品质描述的浮点值,每个遥测值占8个字节0x15―――不带品质描述的测量值,每个遥测值占2个字节遥信:0x01―――不带时标的单点遥信,每个遥信占1个字节0x03―――不带时标的双点遥信,每个遥信占1个字节0x14―――具有状态变位检出的成组单点遥信,每个字节8个遥信SOE: 0x02―――带3个字节短时标的单点信息0x04―――带3个字节短时标的双点点信息0x1e―――带CP56Time2a(7个字节)时标的单点信息0x1f―――带CP56Time2a(7个字节)时标的双点信息KWH:0x0f―――不带时标的电能脉冲计数,每个值占5个字节0x10―――带3个字节短时标的电能脉冲计数,每个值占8个字节0x25―――带7个字节时标的电能脉冲计数,每个值占12个字节其他:0x2d―――单点遥控0x2e―――双点遥控0x2f―――双点遥调0x64―――召唤全数据0x65―――召唤全电度0x67―――时钟同步2)常用传送原因列表:1 ---周期、循环2 ---背景扫描3 ---突发4 ---初始化5 ---请求或被请求6 ---激活7 ---激活确认8 ---停止激活9 ---停止激活确认0x0a ---激活结束0x14 ---响应总召唤3)流程下面以公共地址字节=2/传送原因字节=2/信息体地址字节=3,97版基地址为例.报文中字符均为16进制表示, 报文中长度指除启动符与长度字节外的所有字节.注意长帧报文中的”发送序号”与”接收序号”具有抗报文丢失功能.第一步:首次握手(U帧)发送―>激活传输启动:68(启动符)04(长度)07(控制域)00 00 00 接收―>确认激活传输启动:68(启动符)04(长度)0B(控制域)00 00 00第二步:总召唤,召唤YC,YX(可变长I帧)初始化后定时发送总召唤( DF8900系统通过设置RTU参数表中的”全数据扫描间隔”单位是分钟.DF1800/DF8002系统在程序中写定,一般15分钟召唤一次)发送―>总召唤:68(启动符)0E (长度)00 00(发送序号,2个字节)00 00(接收序号,2个字节)64(类型标识)01(可变结构限定词)06 00(传送原因,2个字节)01 00(公共地址,即RTU站址,2个字节)00 00 00(信息体地址,3个字节)14(QOI,区分是总召唤还是分组召唤,如果是2002版基地址的没有分组召唤)接收―>S帧: (记录接收到的长帧,双方都可以按频率发送,文本规定最多接收8帧I 帧回答一S帧,但我们要求接收一帧I帧就应答一S帧)68 04 01 00 02 00:接收―>总召唤确认(发送帧的镜像,除传送原因不同):68(启动符)0E(长度)00 00(发送序号,2个字节)00 00(接收序号,2个字节)64 (类型标识)01(可变结构限定词)07 00(传送原因,2个字节)01 00(公共地址,即RTU站址,2个字节)00 00 00(信息体地址,3个字节)14 (QOI)发送―>S帧:(记录接收到的长帧,双方都可以按频率发送,文本规定最多接收8帧I 帧回答一S帧,但我们要求接收一帧I帧就应答一S帧)68 04 01 00 02 00接收―>YX帧:(以类型标识1为例)68(启动符)1A(长度)02 00 (发送序号,2个字节)02 00(接收序号,2个字节)01(类型标识,单点遥信)04(可变结构限定词,有4个遥信上送)14 00 (传送原因,2个字节,响应总召唤)01 00 (公共地址,即RTU站址,2个字节)03 00 00(信息体地址,3个字节,第3号遥信)00(遥信分)05 00 00 (信息体地址,3个字节,第5号遥信)00(遥信分)08 00 00 (信息体地址,3个字节,第8号遥信)01 (遥信合)09 00 00 (信息体地址,3个字节,9号遥信)00(遥信分)发送―>S帧:68 04 01 00 04 00接收―>YX帧:(以类型标识3为例)68(启动符)1E(长度)04 00(发送序号,2个字节)02 00(接收序号,2个字节)03(类型标识,双点遥信)05 (可变结构限定词,有5个遥信上送)14 00(传送原因,2个字节,响应总召唤)01 00 (公共地址,即RTU站址,2个字节)01 00 00 (信息体地址,3个字节,第1号遥信)02(遥信合)06 00 00 (信息体地址,3个字节,第6号遥信)02(遥信合)0A 00 00 (信息体地址,3个字节,第10号遥信)01(遥信分)0B 00 00(信息体地址,3个字节,第11号遥信)02 (遥信合)0C 00 00 (信息体地址,3个字节,第12号遥信)01 (遥信分)发送―>S帧:68 04 01 00 06 00接收―>YC帧:(以类型标识9为例)68 (启动符)13(长度)06 00 (发送序号,2个字节)02 00 (接收序号,2个字节)09 (类型标识,带品质描述的遥测)82(可变结构限定词,有2个连续的遥测)14 00 (传送原因,2个字节,响应总召唤)01 00(公共地址,即RTU站址,2个字节)01 07 00 (信息体地址,3个字节,从第0x701即0号遥测开始)A1 10(遥测值0x10A1)00(品质描述)89 15(遥测值0x1589)00(品质描述)发送―>S帧:68 04 01 00 08 00接收―>结束总召唤帧:68 (启动符)0E(长度)08 00 (发送序号,2个字节)02 00(接收序号,2个字节)64 (类型标识)01 (可变结构限定词)0A 00 (传送原因,2个字节)01 00 (公共地址,即RTU站址,2个字节)00 00 00(信息体地址,3个字节)14(QOI)发送―>S帧:68 04 01 00 0A 00第二步:发送对时报文(通过设置RTU参数表中的”对时间隔”单位是分钟,默认是20分钟左右.)发送―>对时命令:68(启动符)14 (长度)02 00(发送序号,2个字节)0A 00(接收序号,2个字节)67(类型标识)01(可变结构限定词)06 00(传送原因,2个字节)01 00(公共地址,即RTU站址,2个字节)00 00 00(信息体地址,3个字节)01 (毫秒低位)02(毫秒高位) 03(分钟)04(时)81 (日与星期) 09(月)05(年)接收―>对时确认:68(启动符)14 (长度)0C 00(发送序号,2个字节)04 00(接收序号,2个字节)67(类型标识)01(可变结构限定词)07 00(传送原因,2个字节)01 00(公共地址,即RTU站址,2个字节)00 00 00(信息体地址,3个字节)** (毫秒低位)**(毫秒高位)**(分钟)04(时) 81 (日与星期) 09(月) 05(年)发送―>S帧:68 04 01 00 0E 00第三步:电度总召唤(如果没有电度此步骤可以省略且该步骤可以在对时之前发送, DF8900系统通过设置RTU参数表中的”全数据扫描间隔”单位是分钟.DF1800/DF8002系统在程序中写定,一般15分钟召唤一次,如果不需要召唤电度一定在RTU参数表中电度个数设置为0)发送―>召唤电度:68(启动符)0E (长度)04 00(发送序号,2个字节)0E 00(接收序号,2个字节)65(类型标识)01(可变结构限定词)06 00(传送原因,2个字节)01 00(公共地址,2个字节)00 00 00(信息体地址,3个字节)45(QCC)接收―>召唤确认(发送帧的镜像,除传送原因不同):68(启动符)0E(长度)10 00(发送序号,2个字节)06 00(接收序号,2个字节)65 (类型标识)01(可变结构限定词)07 00(传送原因,2个字节)01 00(公共地址,2个字节)00 00 00(信息体地址,3个字节)45 (QCC)发送―>S帧:68 04 01 00 12 00接收―>电度数据:68 (启动符)1A(长度)12 00(发送序号,2个字节)06 00(接收序号,2个字节)0F (类型标识)02(可变结构限定词,2个电度值)05 00 (传送原因,2个字节)01 00(公共地址,2个字节)01 0C 00 (信息体地址,3个字节,0xc01,0号电度)00 00 00 00(电度值)00(描述信息)02 0C 00(信息体地址,3个字节,0xc01,1号电度)00 00 00 00 (电度值)01(描述信息)发送―>S帧:68 04 01 00 14 00接收―>结束总召唤帧:68 (启动符)0E(长度)14 00 (发送序号,2个字节)06 00(接收序号,2个字节)65 (类型标识)01 (可变结构限定词)0A 00 (传送原因,2个字节)01 00 (公共地址,2个字节)00 00 00(信息体地址,3个字节)45(QCC)发送―>S帧:6804 01 00 16 00第四步:如果RTU有变化数据主动上送主动上送变位遥信,类型标识为1或3接收―>变位遥信:68 (启动符)0E(长度)16 00 (发送序号,2个字节)06 00 (接收序号,2个字节)01(类型标识,单点遥信)01(可变结构限定词,1个变位发生)03 00 (传送原因,2个字节,表突发事件)01 00(公共地址,2个字节)03 00 00(信息体地址,3个字节,3号遥信)00(分)发送―>S帧:04 01 00 18 00接收―>变位遥信:68(启动符)0E(长度)18 00 (发送序号,2个字节)06 00(接收序号,2个字节)03(类型标识,双点遥信)01(可变结构限定词,1个变位发生)03 00(传送原因,2个字节,表突发事件)01 00 (公共地址,2个字节)06 00 00(信息体地址,3个字节,6号遥信)01(分)发送―>S帧:04 01 00 1a 00SOE主动上送,类型标识为0x1e或0x1f接收―>SOE:68(启动符)15(长度)1a 00(发送序号,2个字节)06 00(接收序号,2个字节)1E(类型标识,单点)01(可变结构限定词,1个SOE)03 00 (传送原因,2个字节,表突发事件)01 00 (公共地址,2个字节)08 00 00(信息体地址,3个字节,8号遥信)00(分)AD 39 (毫秒,2个字节)1C (分)10(时)7A(日与星期)0B(月)05(年)发送―>S帧:04 01 00 1c 00接收―>SOE:68(启动符)15(长度)1c 00(发送序号,2个字节)06 00(接收序号,2个字节)1F(类型标识,双点)01(可变结构限定词,1个SOE)03 00(传送原因,2个字节,表突发事件)01 00 (公共地址,即RTU站址,2个字节)0A 00 00 (信息体地址,3个字节,10号遥信)01(分)2F 40 (毫秒,2个字节)1C(分)10 (时)7A(日与星期)0B(月)05(年)第五步:如果主站超过一定时间没有下发报文或RTU也没有上送任何报文则双方都可以按频率发送U帧,测试帧发送―>U帧: 68 04 43 00 00 00接收―>应答: 68 04 83 00 00 00第六步:遥控发送―>遥控预置:68(启动符)0E(长度)** **(发送序号,2个字节)** **(接收序号,2个字节)2E (类型标识)01(可变结构限定词)06 00(传送原因,2个字节)01 00(公共地址,2个字节)05 0B 00 (信息体地址,3个字节,遥控号=0xb05- 0xb01= 4)82(控合)接收―>遥控反校:68(启动符)0E(长度)0E 00(发送序号,2个字节)06 00(接收序号,2个字节)2E(类型标识)01(可变结构限定词)07 00 (传送原因,2个字节)01 00(公共地址,2个字节)05 0B 00(信息体地址,3个字节,遥控号=0xb05- 0xb01= 4)82(控合)发送―>遥控执行:68(启动符)0E(长度)04 00(发送序号,2个字节)18 00(接收序号,2个字节)2E(类型标识)01(可变结构限定词)06(传送原因,2个字节)01 00(公共地址,即RTU站址,2个字节)05 0B 00(信息体地址,3个字节,遥控号=0xb05- 0xb01= 4)02(控合)接收―>执行确认:68(启动符)0E(长度)12 00(发送序号,2个字节)08 00(接收序号,2个字节)2E(类型标识)01(可变结构限定词)07 00(传送原因,2个字节)01 00(公共地址,即RTU站址,2个字节)05 0B00(信息体地址,3个字节,遥控号=0xb05- 0xb01= 4)02(控合)发送―>遥控撤销:68(启动符)0E(长度)04 00(发送序号,2个字节)18 00(接收序号,2个字节)2E(类型标识)01(可变结构限定词)08(传送原因,2个字节)01 00(公共地址,即RTU站址,2个字节)05 0B 00(信息体地址,3个字节,遥控号=0xb05- 0xb01= 4)02(控合)接收―>撤销确认:68(启动符)0E(长度)12 00 (发送序号,2个字节)08 00(接收序号,2个字节)2E(类型标识)01(可变结构限定词)09 00(传送原因,2个字节,,停止激活确认)01 00(公共地址,即RTU站址,2个字节)05 0B 00(信息体地址,3个字节,遥控号=0xb05- 0xb01= 4)02(控合)例子:遥测实体报文解析68 起始符15 报文长度,后面报文总数为21帧00 00 00 001E不带品质描述的测量值,每个遥测值占2个字节01 遥测个数03 00 传送原因,主动上送01 00 主站地址63 00 00 遥测地址00 1D 遥测数据6D 05 11 15 08 07 时间遥信实体报文解析680E00 00 00 0001 单点遥信01 个数03 0001 00AA 04 00 地址119400信号复归附:一段遥测遥控遥信报文<<=68 04 01 00 02 00=>>68 14 00 00 00 00 15 02 03 00 01 00 0F 40 00 94 52 10 40 00 CB 55<<=68 0E 24 00 02 00 2E 01 06 00 01 00 77 60 00 82YKSEL-RTU: 33CTRL04D2D1 CHNo=4 bON=1Get MSG_LON_CTRL_SEL_OK=>>68 0E 00 00 00 00 2E 01 07 00 01 00 77 60 00 82<<=68 04 01 00 02 00<<=68 0E 26 00 02 00 2E 01 06 00 01 00 77 60 00 02YKRUN-RTU: 33CTRL04D2D1 CHNo=4 bON=1=>>68 0E 00 00 00 00 2E 01 07 00 01 00 77 60 00 02Get MSG_LON_27/28(or 37/38)Get MSG_LON_27/28(or 37/38)Get MSG_LON_YX_CHANGE Index:450 Val:1=>>68 0E 00 00 00 00 01 01 03 00 01 00 C3 01 00 01=>>68 15 00 00 00 00 1E 01 03 00 01 00 C3 01 00 01 B3 BA 21 09 18 08 07 Get MSG_LON_YX_CHANGE Index:3053 Val:0=>>68 0E 00 00 00 00 01 01 03 00 01 00 EE 0B 00 00=>>68 15 00 00 00 00 1E 01 03 00 01 00 EE 0B 00 00 D1 BA 21 09 18 08 07 Get MSG_LON_YX_CHANGE Index:444 Val:1=>>68 0E 00 00 00 00 01 01 03 00 01 00 BD 01 00 01=>>68 15 00 00 00 00 1E 01 03 00 01 00 BD 01 00 01 EF BA 21 09 18 08 07 <<=68 04 01 00 02 00。
101及104规约报文解析方法

101、104规约报文解析方法一、电力系统数据通信协议体系IEC60870-5系列:远动通信协议体系IEC60870-6系列:计算机数据通信协议体系IEC61850-7系列:变电站数据通信协议体系IEC60870-5系列;IEC TC57 WG03(远动规约)配套标准IEC60870-5-101:基本远动任务IEC60870-5-102:电能累计量IEC60870-5-103:继电保护IEC60870-5-104: IEC60870-5-101的网络访问其他规约类型;CDT、DNP3.0、MODBUS等。
二、远动传输规约IEC60870-5-104的解析方法1)程序启动后,首先发送链路连接请求帧,68 04 07 00 00 00起始字符:68H应用规约数据单元长度(APDU):04H(4个字节,即07 00 00 00)控制域第一个八位组:07H --> 0000 0111由前两位11可知是U格式帧;由第三四位01可知是链路连接请求帧2)随后,接到模拟从站发送来的连接请求确认帧,68 04 0B 00 00 00起始字符:68H应用规约数据单元长度(APDU):04H(4个字节,即0B 00 00 00)控制域第一个八位组:0BH --> 0000 1011由前两位11可知是U格式帧;由第三四位10可知是链路连接确认帧3)主站发送测试链路询问帧,68 04 43 00 00 00控制域第一个八位组:43H --> 0100 0011由前两位11可知是U格式帧;由第七八位01可知是链路测试请求帧4)从站发送链路测试确认帧;68 04 83 00 00 00控制域第一个八位组:43H --> 0100 0011由前两位11可知是U格式帧;由第七八位11可知是链路测试确认帧5)主站发送总召唤激活请求命令;召唤全数据格式启动68字节数OE发序列发序列收序列收序列类型标识64信息数01原因06原因00公共地址11公共地址00信息地址00信息地址00信息地址00召唤限定词14例如;68 0E 00 00 00 00 64 01 06 00 01 00 00 00 00 14起始字符:68H应用规约数据单元长度(APDU):0EH(14个字节,即00 00 00 00 64 01 06 00 01 00 00 00 00 14)控制域第一个八位组:00H --> 0000 0000由第一位0可知是I格式帧;控制域第二个八位组:00H --> 与第一个八位组的第2-8位组成0000 0000(高位) 0000 000(低位)所以,发送序号N(S)=0(注:I格式帧计数)控制域第三四八位组:00H 00H --> 0000 0000(第四个八位组,高位) 0000 000(第三个八位组的第2-8位,低位)类型标识:64H(CON<100>:=总召唤命令)可变结构限定词:01H(SQ=0,number=1)传送原因:06H 00H(Cause=6,激活)APDU地址:01H 00H(ADDR=1,即0001H,低位在前,高位在后)信息体地址:00H 00H 00H(低位在前,高位在后)信息体元素:14H(召唤限定词QOI=20,站召唤全局)7)从站站发送总召唤激活结束命令,68 0E 06 00 02 00 64 01 0A 00 01 00 00 00 00 14传送原因;0A(结束字符)遥信报文;6)从站发送单点遥信数据帧;68 1E 02 00 02 00 01 05 14 00 01 00 0A 00 00 00 0C 00 00 00 0E 00 00 00 10 00 00 00 64 00 00 01控制域;02 00 02 00类型标识:01H(CON<1>:=单点信息)可变结构限定词:05H(SQ=0,number=5,由此可知有5个不连续的单点信息)传送原因:14H 00H(Cause=20,响应站召唤)终端地址:01H 00H第一个信息体地址:0AH 00H 00H(点号:10)第一个信息体数据:00H(遥信状态;分)第二个信息体地址:0CH 00H 00H(点号;12)第二个信息体数据:00H(遥信状态;分)。
104规约简介

104规约简介104 规约简介⼀ . 概述:101、104规约属于问答式异步通信⽅式。
104必须与101规约同时配套使⽤。
2002年国家经贸委正式发布,104规约的核⼼部分ASDU应⽤服务数据单元是101规约的定义,结合超⾼压公司的使⽤范围,对104规约的报⽂格式做⼀说明以便⼤家理解。
更详细的请看104和101的2002年正式版本。
104应⽤在tcp/lp 的1、2、3、4、7、层。
⼆ . 104报⽂格式1.APCI应⽤规约控制信息:它是所有发送/接收的报⽂头并可以单独发送。
APDU长度最⼤253,要除去启动符68H和其本⾝APDU是全报⽂ASDU:应⽤服务数据单元2.控制域分类:控制域⼋位位组分为3种格式,每种格式的定义内容不⼀样。
a. I格式:信息传输格式b.U格式:未编号的控制功能类型格式TEST.SPOPDT STARTDT 确认/⽣效只有⼀个是“1”之可能出03/13/23/43/83/07/0B 不可能出现其他码c. S 格式带编号的监视功能例如:发/收⼀组码: 68 04 01 00 96 77 这就S 格式,这是确认报⽂,在收报⽂经常出现。
刚开机时⽤于链路连接,收发两端都收到这个报⽂说明链路通了,可以发其它命令报⽂。
如果链路不通,主站会连发此报⽂2. ASDU 格式应⽤服务数据单元即信息区传输格式传送原因: 1字节/2字节各系统⾃定义,我们系统定义2字节。
101定义1个字节。
公共地址: 1字节/2字各系统⾃定义我们系统定义2字节。
101定义1个字节信息对象地址:1字/2字节/3字节我们系统定义3个字节,可以转16777215个信息,实际上2个字节就够65535。
101定义2个字节。
可变帧结构限定词: 7位定义长度,最⼤127个信息。
SQ=0 每个信息都带地址。
SQ=1 只有带⼀个有起始地址,其他信息不带地址,按顺序排列,全YX 、全YC 时SQ 都为1. 信息:最少⼀个字节,例如⼀个遥信,最多的可达9个字节,SOE8个字节。
104规约详细介绍及报文解析

104规约是指用于远动控制通信的规约,以以太网为载体,服务模式是平衡模式。
它是用于调度自动化系统,厂站之间的通讯。
它具有TCP/IP的冲突检测和错误重传机制,具有比101协议更高的可靠性和稳定性。
端口号默认为2404。
104规约的帧格式包括ASDU、控制域、信息体等部分。
其中,ASDU是应用服务数据单元,控制域定义了保护报文不至丢失和重复发送的控制信息,信息体包含了传输的数据内容。
104规约的帧格式有三种:I帧、S帧和U帧。
I帧为信息帧,用于传输数据,长度大于6个字节,为长帧;S帧为确认帧,用于确认接收的I帧,长度为6个字节,为短帧;U帧为控制帧,用于控制启动/停止/测试,长度为6个字节,为短帧。
以总召唤报文为例,其帧格式如下:起始字符加上信息体长度(字节数18)加上信息体。
其中,起始字符为68H,信息体长度为18个字节,信息体包括了控制域和信息体元素。
控制域中包含了编号的控制功能,如总召唤命令等。
信息体元素中包含了总召唤的各个信息体地址和信息体元素值。
远动传输规约之IEC60870-5-104篇
远动传输规约之IEC60870-5-104篇(2009-02-02 10:33:57)转载▼标签:104规约104规约下载1)IEC-60870-5-104的规约结构IEC-60870-5-104远动规约使用的参考模型源出于开放式系统互联的ISO-OSI参考模型,但它只采用其中的5层,其结构如图所示:IEC60870-5-104实际上是将IEC60870-5-101与TCP/IP(Transmission Control Protocol /Internet Protocol)提供的网络传输功能相组合,使得IEC60870-5-101在TCP/IP内各种网络类型都可使用,在上图的5层参考模型中,IEC60870-5-104实际上处于应用层协议的位置;基于TCP/IP的应用层协议很多,每一种应用层协议都对应着一个网络端口号,根据其在传输层上使用的是TCP协议(传输控制协议)还是UDP协议(用户数据报文协议),端口号又分为TCP端口号和UDP端口号,其中TCP协议是一种面向连接的协议,为用户提供可靠的、全双工的字节流服务,具有确认、流控制、多路复用和同步等功能,适用于数据传输,而UDP协议则是无连接的,每个分组都携带完整的目的地址,各分组在系统中独立地从数据源走到终点,它不保证数据的可靠传输,也不提供重新排列次序或重新请求功能,为了保证可靠地传输远动数据,IEC60870-5-104规定传输层使用的是TCP协议,因此其对应的端口号是TCP端口。
IEC60870-5-104规定本标准使用的端口号为2404,并且此端口号已经得到IANA(互联网地址分配机构,Internet Assigned Numbers Authority)的确认。
对于基于TCP的应用程序来说,存在两种工作模式,即服务器模式和客户机模式。
服务器模式和客户机模式的区别是,在建立TCP连接时,服务器从不主动发起连接请求,它一直处于侦听状态,当侦听到来自客户机的连接请求后,则接受此请求,由此建立一个TCP连接,服务器和客户机就可以通过这个虚拟的通信链路进行数据的收发。
104规约
104规约104:是厂站与配网主站进行通讯的规约,以以太网为载体,服务模式是平衡模式。
用于远动控制通信的,用于调度自动化系统,厂站之间的通讯;104规约的报文帧分为三类,I帧,S帧,U帧;I帧为信息帧,用于传输数据,长度大于6个字节,为长帧;S帧为确认帧,用于确认接收的I帧,长度为6个字节,为短帧;U帧为控制帧,用于控制启动/停止/测试,长度为6个字节,为短帧;长帧报文分为APCI和ASDU两个部分,统称为APDU,而短帧报文只有APCI部分;APCI的6个字节的构成:起动字符68H,1个字节;后面的报文长度,1个字节(最大253);控制域位组,4个字节;区分I,S,U 帧:I帧的4字节控制域位组规定为:字节1和字节2位发送序号,字节3和字节4为接收序号;注意:1.由于字节1和字节3的最低位固定为0,不用于构成序号,所以在计算序号时,要先转换成十进制数值,再除以2;2.由于低位字节在前,高位字节在后,所以计算时要先做颠倒;S帧的字节1固定为01H,字节2固定为00H,字节3和字节4位接收序号计算时仍要注意以上两点;U帧的字节2,3,4均固定为00H,字节1包含TESTFR,STARTDT,STOPDT三种功能,同时只能激活其中的一种功能;启动(STARTDT)和停止(STOPDT)都是由主站(104的客户端)发起的,先由主站发送生效报文,子站随后确认。
而主站和子站都可发送测试(TESTFR)报文,由另一方确认。
客户端发起:(请求连接报文和确认连接报文)STARTDT:68 04 07 00 00 00(启动激活);68 04 0B 00 00 00(启动确认)07 = 00000111,最后两个1表示信息传输格式为U格式,倒数第3个1表示请求连接;0B = 00001011,最后两个1表示信息传输格式为U格式,倒数第4个1表示连接确认;客户端发起:STOPDT:68 04 13 00 00 00(停止激活);68 04 23 00 00 00(停止确认)客户端和服务器对发:TESTFR:68 04 43 00 00 00 (测试激活);68 04 83 00 00 00(测试确认)104协议是101协议的网络版,101协议每次只能发送一个链路帧,而104协议可以连续发送多个链路帧,其传输效率明显高于101协议,而且具有TCP/IP的冲突检测和错误重传机制,具有比101协议更高的可靠性和稳定性,另外对通信延时的限制更宽松。
104规约整理
104规约定义一. 104报文的一般格式:以下图中:APCI 为应用规约控制信息ASDU 为应用服务数据单元APDU 为应用规约数据单元图 1 –远动配套标准的APDU定义图2 –远动配套标准的APCI定义1、104规约报文:启动字符为68H,没有结束字符(比如:101规约中的结束字符16)。
2、“APDU的长度”定义了APDU体的长度,◆它包括APCI中的四个控制域八位位组和ASDU。
既从控制域的第一个八位位组开始,到报文的最后结束。
◆ASDU的最大长度限制在249以内,因为APDU域的最大长度是253(APDU最大值=255减去启动和长度八位位组),控制域的长度是4个八位位组。
二、控制域的定义(I 格式、S 格式和U 格式)三种类型的控制域格式:用于编号的信息传输(I 格式)编号的监视功能(S 格式) 未编号的控制功能(U 格式)。
1、I 格式定义控制域第一个八位位组的第一位 = 0 定义了I 格式,I 格式的APDU 常包括APCI 和一个ASDU (数据单元)。
I 格式的控制信息如图3所示比特图 3– 信息传输格式类型的控制域(I 格式)2、S 格式定义控制域第一个八位位组的第一位 = 1 并且第二位 = 0 定义了S 格式,S 格式的APDU只包括APCI 。
S 格式的控制信息如图4所示。
比特 8 7 6 5 4 3 2 1图 4 –编号的监视功能类型的控制域(S 格式)3、U 格式定义控制域第一个八位位组的第一位= 1 并且第二位=1 定义了U 格式,U 格式的APDU 只包括APCI 。
在同一时刻,TESTFR, STOPDT 或 STARTDT 中只有一个功能可以被激活。
.U 格式的控制信息如图5所示八位位组 1 八位位组 2 八位位组 3 八位位组 4八位位组1 八位位组 2 八位位组 3 八位位组 4比特图 5 –未编号的控制功能类型的控制域(U 格式)三、数据传输过程1、 用启/停进行传输控制控制站(例如,A 站)利用STARTDT(启动数据传输)和STOPDT(停止数据传输)来控制被控站(B 站)的数据传输。
南方电网远动101、104通信规约故障分析及排查基本方法培训讲义
0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 类型标识(TYP) 可变结构限定词(VSQ) 标识符在 在7.2.3中定义 在7.2.4中定义 在7.2.5中定义 S/E QU 0 SCS 传送原因(COT) 应用服务数据单元公共地址 信息对象地址 SCO=单命令(在.7中定义) 信息对象 7.2中定义 数据单元
0 0 0 0 0 0 0 0 1 类型标识(TYP) 可变结构限定词(VSQ) 传送原因(COT) 应用服务数据单元公共地址 信息对象地址 0 0 SPI SIQ=带品质描述词的单点信息(在.1中定义) 7.2中定义 在中定义 在中定义 IV NT SB BL 0 标识符在 在中定义 数据单元 信息对象数i
其他类型: 单点命令 双点命令
应用层
遥控过程:
应用层
遥调举例: 应用服务数据单元∶ C_SE_NA_1设定命令, 规一化值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
远动规约104远动规约是站端RTU和调度系统进行信息交互的接口,随着软硬件技术的发展,远动规约也在不断地变化和发展。
国际和国内使用的远动规约多种多样,即使对于同一种规约,其传输格式也会因不同国家﹑不同生产厂家而不同;为了统一这种混乱局面,实现远动规约的标准化,国际电工委员会TC-57技术委员会制定了一系列远动规约的基本标准[1-5],并在此基础上制定了IEC60870-5-101远动规约,我国在非等效采用此规约的基础上制定了相应的配套标准DL/T634-1997[6]。
IEC60870-5-101为了提高通信的实时性,采用了只有物理层、数据链路层、应用层3层的增强性规约结构(EPA)[6],应用层直接映射到数据链路层,加强了信息的实时性。
在点对点和多个点对点的全双工配置下,此配套标准可以采用平衡式传输以发挥其内在潜力,此情况下由主站启动的链路传输服务有[7]:(1)由主站向子站循环询问越限的测量值的二级用户数据;(2)由主站定期召唤和询问全数据(包括状态量、测量值、变压器分接头位置、水位、频率);(3)由主站定期召唤电度量;(4)由主站向子站定期进行时钟同步;(5)由主站向子站发送控制断路器命令、调节步命令、设点命令、装载命令等;(6)当事故发生后,由主站向子站召唤事故顺序记录,包括状态量和继电保护信号的事故顺序记录;(7)支持文件传输,主站可以召唤故障录波装置记录扰动数据的数据文件。
由从站触发启动的链路传输服务主要是:(1)子站发生状态变位时主动传送的一级用户数据;(2)定时向主站传送子站的全数据,传送周期由子站的参数确定。
如果子站长时间没有接受到主站的信息,子站将缩短向主站传送全数据的周期,并变为向主站循环传送全数据。
采用子站主动向主站传送状态变位和全数据有两个优点;(1)子站发生状态变位后向主站传送的时间大大缩短;(2)如果由主站向子站传输的下行通道质量不好或中断情况下,上行信息的全数据和状态变位尚能保证向主站传送。
IEC60870-5-101提供了在主站和远动RTU之间发送基本远动报文的通信文件集,它适用的网络拓扑结构为点对点﹑多个点对点﹑多点共线﹑多点环形和多点星形网络配置的远这意味着必须使但它要求在主站和每个远动子站之间采用固定连接的数据电路,动系统中,用固定的专用远动通道。
随着欧美一些国家调度主站与变电站RTU的通信已逐步采用以太数据网,远动报文可能通过一些可以进行报文存贮和转发的数据网络进行传输,这些数据网络仅仅在主站和远动子站之间提供虚拟的数据电路,因此这种网络类型将使得报文传输出现延时,其延时可在相当大的时间范围内变化并和网络的通信负荷有关。
一般而言,可变的报文延时时间意味着不可能采用在IEC60870-5-101中所定义的主站和远动子站之间的链路层,为此,国际电工委员会(IEC)第57技术委员会(TC57)的第3工作组(WG03)于1998年8月制定了IEC60870-5-104标准(CDV),我国也制定了相应的配套标准DL/T634.5104-2002。
IEC60870-5-104协议的名称为“采用标准传输协议子集的IEC60870-5-101的网络访问”(Network access for IEC 60870-5-101 using standard transportprofiles)。
此协议是将IEC60870-5-101标准用于TCP/IP网络,当调度主站与变电站连接到以太数据网,变电站RTU与调度主站通信时,通信规约则应采用IEC60870-5-104标准。
2 IEC60870-5-104远动规约详述2.1 IEC-60870-5-104的规约结构IEC-60870-5-104远动规约使用的参考模型源出于开放式系统互联的ISO-OSI参考模型,但它只采用其中的5层,其结构如图1所示,图2为TCP/IP规约组(RFC2200)选用的标准结构[8,9]。
由图1可见,IEC60870-5-104实际上是将IEC60870-5-101与TCP/IP(Transmission Control Protocol/Internet Protocol)提供的网络传输功能相组合,使得IEC60870-5-101在TCP/IP内各种网络类型都可使用,包括X.25、FR(帧中继Frame Relay)、A TM(异步转移模式Asynchronous Transfer Mode)和ISDN(综合业务数据网Integrated Service Data Network)。
在图1的5层参考模型中,IEC60870-5-104实际上处于应用层协议的位置;基于TCP/IP的应用层协议很多,每一种应用层协议都对应着一个网络端口号,根据其在传输层上使用的是TCP协议(传输控制协议)还是UDP协议(用户数据报文协议),端口号又分为TCP端口号和UDP端口号,其中TCP协议是一种面向连接的协议,为用户提供可靠的、全双工的字节流服务,具有确认、流控制、多路复用和同步等功能,适用于数据传输,而UDP协议则是无连接的,每个分组都携带完整的目的地址,各分组在系统中独立地从数据源走到终点,它不保证数据的可靠传输,也不提供重新排列次序或重新请求功能,为了保证可靠地传输远端口。
TCP因此其对应的端口号是协议,TCP规定传输层使用的是IEC60870-5-104动数据,常用的TCP端口有:ftp文件传输协议,使用21号端口;telnet远程登录协议,使用23号端口;SMTP简单邮件传送协议,使用25号端口;http超文本传送协议,使用80号端口;IEC60870-5-104规定本标准使用的端口号为2404,并且此端口号已经得到IANA(互联网地址分配机构,Internet Assigned Numbers Authority)的确认。
对于基于TCP的应用程序来说,存在两种工作模式,即服务器模式和客户机模式。
服务器模式和客户机模式的区别是,在建立TCP连接时,服务器从不主动发起连接请求,它一直处于侦听状态,当侦听到来自客户机的连接请求后,则接受此请求,由此建立一个TCP连接,服务器和客户机就可以通过这个虚拟的通信链路进行数据的收发。
IEC60870-5-104规定控制站(即调度系统)作为客户机,而被控站(即站端RTU)作为服务器;因此无论是调度端软件还是RTU端软件都必然涉及到基于TCP/IP的网络编程。
可喜的是,Microsoft已经提供了一个WINDOWS下的TCP/IP网络通信的API(应用编程接口),这个API 就是Socket接口(套接字);不但如此,Microsoft还提供了两个MFC类,即CAsyncSocket类和派生于CAsyncSocket 的CSocket类,它们完全封装了TCP/IP协议,传输层、网络层、链路层的工作都由它自动完成。
当使用Windows的socket套接字进行网络编程时,发送方将每一个APDU都作为一个TCP包发送出去,接收方的socket套接字接收到一个完整的TCP包并将其中的APDU解析出来后,将调用socket的OnReceive ( ) 函数,在应用程序中通过重载此函数,应用程序就能接收到一个完整的APDU,这将显著简化编程工作。
2.2 IEC-60870-5-104的应用规约数据单元的结构IEC-60870-5-104的应用规约数据单元(APDU)的结构如图3所示[8,9],它由应用规约控制信息(APCI)和应用服务数据单元(ASDU)组成,和IEC-60870-5-101的帧结构相比,其中应用服务数据单元是相同的,相异之处在于,IEC-60870-5-104使用应用规约控制信息(APCI),而IEC-60870-5-101使用链路规约控制信息(LPCI)。
在APDU中,启动字符68H定义了数据流内的起始点,应用规约数据单元的长度定义了APDU主体的长度;需要注意的是,IEC 60870-5-104规定一个APDU报文(包括启动字符和长度标识)不能超过255个字节,因此APDU最大长度为253(等于255减去启动和长度标识共两个8位位组),ASDU的最大长度为249,这个要求限制了一个APDU报文最多能发送121个不带品质描述的归一化测量值或243个不带时标的单点遥信信息,若RTU采集的信息量超过此数目,则必须分成多个APDU进行发送。
格I种报文格式,即3分成APDU位位组,根据其定义,可以将8个4控制域包括APDU式、S格式和U格式,详见图4所示。
控制域的第一个8位位组的第1比特=0 定义了I格式,它表明APDU中包含应用服务数据单元ASDU;控制域的第一个8位位组的第1比特为1,第2比特为0定义了S格式,此种格式的APDU不包含ASDU,当报文接收方收到发送方的I格式报文后,如果没有I格式报文需要发送给对方,可以向对方发送S格式报文以对所接收到的报文进行确认;控制域的第一个8位位组的第1比特=1,第2比特=1定义了U格式,此种格式的APDU也不含ASDU,其作用主要在于实现3种控制功能,即启动子站进行数据传输(STARTDT)、停止子站的数据传输(STOPDT)和TCP链路测试(TESTFR)。
2.3 应用规约数据单元(APDU)的发送和接收序号的维护IEC 60870-5-104采用RFC 793/RFC791(即TCP/IP)协议。
IP协议负责将数据从一处传往另一处,TCP负责控制数据流量,并保证传输的正确性。
由于在最底层的计算机通信网络提供的服务是不可靠的分组传送,所以当传送过程中出现错误以及在网络硬件失效或网络负荷太重时,数据包有可能丢失、延迟、重复和乱序,因此应用层协议必须使用超时和重传机构。
为了防止I格式报文在传送过程中丢失或重复传送,IEC 60870-5-104的I格式报文的控制域定义了发送序号N(S)和接收序号R(S),发送方每发送一个I格式报文,其发送序号应加1,接收方每接收到一个与其接收序号相等的I格式报文后,其接收序号也应加1。
需要注意的是,每次重新建立TCP连接后,调度主站和子站RTU的接收序号和发送序号都应清零,因此在双方开始数据传送后,接收方若收到一个I格式报文,应判断此I格式报文的发送序号是否等于自己的接收序号。
若相等则应将自己接收序号加1,若此I格式报文的发送序号大于自己的接收序号,这说明发送方发送的一些报文出现了丢失;若此I格式报文的发送序号小于自己的接收序号,这意味着发送方出现了重复传送。
此外,I格式和S格式报文的接收序号表明了发送该报文的一方对已接收到的I格式报文的确认,若发送方发送的某一I格式报文后长时间无法在对方的接收序号中得到确认,这就意味着发生了报文丢失。