[指南]iec104报文解析
- 格式:docx
- 大小:10.59 KB
- 文档页数:6
104规约报文解析104规约报文解析是一种实时的通信协议,具有快速传输,可靠性高,能够支持多种功能,容易实现自动化等优点。
它是由IEC/BE/DIN等国际电工委员会制定的报文标准,是非常普遍的现代化仪表仪器通信标准,它可以在工业仪表仪器通信中应用。
104规约是一个报文标准,报文是指报文的组成,报文包括报文头、报文体和报文尾三个部分。
报文头由报文起始字,报文间隔字和报文类型标志等组成;报文体指的是报文的主体,它包含报文长度和信息内容;报文尾由校验位和结束符组成。
报文起始字和报文间隔字是报文格式中最重要的两个部分,它们可以用于报文的划分。
报文起始字是在报文开始的第一个字节,用于标识报文的起始,报文间隔字是报文中的每个字节都有的特殊标志,它的作用是将报文进行分割,使不同的字节能够按照正确的序列排列。
报文类型标志用于定义报文的内容,报文类型标志中可以标识报文是请求发送还是应答发送,以及报文所携带的内容。
报文长度是指报文体中所携带的字节数,它可以用于确定报文体中有多少字节。
校验位是报文尾部的必要部分,它可以用于确保报文数据的可靠性。
校验位是由发送端和接收端使用一致的条件计算出来的,只有当校验结果一致时,接收端才会接受报文数据。
结束符是报文尾部的必要部分,用于标识报文的结束。
104规约报文解析是一种实时通信协议,它能够在工业仪表仪器通信中有效应用,为仪表仪器通信提供可靠、稳定的通信服务。
它的报文格式简单、数据可靠,而且能够支持多种功能,能够满足实时通信的需求。
104规约报文解析不仅可以应用于工业仪表仪器通信,还可以应用于各种系统自动化等领域,它的应用范围非常广泛。
它可以起到极大的作用,有效提高了系统的可靠性,为系统自动化提供了基础。
大势所趋,104规约报文解析越来越受到重视,更多的企业和个人将其应用于工业仪表仪器通信和系统自动化方面,以满足实时通信的需求。
在未来,我们相信104规约报文解析有望成为一种重要的通信技术,可以更好地满足我们的需求。
iec104实例报文IEC 104 实例报文IEC 104 是一种用于远程监控和控制的通信协议,经常应用于电力系统中。
本文将介绍关于 IEC 104 实例报文的相关内容。
IEC 104 协议是基于客户端 - 服务器模型的通信协议,其中,客户端为远程监控系统,服务器为远程终端单元(RTU)。
IEC 104 实例报文是在该通信协议下进行数据交换的格式。
IEC 104 实例报文分为多个报文类型,包括总召唤(General Interrogation),时钟同步(Clock Synchronization),参数读取与设置(Parameter Read and Set),遥信(Telecontrol),遥测(Telesignalling),遥控(Remote Control)等。
不同的报文类型具有不同的功能和目的。
以下将逐一介绍这些报文类型的功能。
总召唤指令允许客户端从服务器获取所有可用测量值和状态信息。
总召唤报文由客户端发送,服务器在接收到该报文后,将返回一个包含所有测量值和状态的响应报文。
这对客户端进行系统巡检和数据采集非常有用,可以帮助客户端了解整个系统的工作情况。
时钟同步报文用于将服务器和客户端的时间同步。
客户端可以向服务器发送时钟同步报文,服务器根据其内部时钟设置自己的时间,并将同步后的时间返回给客户端。
确保服务器和客户端的时间同步非常重要,可以确保整个系统中的各个设备具有相同的时间准确性。
参数读取与设置报文用于在服务器和客户端之间交换参数信息。
客户端可以发送参数读取报文来获取服务器当前的参数设置,同时,客户端也可以发送参数设置报文来修改服务器的参数设置。
这对于对系统参数进行配置和维护非常重要,可以根据实际需求来修改服务器的配置。
遥信报文用于远程监控系统中的开关量输入(遥信)的传输。
服务器可以向客户端发送遥信报文来报告开关量输入的状态,而客户端也可以发送遥信报文来要求服务器改变开关量输入的状态。
104规约详细介绍及报文解析-回复规约(Protocol)是计算机网络通信中的一种协议,用于定义数据交换的格式、顺序以及错误检测和纠正等内容。
104规约(IEC 60870-5-104)是国际电工委员会(International Electrotechnical Commission)制定的一种规约,主要用于监控与控制系统之间的通信。
本文将详细介绍104规约及其报文解析。
一、104规约简介104规约是一种基于TCP/IP网络通信的规约,主要用于工业自动化领域中的远程监控与控制系统。
它提供了一种可靠、高效的通信方式,能够满足实时性、灵活性和可靠性等要求。
104规约采用了面向报文和面向连接的通信方式,能够支持点对点、点对多点和多点对点的通信模式。
二、104规约报文结构104规约的报文结构包括报文头(Header)、ASDU(Application Service Data Unit)和报文尾(Footer)。
报文头包含了报文的控制信息,用于表示报文类型、优先级和传输原因等。
ASDU是实际传输的数据部分,负责携带各种监控与控制的信息。
报文尾用于检测报文的完整性和一致性。
三、104规约报文解析1. 报文头解析:首先读取报文头,根据报文头的信息可以确定报文的类型、传输原因和发送序号等。
报文类型表示了报文的目的和功能,如启动报文、确认报文或者监控与控制的报文。
传输原因表示了触发发送该报文的原因,如周期定时发送、事件触发发送等。
2. ASDU解析:根据ASDU的类型可以确定ASDU的功能和数据的含义。
不同类型的ASDU用于传输不同种类的监控与控制的数据,如单点信息、双点信息、测量值和参数等。
根据ASDU的结构和定义,可以提取出数据的具体内容。
3. 报文尾解析:最后检查报文尾以验证报文的完整性和一致性。
报文尾通常包括一个校验和,用于检测报文是否被修改或丢失。
四、104规约报文的应用104规约广泛应用于电力、水利、交通、石油等行业中的远程监控与控制系统。
104常见报文解析电度量68 2B F4 2C 58 05 |启动字符ADPU长度(43)控制域位组0F 86 25 00 01 0A | 电度类别表识个数SN 传输原因扇区装置地址01 64 00 | 信息体地址07 00 00 00 41 第一路电度03 00 00 00 4204 00 00 00 430A 00 00 00 4407 00 00 00 450B 00 00 00 46遥测68 40 B2 15 98 04 | 启动字符ADPU长度(64)控制域位组09 91 01 00 07 03 | 遥测类别表识个数SN(最高位取反值为个数)传输原因扇区装置地址01 40 00 | 信息体地址02 00 00 第一路遥测02 00 0002 00 0001 00 0002 00 0002 00 0001 00 0004 00 0000 00 0002 00 0002 00 0002 00 0000 00 0000 00 0000 00 0000 00 0000 00 00遥信(带时标)68 15 6C 2B DE 08 | 启动字符ADPU长度(64)控制域位组1E 01 03 00 02 02 | 遥信类别表识(1E 或1F)个数SN(最高位取反值为个数)传输原因扇区装置地址1E表示单点遥信状变用(00,01)表示,1F表示双点遥信状变用(01,02)表示01 00 00 | 信息体地址00 4C DA 25 0F 05 07 04状态(最低位)55秒884毫秒37分15点5日7月04年68 15 32 2B D8 08 | 1E 01 03 00 02 02 | 01 00 00 | 01 35 CC 25 0F 05 07 0468 15 3C 31 2C 0A | 1F 01 03 00 09 02 | 3D 00 00 | 02 68 61 29 0F 05 07 04遥信(不带时标)68 0E 8A 15 18 0103 01 14 00 01 09 BE 00 00 01遥信识别(03双点|单点)数目传输原因扇区装置地址信息体地址有效无效(等)(01(分)02(合))遥控选择下发68 0E 10 7F 70 D4 |2E 01 06 00 07 03 |遥信类别表识(2E 或2F)1 传输原因扇区装置地址01 60 00 | 信息体地址82| 01 跳02 合装置返校68 0E C0 77 5A 15 | 2E 01 07 00 07 03 | 01 60 00 | 82遥控撤销下发68 0E 8A 88 FE 0C | 2E 01 08 00 07 02 | 01 60 00 | 82遥控执行下发68 0E 80 7C 7A 16 | 2E 01 07 00 07 02 | 01 60 00 | 02装置执行68 0E 80 7C 7A 16 | 2E 01 07 00 07 02 | 01 60 00 | 02装置返回结束保文68 0E 82 7C 7A 16 | 2E 01 0A 00 07 02 | 01 60 00 | 02SOE(不带动作值)68 17 D0 12 C8 00 |26 01 03 00 01 16 |SOE类别表识(26)1 传输原因扇区装置地址43 01 00| 信息体地址02 17 00 17 DB 28 10 05 07 04 |02 相对时间毫秒低位毫秒高位分时日月年(动作)01(复归)68 24 9A 1B 86 01 |A6 01 03 00 01 16 | SOE类别表识(A6)1 传输原因扇区装置地址B7 10 00 | 信息体地址02 16 00 21 B3 06 11 05 07 04 状态时标03 动作值个数FB 09 A4 40 第一路动作值大小浮点数表示A2 2E 37 3A 第二路DB C5 88 3B 第三路。
IEC104规约调试小结调试广西中调IEC-104规约时对报文作了如下的分析,不对地方请指正。
一、四遥信息体基地址范围“可设置104调度规约”有1997年和2002年两个版本,在流程上没有什么变化,02此配置要根据主站来定,有的主站可能设为1,1,2,我们要改与主站一致。
三、以公共地址字节数=2,传输原因字节数=2,信息体地址字节数=3为例对一些基本的报文分析第一步:首次握手(U帧)发送→激活传输启动:68(启动符)04(长度)07(控制域)00 00 00接收→确认激活传输启动:68(启动符)04(长度)0B(控制域)00 00 00第二步:总召唤(I帧)召唤YC、YX(可变长I帧)初始化后定时发送总召唤,每次总召唤的间隔时间一般设为15分钟召唤一次,不同的主站系统设置不同。
发送→总召唤:68(启动符)0E(长度)00 00(发送序号)00 00(接收序号)64(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址即RTU地址)00 00 00(信息体地址)14(区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤)接收→S帧:注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
6804 01 00 02 00接收→总召唤确认(发送帧的镜像,除传送原因不同):68(启动符)0E(长度)00 00(发送序号)00 00(接收序号)64(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址即RTU地址)00 00 00(信息体地址)14(同上)发送→S帧:注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
68 04 01 00 02 00接收→YX帧(以类型标识1为例):68(启动符)1A(长度)02 00(发送序号)02 00(接收序号)01(类型标示,单点遥信)04(可变结构限定词,有4个遥信上送)14 00(传输原因,响应总召唤)01 00(公共地址即RTU地址)03 00 00(信息体地址,第3号遥信)00(遥信分)发送→S帧:68 04 01 00 04 00接收→YX帧(以类型标识3为例):68(启动符)1E(长度)04 00(发送序号)02 00(接收序号)03(类型标示,双点遥信)05(可变结构限定词,有5个遥信上送)14 00(传输原因,响应总召唤)01 00(公共地址)01 00 00(信息体地址,第1号遥信)02(遥信合)06 00 00(信息体地址,第6号遥信)02(遥信合)0A 00 00(信息体地址,第10号遥信)01(遥信分)0B 00 00(信息体地址,第11号遥信)02(遥信合)0C 00 00(信息体地址,第12号遥信)01(遥信分)发送→S帧:68 04 01 00 06 00接收→YC帧(以类型标识9为例):68(启动符)13(长度)06 00(发送序号)02 00(接收序号)09(类型标示,带品质描述的遥测)82(可变结构限定词,有2个连续遥测上送)14 00(传输原因,响应总召唤)01 00(公共地址)01 07 00(信息体地址,从0X0701开始第0号遥测)A1 10(遥测值10A1)00(品质描述)89 15(遥测值1589)00(品质描述)发送→S帧:68 04 01 00 08 00接收→结束总召唤帧:68(启动符)0E(长度)08 00(发送序号)02 00(接收序号)64(类型标示)01(可变结构限定词)0A 00(传输原因)01 00(公共地址)00 00 00(信息体地址)14(区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤)发送→S帧:6804 01 00 0A 00第二步:发送对时报文(通过设置RTU参数表中的”对间间隔”,单位是分钟,一般是20分钟)发送→对时命令:68(启动符)14(长度)02 00(发送序号)0A 00(接收序号)67(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址)00 00 00(信息体地址)01(毫秒低位)02(毫秒高位)03(分钟)04(时)81(日与星期)09(月)05(年)接收→对时确认:68(启动符)14(长度)0C 00(发送序号)02 00(接收序号)67(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址)00 00 00(信息体地址)**(毫秒低位)**(毫秒高位)**(分钟)04(时)81(日与星期)09(月)05(年)发送→S帧:68 04 01 00 0E 00第三步:电度总召唤(如果没有电度此步骤可以省略且可以在对时之前以送.通过设置参数中”全数据扫描间隔”,单位是分钟一般是15分钟召唤一交,如果不需要召唤电度一定要将参数中的电度个数设为0)发送→召唤电度:68(启动符)0E(长度)04 00(发送序号)0E 00(接收序号)65(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)接收→召唤确认(发送帧的镜像,除传送原因不同) :68(启动符)0E(长度)10 00(发送序号)06 00(接收序号)65(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)发送→S帧:68 04 01 00 12 00接收→电度数据:68(启动符)1A(长度)12 00(发送序号)06 00(接收序号)0F(类型标示)02(可变结构限定词,有两个电度量上送)05 00(传输原因)01 00(公共地址)01 0C 00(信息体地址,从0X0C01开始第0号电度)00 00 00 00(电度值)00(描述信息)02 0C 00(信息体地址,从0X0C01开始第1号电度)00 00 00 00(电度值)01(描述信息)发送→S帧:68 04 01 00 14 00接收→结束总召唤帧:68(启动符)0E(长度)14 00(发送序号)06 00(接收序号)65(类型标示)01(可变结构限定词)0A 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)发送→S帧:6804 01 00 16 00第四步:如果RTU有变化数据主动上送主动上送变位遥信,类型标识为1或3接收→变位遥信:68(启动符)0E(长度)16 00(发送序号)06 00(接收序号)01(类型标示,单点遥信)01(可变结构限定词,有1个变位遥信上送)03 00(传输原因,表突发事件)01 00(公共地址即RTU地址)03 00 00(信息体地址,第3号遥信)00(遥信分)发送→S帧:68 04 01 00 18 00接收→变位遥信:68(启动符)0E(长度)18 00(发送序号)06 00(接收序号)03(类型标示,双点遥信)01(可变结构限定词,有1个变位遥信上送)03 00(传输原因,表突发事件)01 00(公共地址即RTU地址)06 00 00(信息体地址,第6号遥信)01(遥信分)发送→S帧:68 04 01 00 1a 00主动上送SOE,类型标识为0x1e或0x1f接收→SOE :68(启动符)15(长度)1a 00(发送序号)06 00(接收序号)1e(类型标示,单点遥信)01(可变结构限定词,有1个SOE)03 00(传输原因,表突发事件)01 00(公共地址即RTU 地址)08 00 00(信息体地址,第8号遥信)00(遥信分)ad(毫秒低位)39(毫秒高位)1c(分钟)10(时)7a(日与星期)0b(月)05(年)发送→S帧:68 04 01 00 1c 00接收→SOE :68(启动符)15(长度)1c 00(发送序号)06 00(接收序号)1f(类型标示,双点遥信)01(可变结构限定词,有1个SOE)03 00(传输原因,表突发事件)01 00(公共地址即RTU 地址)0a 00 00(信息体地址,第10遥信)01(遥信分)2f(毫秒低位)40(毫秒高位)1c(分钟)10(时)7a(日与星期)0b(月)05(年)第四步:如果主站超过一定时间没有下发报文或RTU也没有上送任何报文则双方都可以按频率发送U帧,测试帧发送→U帧:68 04 43 00 00 00接收→应答:68 04 83 00 00 00第五步:遥控发送→遥控预置:68(启动符)0e(长度)20 00(发送序号)06 00(接收序号)2e(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址即RTU地址)05 0b 00(信息体地址,遥控号=0xb05-0xb01=4)82(控合)接收→遥控返校:68(启动符)0e(长度)0e 00(发送序号)06 00(接收序号)2e(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址即RTU地址)05 0b 00(信息体地址,遥控号=0xb05-0xb01=4)82(控合)发送→遥控执行:68(启动符)0e(长度)04 00(发送序号)18 00(接收序号)2e(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址即RTU地址)05 0b 00(信息体地址,遥控号=0xb05-0xb01=4)02(控合)接收→执行确认:68(启动符)0e(长度)12 00(发送序号)08 00(接收序号)2e(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址即RTU地址)05 0b 00(信息体地址,遥控号=0xb05-0xb01=4)02(控合)发送→遥控撤消:68(启动符)0e(长度)04 00(发送序号)18 00(接收序号)2e(类型标示)01(可变结构限定词)08 00(传输原因)01 00(公共地址即RTU地址)05 0b 00(信息体地址,遥控号=0xb05-0xb01=4)02(控合)接收→撤消确认:68(启动符)0e(长度)12 00(发送序号)08 00(接收序号)2e(类型标示)01(可变结构限定词)09 00(传输原因)01 00(公共地址即RTU地址)05 0b 00(信息体地址,遥控号=0xb05-0xb01=4)02(控合)补充说明:1、报文中的长度指的是除启动字符与长度字节的所有字节。
iec104实例报文
IEC 104是国际电工委员会(IEC)发布的一个用于电力系统通信的标准协议,用于远程控制和监控电力系统设备。
下面是一个IEC 104报文的示例:
```
遥测:F1:01:01:00:00:00:FE:FF:FF:FF:FF:FF:FF:FF
遥信:F2:01:02:00:00:00:FE:FF:FF:FF:FF:FF:FF:FF
遥控:F3:01:03:00:00:00:FE:FF:FF:FF:FF:FF:FF:FF
遥调:F4:01:04:00:00:00:FE:FF:FF:FF:FF:FF:FF:FF
```
在这个示例中,每个报文都以特定的标识符(如“遥测”或“遥信”)开头,后面跟着一系列的数据字节。
每个数据字节都由两个十六进制数字表示,例如“FE”表示一个特定的值。
具体来说,这个示例中的报文表示以下信息:
遥测报文包含一些遥测数据,例如电压、电流等。
在这个示例中,所有的
遥测数据都被设置为最大的值(即“FF”)。
遥信报文包含一些开关状态信息,例如断路器是否闭合、变压器是否过载等。
在这个示例中,所有的开关状态都被设置为关闭或正常。
遥控报文用于控制远程设备的动作,例如打开或关闭断路器。
在这个示例中,所有的控制命令都被设置为无效或未执行。
遥调报文用于调整远程设备的参数,例如设置继电器的阈值。
在这个示例中,所有的参数调整都被设置为无效或未执行。
需要注意的是,这只是一个示例报文,实际应用中的报文会根据具体的设备和需求而有所不同。
IEC104报⽂解释IEC 60870-5-104 ⽹络传输规约是国际标准规约,主要应⽤于电⼒系统变电站计算机监控系统或RTU 与主站SCADA 系统之间的数据通信。
控制站与被控制站之间的⽹络通信底层采⽤TCP/IP 协议[1],应⽤层协议采⽤IEC60870-5-104 传输规约[2-3]。
1 应⽤层协议IEC 60870-5-104 传输规约格式与报⽂分析[2-5]1.1 控制功能传输格式控制功能传输帧主要⽤于测试链路、控制启/停数据传输,如表1所⽰。
报⽂内容为:表1 控制功能传输格式启始字APDU 长度控制域1 控制域2 控制域3 控制域400 00 0068 04 STARTDT、STOPDT、TESTFR(1)TRAN:68 04 43 00 00 00,测试链路。
(2)RECV:68 04 83 00 00 00,确认。
(3)TRAN:68 04 13 00 00 00,停⽌数据传送。
(4)RECV:68 04 23 00 00 00,确认。
(5)TRAN:68 04 07 00 00 00,启动数据传输。
(6)RECV:68 04 0B 00 00 00,确认。
TCP/IP 建⽴连接后,控制站发送测试TESTFR指令对已建⽴的连接进⾏测试,并得到被控制站返回的TESTFR 确认;控制站必需发送STARTDT 指令来激活该连接中的⽤户数据传输,被控制站响应这个STARTDT 指令。
被控制站的待发数据只有在STARTDT 被确认后才能发送数据。
1.2 监视功能传输格式监视功能传输格式如表 2 所⽰。
监视功能传输帧主要⽤于数据帧确认,即当主站正确收到1 帧或多帧APDU 后要进⾏确认并返回接收帧的序列号。
表2 监视功能传输格式启始字APDU 长度控制域1 控制域2 控制域3 控制域468 01 01 00 接收序号接收序号1.3 信息传输格式1.3.1 总召唤总召唤报⽂格式及内容分析如下:(1)TRAN:68 0E 00 00 00 00 64 01 06 00 01 00 00 00 00 14,总召唤命令。
[指南]iec104报文解析1.变化遥测报文举例:68 04 07 00 00 00子站响应帧报文68 04 0B 00 00 002.链路测试帧报文:68 04 43 00 00 00响应帧报文68 04 83 00 00 003.主站接收数据确认帧报文:68 04 01 00 5A 024(总召唤上送遥测报文举例:68 40 18 00 04 00 09 91 14 00 01 0B 70 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F4 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 说明:0x09 ASDU 类型:遥测数据。
0x91 可变机构限定词:第七位定义该帧应用数据的数目,低位在前高位在后。
最高位为1,表示应用数据是信息体地址连续的一串数据,报文中只提供一个起始信息体地址,即第一个遥测的信息体地址,后面的遥测在此地址的基础上递增。
如上报文上送的是起始信息体地址为0x4070的17个遥测。
0x0014 传送原因:定义数据上送的原因,低位在前高位在后。
20为召唤上送,一般为响应总召唤。
0x004070 起始信息体地址:该帧第一个遥测信息体地址,其后信息体地址在此地址后依次递增。
0x0b01 公共地址:主站个子站设定的地址,低位在前高位在后。
由主站方确定,子站严格按此地址设定。
00 00 00 遥测实际上送数据:以下每3个字节一个遥测数据,信息体地址在起始地址上依次递增。
5(变化遥测报文举例:68 3A 00 00 00 00 09 08 03 00 01 0B 01 40 00 45 00 00 02 40 00 CD FF 00 03 40 00 32 00 00 04 40 00 0C 04 00 05 40 00 2C 00 00 06 40 00 0C 04 00 07 40 00 50 00 00 0F 40 00 88 13 00说明:0x09 ASDU类型:遥测数据。
iec104规约协议报文流程解析iec104规约协议报文,就像是一种特殊的语言,在电力系统这个大舞台上传递着重要的信息。
想象一下,电力系统是一个超级大的家族,各个设备就像是家族里的成员。
而iec104规约协议报文呢,就是这些成员之间沟通的信件。
每一个报文都有着自己独特的格式和内容,就像每封信都有特定的书写格式和要表达的事情一样。
我们先来看报文的起始部分。
这部分就像是信件的开头称呼,它会告诉接收方,“嘿,我是从哪里来的”。
比如说,它会包含发送端的一些标识信息,这就好比是写信人的地址。
这个标识很重要呢,就像你收到一封信,你得知道是谁寄来的。
如果这个标识乱了或者错了,那就好比收到一封不知道谁寄来的信,会让人很迷糊。
然后是报文的类型部分。
这就像是信里写的事情的大致分类。
是通知对方有新情况了呢,还是在回答对方之前的询问?不同的报文类型有着不同的作用。
就像你给家人写信,有时候是告诉他们你最近发生的新鲜事,这就类似一种类型的报文;有时候是回复家人之前问你的问题,这又是另一种类型的报文。
比如说,一个设备检测到电力参数有异常了,它就会发出一种特定类型的报文,告诉监控系统“我这儿有点不对劲啦”。
报文的数据部分就像是信的正文内容。
这里面包含了真正有用的信息。
在电力系统里,可能是电压值、电流值、设备状态之类的信息。
这部分信息就像是你告诉家人你现在的生活状况,是过得好呢,还是遇到了困难。
这些电力数据非常关键,因为它们直接反映了电力系统的运行情况。
就像你家人通过你信里描述的生活状况来了解你的真实生活一样,电力系统的监控人员通过这些数据部分的报文来掌握电力系统的运行状态。
报文还有校验部分。
这就像是信件的防伪标识。
因为在传输过程中,可能会出现各种干扰,导致报文的内容发生错误。
校验部分就可以检查这个报文是不是完整的、正确的。
这就好比你收到一封信,你要看看这封信有没有在途中被损坏或者被人篡改过。
如果校验不通过,那就好比收到一封字迹模糊、内容被乱改的信,这样的报文是不能被信任的,就像这样的信你也不会相信里面的内容一样。
IEC104规约调试小结一、四遥信息体基地址范围“可设置104调度规约”有1997年和2002年两个版本,在流程上没有什么变化,02此配置要根据主站来定,有的主站可能设为1,1,2,我们要改与主站一致。
三、以公共地址字节数=2,传输原因字节数=2,信息体地址字节数=3为例对一些基本的报文分析第一步:首次握手(U帧)发送→激活传输启动:68(启动符)04(长度)07(控制域)00 00 00接收→确认激活传输启动:68(启动符)04(长度)0B(控制域)00 00 00第二步:总召唤(I帧)召唤YC、YX(可变长I帧)初始化后定时发送总召唤,每次总召唤的间隔时间一般设为15分钟召唤一次,不同的主站系统设置不同。
发送→总召唤:68(启动符)0E(长度)00 00(发送序号)00 00(接收序号)64(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址即RTU地址)00 00 00(信息体地址)14(区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤)接收→S帧:注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
6804 01 00 02 00接收→总召唤确认(发送帧的镜像,除传送原因不同):68(启动符)0E(长度)00 00(发送序号)00 00(接收序号)64(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址即RTU地址)00 00 00(信息体地址)14(同上)发送→S帧:注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
68 04 01 00 02 00接收→YX帧(以类型标识1为例):68(启动符)1A(长度)02 00(发送序号)02 00(接收序号)01(类型标示,单点遥信)04(可变结构限定词,有4个遥信上送)14 00(传输原因,响应总召唤)01 00(公共地址即RTU地址)03 00 00(信息体地址,第3号遥信)00(遥信分)发送→S帧:68 04 01 00 04 00接收→YX帧(以类型标识3为例):68(启动符)1E(长度)04 00(发送序号)02 00(接收序号)03(类型标示,双点遥信)05(可变结构限定词,有5个遥信上送)14 00(传输原因,响应总召唤)01 00(公共地址)01 00 00(信息体地址,第1号遥信)02(遥信合)06 00 00(信息体地址,第6号遥信)02(遥信合)0A 00 00(信息体地址,第10号遥信)01(遥信分)0B 00 00(信息体地址,第11号遥信)02(遥信合)0C 00 00(信息体地址,第12号遥信)01(遥信分)发送→S帧:68 04 01 00 06 00接收→YC帧(以类型标识9为例):68(启动符)13(长度)06 00(发送序号)02 00(接收序号)09(类型标示,带品质描述的遥测)82(可变结构限定词,有2个连续遥测上送)14 00(传输原因,响应总召唤)01 00(公共地址)01 40 00(信息体地址,从0X4001开始第0号遥测)A1 10(遥测值10A1)00(品质描述)89 15(遥测值1589)00(品质描述)发送→S帧:68 04 01 00 08 00接收→结束总召唤帧:68(启动符)0E(长度)08 00(发送序号)02 00(接收序号)64(类型标示)01(可变结构限定词)0A 00(传输原因)01 00(公共地址)00 00 00(信息体地址)14(区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤)发送→S帧:6804 01 00 0A 00第二步:发送对时报文(通过设置RTU参数表中的”对间间隔”,单位是分钟,一般是20分钟)发送→对时命令:68(启动符)14(长度)02 00(发送序号)0A 00(接收序号)67(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址)00 00 00(信息体地址)01(毫秒低位)02(毫秒高位)03(分钟)04(时)81(日与星期)09(月)05(年)接收→对时确认:68(启动符)14(长度)0C 00(发送序号)02 00(接收序号)67(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址)00 00 00(信息体地址)**(毫秒低位)**(毫秒高位)**(分钟)04(时)81(日与星期)09(月)05(年)发送→S帧:68 04 01 00 0E 00第三步:电度总召唤(如果没有电度此步骤可以省略且可以在对时之前以送.通过设置参数中”全数据扫描间隔”,单位是分钟一般是15分钟召唤一交,如果不需要召唤电度一定要将参数中的电度个数设为0)发送→召唤电度:68(启动符)0E(长度)04 00(发送序号)0E 00(接收序号)65(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)接收→召唤确认(发送帧的镜像,除传送原因不同) :68(启动符)0E(长度)10 00(发送序号)06 00(接收序号)65(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)发送→S帧:68 04 01 00 12 00接收→电度数据:68(启动符)1A(长度)12 00(发送序号)06 00(接收序号)0F(类型标示)02(可变结构限定词,有两个电度量上送)05 00(传输原因)01 00(公共地址)01 64 00(信息体地址,从0X6401开始第0号电度)00 00 00 00(电度值)00(描述信息)02 64 00(信息体地址,从0X6401开始第1号电度)00 00 00 00(电度值)01(描述信息)发送→S帧:68 04 01 00 14 00接收→结束总召唤帧:68(启动符)0E(长度)14 00(发送序号)06 00(接收序号)65(类型标示)01(可变结构限定词)0A 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)发送→S帧:6804 01 00 16 00第四步:如果RTU有变化数据主动上送主动上送变位遥信,类型标识为1或3接收→变位遥信:68(启动符)0E(长度)16 00(发送序号)06 00(接收序号)01(类型标示,单点遥信)01(可变结构限定词,有1个变位遥信上送)03 00(传输原因,表突发事件)01 00(公共地址即RTU地址)03 00 00(信息体地址,第3号遥信)00(遥信分)发送→S帧:68 04 01 00 18 00接收→变位遥信:68(启动符)0E(长度)18 00(发送序号)06 00(接收序号)03(类型标示,双点遥信)01(可变结构限定词,有1个变位遥信上送)03 00(传输原因,表突发事件)01 00(公共地址即RTU地址)06 00 00(信息体地址,第6号遥信)01(遥信分)发送→S帧:68 04 01 00 1a 00主动上送SOE,类型标识为0x1e(单点YX)或0x1f(双点YX)接收→SOE :68(启动符)15(长度)1a 00(发送序号)06 00(接收序号)1e(类型标示,单点遥信)01(可变结构限定词,有1个SOE)03 00(传输原因,表突发事件)01 00(公共地址即RTU 地址)08 00 00(信息体地址,第8号遥信)00(遥信分)ad(毫秒低位)39(毫秒高位)1c(分钟)10(时)7a(日与星期)0b(月)05(年)发送→S帧:68 04 01 00 1c 00接收→SOE :68(启动符)15(长度)1c 00(发送序号)06 00(接收序号)1f(类型标示,双点遥信)01(可变结构限定词,有1个SOE)03 00(传输原因,表突发事件)01 00(公共地址即RTU 地址)0a 00 00(信息体地址,第10遥信)01(遥信分)2f(毫秒低位)40(毫秒高位)1c(分钟)10(时)7a(日与星期)0b(月)05(年)第四步:如果主站超过一定时间没有下发报文或RTU也没有上送任何报文则双方都可以按频率发送U帧,测试帧,以检测链路通断。
104规约报文解析(实例(适用初学者))IEC 104规约报文解析一、固定长度报文:111、格式:启动字符长度控制域一控制域二控制域三控制域四启动字符:68长度:该字节之后的报文的字节数目。
短帧都为042、常见帧:启动链路:68 04 07 00 00 00启动链路确认:68 04 0B 00 00 00测试帧:68 04 43 00 00 00测试确认:68 04 83 00 00 00监视帧:68 04 01 00 00 00二、可变长度报文1、格式:启动字符长度控制域一控制域二控制域三控制域四类型标识符可变结构限定词传送原因高字节传送原因低字节公共地址高字节公共地址低字节数据启动字符:68长度:该字节之后的报文的字节数目类型标识:0x01:单点遥信0x09:归一化遥测(整型)0x0D:浮点型遥测0x03:双点遥信0x1e:SOE(事件记录)0x67:对时0x25:电度0x64:总召0x2d:单点遥控0x2e:双点遥控可变结构限定词:最高位表示数据是否连续,1:连续。
不连续,低7位表示报文中包含的数据的个数。
传送原因:0x06:激活0x07:激活确认0xA:激活终止0x8:停止激活0x09:激活停止确认公共地址:设备地址2、常见报文的格式:点号=肇端地点大概信息体地点-104规约中配置的肇端地点遥信:继续:数据报文的花式:3个字节(低前高后)肇端地点+n个字节的遥信值不继续:数据报文的花式:3个字节(低前高后)信息体地点+1个字节的遥信值3个字节(低前高后)信息体地址+1个字节的遥信值3个字节(低前高后)信息体地址+1个字节的遥信值遥测:继续:数据报文的花式:3个字节(低前高后)肇端地点+(4个字节的遥测值+1个字节的品格描绘)n组不继续:数据报文的花式:3个字节(低前高后)信息体地点+4个字节的遥测值+1个字节的品格描绘3个字节(低前高后)信息体地点+4个字节的遥测值+1个字节的品格描绘3个字节(低前高后)信息体地址+4个字节的遥测值+1个字节的品质描述SOE:不区分连续不连续数据报文花式:3个字节肇端地点+1个字节值+7个字节的时标(毫秒、秒、分、时、日、月、年)电度:继续:数据报文花式:3个字节(低前高后)肇端地点+(4个字节的遥测值+1个字节的品格描绘+7个字节的时标)×n组(毫秒、秒、分、时、日、月、年)不连续:3个字节(低前高后)起始地址+(4个字节的遥测值+1个字节的品质描述+7个字节的时标)3个字节(低前高后)起始地址+(4个字节的遥测值+1个字节的品质描述+7个字节的时标)遥控:3个信息体地址+1个字节命令码对时:3个字节信息体地址+7个字节的时标(毫秒、秒、分、时、日、月、年)三、报文举例1、主站发总召:68 0E 00 00 00 xxxxxxxx0001 00 00 00 00 142、主站收到的总召响应报文:68 0E 06 00 02 xxxxxxxx 0001 00 00 00 00 143、主站收到的全遥信报文:68 38 08 00 02 0001AB14 0001 0001 00 0000 00 01 00 00 00 01 00 01 00 01 00 00 00 01 0001 00 01 00 00 00 00 00 00 00 00 0001 00 01 00 00 00 00 00 01 00 00 00 01 00 004、主站收到的全遥测报文:68 F3 0A 00 02 000DAE 0001 4C 009A 99 41 41 00 34 33 97 41 00 67 66 08 C2 00 3333 03 42 00 2E 33 23 41 00 67 66 92 C1 00 66 66 AA C1 00 9A 99 19 B6 00 9A 99 11 C1 00 00 004A 42 00 CE CC 47 C3 00 98 99 41 C2 00 CF 8C 89 C3 00 36 33 29 42 00 66 66 D3 42 00 9B 19 3143 00 02 00 AB 43 00 9A 19 47 43 00 CE 4C 78 C3 00 00 00 C9 42 00 35 33 7D C3 00 00 00 5D C300 FF FF E6 C2 00 68 E6 D8 43 00 CB CC C8 41 00 CF CC D0 C1 00 9C 59 E6 C3 00 CF CC E0 C3 009A 99 AE 42 00 CA 2C 4B 44 00 CD CC 8C 36 00 66 66 80 C2 00 01 80 25 C3 00 96 F9 A1 C4 00 6666 0C C3 00 01 80 B4 43 00 62 66 94 C2 00 66 66 18 C4 00 67 66 1C C3 00 9A 99 70 C3 00 01 80CD C3 00 01 80 D2 43 00 CA 0C 6D 44 00 66 66 26 38 00 97 39 56 44 00 6C 66 38 C2 004、主站收到的总召结束报文:68 0E 0C 00 02 xxxxxxxA0001 00 00 00 00 145、主站发送的对时报文:68 14 02 00 0E xxxxxxxx0001 00 00 00 008E 6D 2C 0B 2F 0B 0A6、主站收到的对时返回:68 14 0E 00 04 xxxxxxxx0001 00 00 00 008E 6D 2C 0B 2F 0B 0A7、主站收到的SOE报文:68 20 12 00 04 001Exxxxxxxx 0003 00 AF 3A 13 1E 03 0003 00 AF 3A 131E 03 008、主站发送的遥控预置报文68 0E 00 00 00 002Exxxxxxxx 0001 60 008d9、主站收到的遥控预置返校报文68 0E 00 00 00 002Exxxxxxxx 0001 60 008d10、主站发送的遥控执行报文68 0E 00 00 00 002Exxxxxxxx 0001 60 000d11、主站收到的遥控执行确定报文68 0E 00 00 00 002Exxxxxxxx 0001 60 000d12、主站发送的遥控撤消报文68 0E 00 00 00 002Exxxxxxxx 0001 60 008d13、主站收到的遥控撤销确认报文68 0E 00 00 00 002Exxxxxxxx 0001 60 008d14、主站收到的变革遥信报文:68 3A 14 00 04 C 0007 00 00 D 00 F 00 00 00 B 00 D 00 00 00 00 B 00 、主站收到的变化遥测报文:。
IEC104规约报文分析(104报文解释的比较好的文本)IEC104规约调试小结一、四遥信息体基地址范围“可设置104调度规约”有1997年和2002年两个版本,在流程上没有什么变化,02版只是在97版上扩展了遥测、遥信等信息体基体址,区别如下:二、一些报文字节数的设置此配置要根据主站来定,有的主站可能设为1,1,2,我们要改与主站一致。
三、以公共地址字节数=2,传输原因字节数=2,信息体地址字节数=3为例对一些基本的报文分析第一步:首次握手(U帧)发送→激活传输启动:68(启动符)04(长度)07(控制域)00 00 00接收→确认激活传输启动:68(启动符)04(长度)0B(控制域)00 00 00第二步:总召唤(I帧)召唤YC、YX(可变长I帧)初始化后定时发送总召唤,每次总召唤的间隔时间一般设为15分钟召唤一次,不同的主站系统设置不同。
发送→总召唤:68(启动符)0E(长度)00 00(发送序号)00 00(接收序号)64(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址即RTU地址)00 00 00(信息体地址)14(区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤)接收→S帧:注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
6804 01 00 02 00接收→总召唤确认(发送帧的镜像,除传送原因不同):68(启动符)0E(长度)00 00(发送序号)00 00(接收序号)64(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址即RTU地址)00 00 00(信息体地址)14(同上)发送→S帧:注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
68 04 01 00 02 00接收→YX帧(以类型标识1为例):68(启动符)1A(长度)02 00(发送序号)02 00(接收序号)01(类型标示,单点遥信)04(可变结构限定词,有4个遥信上送)14 00(传输原因,响应总召唤)01 00(公共地址即RTU地址)03 00 00(信息体地址,第3号遥信)00(遥信分)发送→S帧:68 04 01 00 04 00接收→YX帧(以类型标识3为例):68(启动符)1E(长度)04 00(发送序号)02 00(接收序号)03(类型标示,双点遥信)05(可变结构限定词,有5个遥信上送)14 00(传输原因,响应总召唤)01 00(公共地址)01 00 00(信息体地址,第1号遥信)02(遥信合)06 00 00(信息体地址,第6号遥信)02(遥信合)0A 00 00(信息体地址,第10号遥信)01(遥信分)0B 00 00(信息体地址,第11号遥信)02(遥信合)0C 00 00(信息体地址,第12号遥信)01(遥信分)发送→S帧:68 04 01 00 06 00接收→YC帧(以类型标识9为例):68(启动符)13(长度)06 00(发送序号)02 00(接收序号)09(类型标示,带品质描述的遥测)82(可变结构限定词,有2个连续遥测上送)14 00(传输原因,响应总召唤)01 00(公共地址)01 40 00(信息体地址,从0X4001开始第0号遥测)A1 10(遥测值10A1)00(品质描述)89 15(遥测值1589)00(品质描述)发送→S帧:68 04 01 00 08 00接收→结束总召唤帧:68(启动符)0E(长度)08 00(发送序号)02 00(接收序号)64(类型标示)01(可变结构限定词)0A 00(传输原因)01 00(公共地址)00 00 00(信息体地址)14(区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤)发送→S帧:6804 01 00 0A 00第二步:发送对时报文(通过设置RTU参数表中的”对间间隔”,单位是分钟,一般是20分钟)发送→对时命令:68(启动符)14(长度)02 00(发送序号)0A 00(接收序号)67(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址)00 00 00(信息体地址)01(毫秒低位)02(毫秒高位)03(分钟)04(时)81(日与星期)09(月)05(年)接收→对时确认:68(启动符)14(长度)0C 00(发送序号)02 00(接收序号)67(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址)00 00 00(信息体地址)**(毫秒低位)**(毫秒高位)**(分钟)04(时)81(日与星期)09(月)05(年)发送→S帧:68 04 01 00 0E 00第三步:电度总召唤(如果没有电度此步骤可以省略且可以在对时之前以送.通过设置参数中”全数据扫描间隔”,单位是分钟一般是15分钟召唤一交,如果不需要召唤电度一定要将参数中的电度个数设为0)发送→召唤电度:68(启动符)0E(长度)04 00(发送序号)0E 00(接收序号)65(类型标示)01(可变结构限定词)06 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)接收→召唤确认(发送帧的镜像,除传送原因不同) :68(启动符)0E(长度)10 00(发送序号)06 00(接收序号)65(类型标示)01(可变结构限定词)07 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)发送→S帧:68 04 01 00 12 00接收→电度数据:68(启动符)1A(长度)12 00(发送序号)06 00(接收序号)0F(类型标示)02(可变结构限定词,有两个电度量上送)05 00(传输原因)01 00(公共地址)01 64 00(信息体地址,从0X6401开始第0号电度)00 00 00 00(电度值)00(描述信息)02 64 00(信息体地址,从0X6401开始第1号电度)00 00 00 00(电度值)01(描述信息)发送→S帧:68 04 01 00 14 00接收→结束总召唤帧:68(启动符)0E(长度)14 00(发送序号)06 00(接收序号)65(类型标示)01(可变结构限定词)0A 00(传输原因)01 00(公共地址)00 00 00(信息体地址)45(QCC)发送→S帧:6804 01 00 16 00第四步:如果RTU有变化数据主动上送主动上送变位遥信,类型标识为1或3 接收→变位遥信:68(启动符)0E(长度)16 00(发送序号)06 00(接收序号)01(类型标示,单点遥信)01(可变结构限定词,有1个变位遥信上送)03 00(传输原因,表突发事件)01 00(公共地址即RTU地址)03 00 00(信息体地址,第3号遥信)00(遥信分)发送→S帧:68 04 01 00 18 00接收→变位遥信:68(启动符)0E(长度)18 00(发送序号)06 00(接收序号)03(类型标示,双点遥信)01(可变结构限定词,有1个变位遥信上送)03 00(传输原因,表突发事件)01 00(公共地址即RTU地址)06 00 00(信息体地址,第6号遥信)01(遥信分)发送→S帧:68 04 01 00 1a 00主动上送SOE,类型标识为0x1e(单点YX)或0x1f(双点YX)接收→SOE :68(启动符)15(长度)1a 00(发送序号)06 00(接收序号)1e(类型标示,单点遥信)01(可变结构限定词,有1个SOE)03 00(传输原因,表突发事件)01 00(公共地址即RTU地址)08 00 00(信息体地址,第8号遥信)00(遥信分)ad(毫秒低位)39(毫秒高位)1c(分钟)10(时)7a(日与星期)0b(月)05(年)发送→S帧:68 04 01 00 1c 00接收→SOE :68(启动符)15(长度)1c 00(发送序号)06 00(接收序号)1f(类型标示,双点遥信)01(可变结构限定词,有1个SOE)03 00(传输原因,表突发事件)01 00(公共地址即RTU地址)0a 00 00(信息体地址,第10遥信)01(遥信分)2f(毫秒低位)40(毫秒高位)1c(分钟)10(时)7a(日与星期)0b(月)05(年)第四步:如果主站超过一定时间没有下发报文或RTU也没有上送任何报文则双方都可以按频率发送U帧,测试帧,以检测链路通断。
104规约报文解析IEC104,即国际电工委员会实现的104规约,是一种用于工业自动化的应用层通信协议。
该协议建立在OSI(开放系统互联)参考模型的第3、4层,用于实现远程之间的点到点通信。
104规约是一种采用交流补传技术实现同步控制通信的一种规约,它可以有效降低通讯系统的复杂性,使所有系统设备都可以使用很少的通讯线来支持需要扩展的通讯系统。
104规约报文也被称为控制报文,它具有结构性、可解释性和复合性。
报文的结构包括:报文标识符(MID)、参数(参)、数据类型(DT)、数据(D)及时间标签(T)等等。
这些参数是用来确定报文的内容、类型和通信方式的。
一般来说,报文的参数主要有:报文标识符(MID),报文的参数(PD),报文数据类型(DT),报文数据(D)及时间标签(T)。
报文标识符用来标识报文的类别、功能或者类型,同时也可反映报文本身的功能含义。
报文参数是描述报文功能的依据,可以用于描述报文各部分之间的关系。
报文数据类型是报文数据的描述,可以用来定义报文中数据的格式,如定义报文中数据的长度、精度等。
报文数据是报文的主要内容,可以提供传感器的实时状态、实时数据或者控制信息等。
最后,报文的时间标签说明报文的发送时间。
104规约报文的通信主要采用主从模式,其中从站(slave)负责接收主站(master)发送的报文进行解析,并将解析出的报文参数传递给上层应用处理程序。
在一次传输过程中,从站将从主站收到的报文解析成一组字节,每一组字节由四个8位数字组成。
每一次传输从站将向主站发送三个字节,它们分别是从站的参数数据,报文标识符和报文的时间标签;而主站在发出报文时,会专门发出一个报文标识符和报文时间标签,以便从站进行解析。
主从模式的104规约通信过程有三个不同的传输阶段:数据传输阶段,核实传输阶段和确认传输阶段。
在数据传输阶段,主站向从站发送报文,并要求从站返回相应的确认。
在核实传输阶段,从站向主站发送一个“正确”标识符,以表示收到的报文已经经过正确解析。
iec104 报文格式IEC 104报文格式是一种用于监控和控制系统之间进行通信的协议。
它被广泛应用于电力系统、水务系统和工业自动化等领域。
本文将以IEC 104报文格式为主题,逐步解析其结构和功能。
一、IEC 104简介IEC 104是国际电工委员会(IEC)制定的一种用于监控和控制系统之间通信的协议。
它基于传统的传输控制协议/互联网协议(TCP/IP),为实时监控和控制系统提供了高效、可靠的通信。
IEC 104支持点对点和点对多点的通信模式,并具有高度可靠性和灵活性。
二、IEC 104报文格式IEC 104报文格式采用二进制编码,由报文头、信息体元素和报文尾三部分组成。
每个报文都有一个唯一的传输控制标识符(TI),用于标识报文的类型和功能。
1. 报文头(ASDU头部)报文头包括了ASDU(应用服务数据单元)的相关信息,如ASDU类型、地址、传输原因等。
ASDU是IEC 104协议中最重要的组成部分,用于传输实时监控和控制数据。
2. 信息体元素(Information Object Elements,IOEs)信息体元素是IEC 104协议中负责传输数据的基本单位。
它包含数据标识(地址)、数据类型和具体的数值。
根据不同应用场景和监控要求,IOEs 可以是遥测数据、遥信数据、遥控数据等。
3. 报文尾(ASDU尾部)报文尾是IEC 104报文的结束标识,包括校验码和传输原因。
校验码用于检测传输过程中是否有误码,确保数据传输的可靠性。
传输原因描述了ASDU中所携带数据的产生原因,如周期传输、突发传输等。
三、IEC 104报文功能和应用IEC 104报文格式具有多种功能和应用,下面将逐一介绍。
1. 实时监控IEC 104协议可以实时传输监控系统中的各类数据,包括遥测数据、遥信数据和遥控数据。
通过IEC 104报文格式,监控中心可以实时获取各个终端设备的状态信息,快速响应异常情况,并采取相应措施。
2. 远程控制IEC 104协议支持远程控制操作,通过特定的遥控命令,监控中心可以对终端设备进行远程控制。
104规约遥信报文解析摘要:一、引言二、104规约简介1.规约背景2.规约内容三、遥信报文解析1.遥信报文结构2.报文解析方法3.报文应用案例四、104规约在我国的应用1.应用范围2.我国标准制定五、总结正文:一、引言随着自动化技术的不断发展,电力系统对于遥信报文的需求越来越高。
104规约作为国际上广泛应用的规约,对遥信报文的解析具有重要意义。
本文将对104规约遥信报文进行解析,以期为我国电力系统自动化技术发展提供参考。
二、104规约简介1.规约背景104规约,全称为“IEC 60870-5-104”,是国际电工委员会(IEC)制定的用于电力系统自动化的通信规约。
该规约自1995年首次发布以来,已经经历了多个版本的更新,目前最新版本为2016年的第五版。
104规约在全球范围内得到了广泛的应用,为电力系统的自动化运行提供了有效的通信手段。
2.规约内容104规约主要包括五个部分,分别是:一般原则、应用服务、传输服务、链路服务及网络服务。
其中,应用服务部分定义了规约所支持的各种应用功能,如遥信、遥测、遥控等;传输服务部分规定了数据在通信网络中的传输方式;链路服务部分定义了通信链路建立、维护和断开的过程;网络服务部分规定了网络层的相关功能。
三、遥信报文解析1.遥信报文结构遥信报文是104规约中用于传输遥信信息的数据单元。
一个遥信报文主要包括以下几个部分:起始字符、长度域、控制域、地址域、应用服务数据单元(ASDU)及帧校验和。
其中,ASDU是报文的核心部分,包含了具体的遥信数据。
2.报文解析方法解析遥信报文需要对104规约中定义的各种数据类型进行理解和处理。
首先,需要识别报文的起始字符和长度域,确定报文的长度。
接着,解析控制域,判断报文的类型(如遥信、遥测等)。
然后,解析地址域,获取报文的目标设备地址。
最后,解析应用服务数据单元(ASDU),提取遥信数据。
3.报文应用案例以电力系统中的断路器遥信为例,假设某断路器合闸,可以通过遥信报文进行传输。
[ 指南]iec104 报文解析
1. 变化遥测报文举例:
68 04 07 00 00 00
子站响应帧报文
68 04 0B 00 00 00
2. 链路测试帧报文:
68 04 43 00 00 00
响应帧报文
68 04 83 00 00 00
3. 主站接收数据确认帧报文:
68 04 01 00 5A 02
4( 总召唤上送遥测报文举例:
68 40 18 00 04 00 09 91 14 00 01 0B 70 40 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F4 01 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 说明:0x09 ASDU 类型: 遥测数据。
0x91 可变机构限定词: 第七位定义该帧应用数据的数目,低位在前高位在后。
最高位为1,表示应用数据是信息体地址连续的一串数据,报文中只提供一个起始信息体地址,即第一个遥测的信息体地址,后面的遥测在此地址的基础上递增。
如上报文上送的是起始信息体地址为0x4070 的17 个遥测。
0x0014 传送原因:定义数据上送的原因,低位在前高位在后。
20为召唤上送,一般为响应总召唤。
0x004070 起始信息体地址: 该帧第一个遥测信息体地址,其后信息体地
址在此地址后依次递增。
0x0b01 公共地址: 主站个子站设定的地址,低位在前高位在后。
由主站方确定,子站严格按此地址设定。
00 00 00 遥测实际上送数据:以下每3 个字节一个遥测数据,信息体地址在起始
地址上依次递增。
5( 变化遥测报文举例:
68 3A 00 00 00 00 09 08 03 00 01 0B 01 40 00 45 00 00 02 40 00 CD FF
00 03 40 00 32 00 00 04 40 00 0C 04 00 05 40 00 2C 00 00 06 40 00 0C 04
00 07 40 00 50 00 00 0F 40 00 88 13 00
说明:0x09 ASDU类型:遥测数据。
0x08 可变机构限定词: 第七位定义该帧应用数据的数目,低位在前高位在后。
最高位不为1,表示每个应用数据前带有一个 3 个字节的信息体地址(inf) ,可以不是连续的。
因为是遥测数据,所以每个信息体地址后都有一个3个字节的模拟量数据。
若最高位为1,见2总召遥测报文举例。
本报文上送8 个遥测量。
0x0003 传送原因:定义数据上送的原因,低位在前高位在后。
3表示变化上送,若
20 为召唤上送,1 为主动上送等。
0x0b01 公共地址: 主站个子站设定的地址,低位在前高位在后。
由主站方确定,子站严格按此地址设定。
0x004001 每个遥测数据的信息体地址: 数据点在数据库中的序号,低位在前高位在后。
遥测、遥控、遥信、遥脉的起始地址由主站方给定。
子站数据按该起始地址
上送。
45 00 00 遥测实际上送数据:低位在前高位在后。
如上送的第一个遥测
是0x000045,十进制为69。
6. 遥信变位或告警报文举例:
单点:
68 15 F8 05 DA 00 01 03 03 00 01 0B 72 00 00 01 75 00 00 00 78 00 00
01
双点:
68 15 F8 05 DA 00 03 03 03 00 01 0B 72 00 00 01 75 00 00 02 78 00 00
01
说明:0x01 , 0x03 ASDU类型:单点遥信数据。
0x03 ASDU类型:双点遥信数据。
0x03 可变机构限定词: 第七位定义该帧应用数据的数目,低位在前高位在后。
最高位不为1 ,表示每个应用数据前带有一个 3 个字节的信息体地址(inf) ,可以不是连续的。
因为是遥测数据,所以每个信息体地址后都有一个 1 个字节的开关量数据。
若最高位为1,见 2 总召遥测报文举例。
0x0003 传送原因:定义数据上送的原因,低位在前高位在后。
3表示变化上送,若20 为召唤上送, 1 为主动上送等。
0x0b01 公共地址:主站个子站设定的地址,低位在前高位在后。
由主站方确定,子站严格按此地址设定。
0x000075每个遥信数据的信息体地址:数据点在数据库中的序号,低位在前高位在后。
0x01 信息体地址后的遥信数据值,单点可以为0 或1;双点可以为0,1,2,
3。
7.总召唤上送遥信或告警报文(单点)举例: 68 15 F8 05 DA 00 01 83 14 00 01 0B 72 00 00 01 00 01
遥信变位或告警报文 ( 双点) 举例:
68 15 F8 05 DA 00 03 83 14 00 01 0B 72 00 00 01 02 03
说明: 定义同 2 召唤遥测。
不同点在于遥测是 3 个字节一个量,遥信是一个字 节。
8.S0E (双点)报文举例:
68 15 F8 05 DA 00 1F 01 03 00 01 OB 72 00 00 02 78 49 35 0E 01 01 00
SOE 单点)报文举例:
68 15 F8 05 DA 00 1E 01 03 00 01 0B 72 00 00 01 78 49 35 0E 01 01 00
说明: 前面定义同遥信。
78 49 35 0E 01 01 00 为动作时间,从后到前依次为 年、月、日、时、分、毫秒 (2 字节) 。
时间为 00年 1月 1日 14时 53分 18808毫 秒(18 秒 808毫秒) 。
9. 遥控报文举例 :
68 0E 4A 01 88 09 2E 01 06 00 07 11 01 60 00 82
68 0E 96 09 4C 01 2E 01 07 00 07 11 01 60 00 82 确认
报文
68 0E 4C 01 8C 09 2E 01 06 00 07 11 01 60 00 02
68 0E 9A 09 4E 01 2E 01 07 00 07 11 01 60 00 02 命令
68 0E 9C 09 4E 01 2E 01 0A 00 07 11 01 60 00 02 68 15 1E 09 4E 01 1F 01 03 00 07 11 02 00 00 02 20 4E 2B 14 0B 01 05
变化 soe 。
68 0E 84 01 2E 0C 2D 01 06 00 07 11 01 60 00 81
选择命令 68 0E 3C 0C 86 01 2D 01 07 00 07 11 01 60 00 81
确认报文 取消遥控命令
主站下发遥合选择命令 子站返回遥合选择命令 主站下发遥合执行命令 子站返回遥合执行确认 子站返回遥合结束报文 68 0E 88 01 30 0C 2D 01 08 00 07 11 01 60 00 81
68 0E 40 0C 8A 01 2D 01 09 00 07 11 01 60 00 C1
返回撤销确认报文(C=8+QU)
说明:0x2E ASDU类型:双点遥控。
0x2D ASDL类型:单点遥控。
0x01 可变结构限定词。
0x0006 传送原因。
主站下发报文:
0x06: 激活;0x08: 停止激活。
子站响应报文:
0x07: 激活确认;0x09: 停止激活确认;0x0a: 激活终止。
0x1107 公共地址。
0x6001 信息体地址。
遥控点在遥控转发表中的序号。
0x82 仅仅高位为1 为选择,低两位双点遥控2为合,1为分。
单点遥控1为合,0为分。