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

IEC104规约流程

作者头像
全栈程序员站长
发布2022-08-31 14:50:30
7420
发布2022-08-31 14:50:30
举报

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

该规约在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.cn/151351.html原文链接:https://javaforall.cn

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档