前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >电力系统104规约帧报文解析

电力系统104规约帧报文解析

作者头像
全栈程序员站长
发布2022-08-31 14:23:12
2.1K0
发布2022-08-31 14:23:12
举报

大家好,又见面了,我是你们的朋友全栈君。

最近被调到电力物联网的项目组,之前一直在做移动终端的我现在在这个项目中得要重新学起了。。~_~!

1.电力系统常见概念

首先介绍一份ppt:https://wenku.baidu.com/view/557ceb87be23482fb5da4c84.html

看着挺好。。。

这边文章主要是解释一些电力系统开发中比较常见的概念,也是给自己做个笔记~~~~~~

电力系统远动(power system telemechanics):为电力系统调度服务的远距离监测、控制技术,即管理和监控分布甚广的众多厂、所、站和设备、元器件的运行工况的一种技术手段。

一般来说,电力系统远动终端RTU(Remote Terminal Unit)具有”四遥”等功能。”四遥”主要指的是 遥测、遥控、遥调、遥信四种。其实从”遥”字面意思上我们也可以看到这注定是一个远程远距离的操控了。

遥测:远程测量。采集并传送运行参数,包括各种电气量(线路上的电压、电流、功率等量值) 和负荷潮流等。

遥控:远程控制。接受并执行遥控命令,主要是分合闸,对远程的一些开关控制设备进行远程控制。 

遥信:远程信号。采集并传送各种保护告警和开关量信息。

遥调:远程调节。接受并执行遥调命令,对远程的控制量设备进行远程调试,如调节发电机输出功率。

一摇:遥信 二遥:遥信和遥测 三遥:遥信、遥测和遥控

2.104规约使用场景

电力系统中常见的设备分为 调度端(控制站、主站、客户机) , 服务端(被控站、子站,典型设备包含TTU、RTU等),两者之间通过104规约来进行数据通信与传输。其传输层实际上使用的是TCP协议进行数据的传输。固定端口号为2404。

服务端不主动发起请求,一直处于侦听状态,当侦听到来自客户机的连接请求后,则接受此请求,由此建立一个TCP链接。控制站(即调度系统)作为客户机,被控站(即站端RTU)作为服务器。

即实际的代码操作为:

主站按照 Socket()->Connect()的顺序进行

RTU(服务器)端按Socket()->Bind()->Listen()->Accept()的顺序进行。

这里我找到一份代码工程,该代码中包含服务端和客户端的VC6.0的源码工程,可以在VC6.0上打开这两个工程,编译两份工程生成主站和子站的带界面的exe文件,可以调试代码,非常方便,可以尝试着边看代码边调试边梳理104的具体流程。

链接:https://pan.baidu.com/s/1Q00O3vfeNKueGri7Bqp0OA 提取码:kj4m

3.帧报文

这里首先提出一个可用于解析104报文的软件,我们可以直接将一条完整的报文贴到该软件中,就可以看到该帧报文所表示的内容含义了。可以直接在搜索引擎上搜索 IEC8705(报文翻译工具).exe 即可。

104规约帧报文分为三大类( I帧、S帧、U帧)

I帧是信息帧,作用是用于传输具体的通信数据的,长度必大于6个字节。

S帧是用于确认接收的I帧,即当接收到I帧后需要返回一个S帧,长度等于6个字节。

U帧是控制帧,用于控制启动/停止子站进行数据传输,或测试TCP链路连接,长度等于6个字节。

帧报文的格式如下所示:

电力系统104规约帧报文解析
电力系统104规约帧报文解析

帧报文实际例子:

1.遥信信息(I格式)

序列号信息连续的单点信息(单点信息包含一个字节)

serversend:

68

1c

00

00

00

00

01

8f

14

00

33

00

01

02

00

01

00

01

00

01

00

01

00

01

00

01

00

01

00

01

1c表示长度为28个字节,从 00000000~~~010001,ASDU长度一共28个字节

报文类型为01,表示该帧报文为单点信息(遥信)

结构限定词为8f(1000 1111),表示数据为连续数值,数量为15,最后面的灰色部分010001~~~010001,共15个字节

