IEC104规约流程

IEC104规约流程该规约在DF8900中规约号为104,在DF8002或DF1800系统中规约号一般为99,但也有个别现场因实际情况而不同.97版或2002版IEC104在流程上没有什么变化,只是扩展了遥测遥信等信息体基地址..索引项目部分报文字节个数参数地址范围流程常用类型标识

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

该规约在DF8900中规约号为104,在DF8002或DF1800系统中规约号一般为99,但也有个别现场因实际情况而不同.

97版或2002版IEC104在流程上没有什么变化,只是扩展了遥测遥信等信息体基地址..

索引项目

部分报文字节个数

参数地址范围

流程

常用类型标识

常用传送原因列表

CP56Time2a时标格式

目前无论是DF8900还是DF8002或DF1800系统都可以通过配置”iec104规约配置表.ini”文件来配置下来信息.

部分报文字节个数

类别

配置范围

公共地址字节数

1或2

传输原因字节数

1或2

信息体地址字节数

2或3

参数地址范围

类别

97版基地址

2002版基地址

遥信

1H——400H

1H——4000H

遥测

701H——900H

4001H——5000H

遥控

B01——B80

6001H——6100H

设点

B81H——C00H

6201H——6400H

电度

C01H——C80H

6401H——6600H

  1. 流程

下面以公共地址字节=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个字节)0000 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个字节)0000 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个字节)0000 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个字节)0000 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帧:

  1. 04 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 00

SOE主动上送,类型标识为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 00(传送原因,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 0B 00(信息体地址,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(控合)

  1. 补充说明

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个字节

其他:

0x2e―――双点遥控

0x2f―――双点遥调

0x64―――召唤全数据

0x65―――召唤全电度

0x67―――时钟同步

2.常用传送原因列表:

1 ---周期、循环

2 ---背景扫描

3 ---突发

4 ---初始化

5 ---请求或被请求

6 ---激活

7 ---激活确认

8 ---停止激活

9 ---停止激活确认

0x0a---激活结束

0x14---响应总召唤

3.CP56Time2a时标格式

Miliseconds(D7—D0)

Miliseconds(D15—D8)

IV(D7)

RES1

Minutes(D5–D0)

SU(D7)

RES2

Hours(D4—D0)

DAY of WEEK

DAY ofMONTH(D4—D0)

RES3

Month(D3—D0)

RES4

Years(D6—D0)

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 高斯约尔当法求逆矩阵_高斯约当消元法求逆矩阵

    高斯约尔当法求逆矩阵_高斯约当消元法求逆矩阵介绍了求逆矩阵方法,并附带java与python语言实现

    2022年8月21日
  • MATLAB R2013a license.lic 过期问题[通俗易懂]

    MATLAB R2013a license.lic 过期问题[通俗易懂]MATLAB8.1R2013alicense.lic过期问题转载自:http://blog.csdn.net/chengyq116/article/details/78965102…\MATLAB8.1R2013a\Matlab801\serial\license.lic1.修改系统时间    修改系统时间至之前license.lic时间。

    2022年7月26日
  • 求平方根C++

    求平方根C++

    2021年11月14日
  • swing 事件处理机制

    swing 事件处理机制

    2021年8月31日
  • 数据库设计规范

    数据库设计规范数据库的重要性不言而喻。对程序员来说跟数据库打交道更是家常便饭。数据库给开发带来了巨大的便利。我们或多或少的知道一些数据库设计规范,但并不全面。今天我就简单整理一下,帮自己做个总结梳理,也希望可以帮到小伙伴们。数据库设计规范包括命名规范、库表基础规范、字段规范、索引规范和SQL设计规范。1.命名规范1.1库名、表名、字段名禁止使用MySQL保留字。1.2库名、表名、字段名使…

    2022年7月12日
  • 虚拟机扩容磁盘后扩容分区_如何将磁盘主分区设置为活动分区

    虚拟机扩容磁盘后扩容分区_如何将磁盘主分区设置为活动分区当服务器数据太多的时候,硬盘不足的时候就得考虑扩容,为了不影响业务的正常运行,一般云服务器的本地磁盘都是不支持分区的,因为业务数据通常是不能中断和移动的,无论是增加硬盘或在原有磁盘增加分区的方式扩容,势必会存在卸载、挂载、移动等操作。所以对于云硬盘,如果我们要把他作为数据盘。即使能分区,也最好不要分区,以免以后扩容麻烦。以下用虚拟机看一下对未分区磁盘扩容的效果[root@k8s-node01…

    2022年8月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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