104规约总结「建议收藏」

104规约总结「建议收藏」一.概念遥测:远程测量。采集并传送运行参数,包括各种电气量(线路上的电压、电流、功率等量值)和负荷潮流等。遥控:远程控制。接受并执行遥控命令,主要是分合闸,对远程的一些开关控制设备进行远程控制。遥信:远程信号。采集并传送各种保护告警和开关量信息。遥调:远程调节。接受并执行遥调命令,对远程的控制量设备进行远程调试,如调节发电机输出功率。二.基地址对比类别1997版基地址2002版基地址遥信1H—-400H1H—-4000H遥测701H–

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

一. 概念

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

二.基地址对比

类别 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 响应总召唤

八.过程描述

以公共地址字节数=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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151391.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • sql server之pivot函数「建议收藏」

    PIVOT用于将列值旋转为列名(即行转列)今天整理以前的笔记时,发现以前在PPD实习的时候遇到一个场景,感觉很实用所以想记录一下,说不定以后能用到,话不多说,直接上案例:–表table1问题编号时间节点listing_sizeTotalAmount1.120140-1k623.9001.12014…

  • Netty学习之读netty权威指南(一)

    Netty学习之读netty权威指南(一)大家问我为什么读这个来学netty,嗯嗯嗯??我也说不上来,因为我以前看过某个培训班的课程,初步了解了一下netty,但是现在回想一下发现我所有的知识基本忘光了,不过没关系,慢慢来,一点一点的找回来不久好了吗,现在开始咱们读一读Netty权威指南这本书,学习一下Netty。当然了不会全部按照这本书来,我会加上自己学习的东西。I/O演进之路JDK1.4以前Java对IO的支持不完…

  • TFS(Team Foundation Server)介绍和入门

    TFS(Team Foundation Server)介绍和入门

  • python利用flask_mail、sendgrid发送邮件[通俗易懂]

    python利用flask_mail、sendgrid发送邮件[通俗易懂]在学习Flask,看的书籍是《FlaskWeb开发实战入门、进阶与原理解析》。在学习发送电子邮件这一章节时,遇到一些问题,便写下这一篇文章,记录一下,也希望遇到同样问题的人能够花较少时间在解决问题上。本文包括Flask_Mail发送电子邮件和SendGrid发送电子邮件两部分。Gmail、Outlook、QQ邮箱等这类服务被称为EPA(EmailServiceProvider),只适…

    2022年10月28日
  • 如何用jmeter做性能测试并分析测试结果(jmeter负载测试步骤)

    Jmeter是一款轻量型的优秀测试软件产品,在很多场合如个人测试,企业测试中都有广泛应用。相比体积巨大的Lr我们在某些场合可能更倾向于对Jmeter的使用,那么我们要如何利用该软件进行性能测试呢?首先我们需要下载安装这款全免费的测试软件Jmeter,下载地址如下:http://jmeter.apache.org/download_jmeter.cgi按图中操作,下载好压缩包,解压安装即可

  • EwebEditor漏洞[通俗易懂]

    EwebEditor漏洞[通俗易懂]一、后台上马漏洞各位站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEdito

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号