原因为 1400==>0014===>20,该帧报文原因为响应站召唤

ASDU公共地址为3300==>0033==>51,站址为51

010200(信息体起始地址)==> 0201H.

个数据:index = 0201H value=01H&0x01 = 1 一与01H对应

个数据:index = 0202H value=00H&0x01 = 0 二与00H对应

个数据:index = 0203H value=01H&0x01 = 1 三与01H对应

………..

第十五个数据:index = 020fH value=01H&0x01 = 1 十五与01H对应

0x01表示为单点遥信,如果是双点遥信,则是数据与0x11做与操作。

2.遥测信息(I格式)

遥测信息采用短整型或短浮点型数据进行传送。短整型数据会占据两个字节。

帧报文类型标识为

0x09:带品质描述(品质描述会占一个字节)的测量值,所以每一个测量值总共占三个字节

0x0a:上述0x09类型另加3个字节时标,一共占6个字节

0x0d:由四个字节的数据值和一个字节的质量位组成,共 五个字节

序列号不连续:

serversend:

68

1c

00

00

00

00

09

03

03

00

33

00

08

07

00

14

00

01

0f

07

00

5a

00

00

13

07

00

82

00

00

09表示带品质描述的测量值

03表示数值不连续,数量为3,不连续的话则说明后面DATA部分都会自带一个数据的地址(地址占三个字节)

0300==>0003==>3 原因为突发

3300==>0033==>51 ,ASDU公共地址为51

3个遥测数据:

addr: 080700==>0708H value:14 00 ==>0014H==>20 quality = 01

addr: 0f0700==>070fH value:5a 00 ==>005aH==>90 quality = 00

addr: 130700==>0713H value:82 00 ==>0082H==>130 quality = 00

3.报文中的时标信息

..

..

0f

07

00

5a

00

00

13

07

00

82

00

16

23

32

10

13

05

08

报文前面的部分这里就不关注,主要看后面的时标部分,一般帧报文中时标信息都是放在报文最后面,且时标一般占7个字节,每一个字节里面的排序为bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0,一般来说bit7都是备用位,值为0。

时标部分每一个字节按照上面的排序表示的含义

毫秒低八位 毫秒高八位 分 时 日 月 年

年:备用(bit7),年(bit6~bit0)

月:备用(bit7~bit4),月(bit3~bit0)

日:星期(bit7~bit5),日(bit4~bit0)

时:夏时制位(bit7),备用(bit6~bit5),小时(bit4~bit0)

分:无效位(bit7),备用(bit6),分钟(bit5~bit0)

毫秒: 低八位 高八位==>高八位 低八位 ==> 组合成毫秒===> xx.xxx秒

根据上面的规则,前面报文的时标表示的时间为:08年5月19日16时50分8秒982毫秒

4.超时时间

t0:连接建立的超时 =30s

规定了主站端和子站RTU端建立一次TCP连接的最大允许时间

t1:发送或测试APDU的超时 =15s

规定发送方发送一个I格式报文或U格式报文后,必须在t1的时间内得到接收方的认可

t2:无数据报文t2<t1时确认的超时 =10s

规定接收方在接收到I格式报文后,若经过t2时间未再收到新的I格式报文,必须向接收方发送S格式帧对已经接收到的I格式帧进行认可

t3:长期空闲t3>t1状态下发送测试帧的超时 =20s

规定调度端或子站RTU端每接收一帧I帧、S帧或者U帧将重新触发计时器t3,若在t3内未接收到任何报文,将向对方发送测试链路帧TESTFR

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151399.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.电力系统常见概念
  • 2.104规约使用场景
  • 3.帧报文
  • 4.超时时间
相关产品与服务
远程调试
远程调试(Remote Debugging,RD)在云端为用户提供上千台真实手机/定制机/模拟器设备,快速实现随时随地测试。运用云测技术对测试方式、操作体验进行了优化,具备多样性的测试能力,包括随时截图和记录调试日志,稳定的支持自动化测试, 设备灵活调度,用例高效执行, 快速定位产品功能和兼容性问题。云手机帮助应用、移动游戏快速发现和解决问题,节省百万硬件费用,加速敏捷研发流程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档