IEC104规约流程

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

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

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

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

索引项目

部分报文字节个数

参数地址范围

流程

常用类型标识

常用传送原因列表

CP56Time2a时标格式

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

部分报文字节个数

类别

配置范围

公共地址字节数

12

传输原因字节数

12

信息体地址字节数

23

参数地址范围

类别

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个字节)14QOI,区分是总召唤还是分组召唤,如果是2002版基地址的没有分组召唤)

接收―>S:(记录接收到的长帧,双方都可以按频率发送,文本规定最多接收8I帧回答一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:(记录接收到的长帧,双方都可以按频率发送,文本规定最多接收8I帧回答一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个字节,从第0x7010号遥测开始)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个字节) 14QOI

发送―>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个字节)45QCC

接收―>召唤确认(发送帧的镜像,除传送原因不同)

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个字节,0xc010号电度)00 00 00 00(电度值)00(描述信息)02 0C 00(信息体地址,3个字节,0xc011号电度)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个字节) 45QCC

发送―>S:

  1. 04 01 00 16 00

第四步:如果RTU有变化数据主动上送

主动上送变位遥信,类型标识为13

接收―>变位遥信:

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主动上送,类型标识为0x1e0x1f

接收―>SOE

68(启动符) 15(长度) 1a 00(发送序号,2个字节) 06 00接收序号,2个字节) 1E(类型标识,单点)01(可变结构限定词,1SOE 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(可变结构限定词,1SOE 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= 402(控合)

发送―>遥控撤销:68(启动符) 0E(长度) 04 00(发送序号,2个字节) 18 00(接收序号,2个字节)2E(类型标识)01(可变结构限定词)08(传送原因,2个字节)01 00(公共地址,即RTU站址,2个字节) 05 0B 00(信息体地址,3个字节,遥控号=0xb05-0xb01= 402(控合)

接收―>撤销确认:68(启动符) 0E(长度) 12 00 (发送序号,2个字节)08 00(接收序号,2个字节)2E(类型标识)01(可变结构限定词) 09 00(传送原因,2个字节,,停止激活确认)01 00(公共地址,即RTU站址,2个字节)05 0B 00(信息体地址,3个字节,遥控号=0xb05-0xb01= 402(控合)

  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―――CP56Time2a7个字节)时标的单点信息

0x1f―――CP56Time2a7个字节)时标的双点信息

KWH0x0f―――不带时标的电能脉冲计数,每个值占5个字节

0x10―――3个字节短时标的电能脉冲计数,每个值占8个字节

0x25―――7个字节时标的电能脉冲计数,每个值占12个字节

其他:

0x2e―――双点遥控

0x2f―――双点遥调

0x64―――召唤全数据

0x65―――召唤全电度

0x67―――时钟同步

2.常用传送原因列表:

1 ---周期、循环

2 ---背景扫描

3 ---突发

4 ---初始化

5 ---请求或被请求

6 ---激活

7 ---激活确认

8 ---停止激活

9 ---停止激活确认

0x0a---激活结束

0x14---响应总召唤

3CP56Time2a时标格式

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • springmvc接收字符串转list

    springmvc接收字符串转list多次试了下传入数组或者listjson格式感觉还是有问题。后面用最傻的方法先把参数设置成String类型传入到后台再做转换 publicObjectsaveScenceCheckDraw(CheckDrawingscheckDrawings,StringdrawingImgList){      GsonBuilderbuilder=newGsonBuilder();  …

    2022年5月14日
    69
  • oracle删除索引并释放空间_oracle日志文件 定期清理

    oracle删除索引并释放空间_oracle日志文件 定期清理1.背景概述近期应用升级上线过程中,存在删除业务表索引的变更操作,且因删除索引导致次日业务高峰时期,数据库响应缓慢的情况,经定位是缺失索引导致。与用户沟通,虽然变更中删除索引的需求很少,但也存在此类需求。本文从数据库层面,旨在尽可能避免类似问题发生,制定删除索引的变更规范。2.索引删除规范若确认需要做索引删除,可以使用Oracle提供的两个功能特性协助判断删除索引是否会有隐患。2.1增加索引监控…

    2025年9月15日
    5
  • 预防鼠标手

    预防鼠标手

    2021年8月7日
    49
  • Exhibitor(zookeeper监控工具)[通俗易懂]

    Exhibitor(zookeeper监控工具)[通俗易懂]具体看github上的文档,很详细https://github.com/soabase/exhibitor/wiki/Running-Exhibitor一、这个是Netflix出品的一个监控工具,但实际上也很难用。。Exhibitor的主要功能监控本机的Zookeeper服务,可以自动重启挂掉的Zookeeper服务;定期备份数据;定期清理Zookeeper日志;提供了一个We…

    2025年7月4日
    4
  • ORACLE时间函数(SYSDATE)简单理解

    ORACLE时间函数(SYSDATE)简单理解加法 nbsp selectsysdat add months sysdate 12 fromdual 加 1 年 nbsp selectsysdat add months sysdate 1 fromdual 加 1 月 nbsp selectsysdat to char sysdate 7 yyyy mm ddHH24 MI SS fromdual 加 1 星期 nbsp sele

    2025年8月19日
    2
  • 5个Web前端开发软件,零基础入门完全够用了!

    对于刚刚入行不久的Web前端编程小白来说,在开发工具的选择方面或许会显得有些力不从心,毕竟网络上众说纷纭,相关的开发工具也是非常之多,以至于许多小伙伴一时不知道从何下手。为了解决这个问题,今天就为大家介绍几个不错的开发工具,感兴趣的朋友可以自己尝试一下:1、Notepad++这个软件就不多说了,记事本的增强版,主要应用在Windows平台下,大部分人都应该使用过,非常轻巧灵活,运行速度快,支持多窗口切换,可编辑语言也非常多,自动补全、语法提示和检查等功能都不错,对于前端开发入门来说,可以作为一个不错的选

    2022年4月9日
    53

发表回复

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

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