前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >104规约总结

104规约总结

作者头像
全栈程序员站长
发布2022-06-24 14:42:02
1.5K0
发布2022-06-24 14:42:02
举报
文章被收录于专栏:全栈程序员必看

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

一. 概念

  • 遥测:远程测量。采集并传送运行参数,包括各种电气量(线路上的电压、 电流、功率等量值) 和负荷潮流等。
  • 遥控:远程控制。接受并执行遥控命令,主要是分合闸,对远程的一些开关控制设备进行远程控制。
  • 遥信:远程信号。采集并传送各种保护告警和开关量信息。
  • 遥调:远程调节。接受并执行遥调命令,对远程的控制量设备进行远程调试,如调节发电机输出功率。

二.基地址对比

类别

1997版基地址

2002版基地址

遥信

1H—-400H

1H—-4000H

遥测

701H—-900H

4001H—-5000H

遥控

B01H—-B80H

6001H—-6100H

设点

B81H—-C00H

6201H—-6400H

电度

C01H—-C80H

6401H—-6600H

三.区分

从报文中的第七个字节区分类型 如0D –》13 (测量值,短浮点数)

  • U格式:不计数的控制功能类型,用于传输控制命令的报文。
在这里插入图片描述
在这里插入图片描述
  • I格式:信息传输格式类型,用于传输含有信息体的报文和确认对方I格式的信息报文。
在这里插入图片描述
在这里插入图片描述
  • S格式:计数的监视功能类型,用于传输对站端的确认的报文。
在这里插入图片描述
在这里插入图片描述

四.总召唤和电度召唤

  • 总召唤:启动时就要发总召,并间隔一定的时间发总召,不然遥信的数据就不会推送过来;
  • 电度召唤(累计值):需间隔一定时间内发电度召唤,将收到电量数据处理,转换为电度。

五.通道

在之前我做过项目中,是根据约定的注册码来区分通道,必须建立连接之后,从站先发注册码(ascII格式),主站再发起始帧,没有接到注册码,不回复报文。

六.常用的类型标识

数据类型

值(16进制)

含义描述

遥信

01

不带时标的单点遥信,每个遥信占1个字节

03

不带时标的双点遥信,每个遥信占1个字节

14

具有状态变位检出的成组单点遥信,每个字节8个遥信

遥测

09

带品质描述的测量值,每个遥测值占3个字节

0A

带3个字节时标的且具有品质描述的测量值,每个遥测值占6个字节

0B

不带时标的标准化值,每个遥测值占3个字节

0C

带3个时标的标准化值,每个遥测值占6个字节

0D

带品质描述的浮点值,每个遥测值占5个字节

0E

带3个字节时标且具有品质描述的浮点值,每个遥测值占8个字节

15

不带品质描述的遥测值,每个遥测值占1个字节

遥脉

0F

不带时标的电能量,每个电能量占5个字节

10

带3个字节短时标的电能量,每个电能量占8个字节

25

带7个字节短时标的电能量,每个电能量占12个字节

SOE

02

带3个字节短时标的单点遥信

04

带3个字节短时标的双点遥信

1E

带7个字节短时标的单点遥信

1F

带7个字节短时标的双点遥信

其他

2E

双点遥控

2F

双点遥调

64

召唤全数据

65

召唤全电度

67

时钟同步

七.传送原因(COT):2字节,低字节在前,高字节在后。

值(16进制)

传送原因描述

01 00

周期、循环

02 00

双点遥调

03 00

突变

04 00

初始化

05 00

请求或被请求

06 00

激活

07 00

激活确认

08 00

停止激活

09 00

停止激活确认

0A 00

激活结束

14 00

响应总召唤

八.过程描述

代码语言:javascript
复制
以公共地址字节数=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帧。
68     04  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帧 :
68      04  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帧 :
68      04  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(控合)

九.超时时间

  • 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/151391.html原文链接:https://javaforall.cn

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 概念
  • 二.基地址对比
  • 三.区分
  • 四.总召唤和电度召唤
  • 五.通道
  • 六.常用的类型标识
  • 七.传送原因(COT):2字节,低字节在前,高字节在后。
  • 八.过程描述
  • 九.超时时间
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档