首页 > 代码库 > IEC104规约流程
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 |
流程
下面以公共地址字节=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帧:
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.常用类型标识:
遥测: 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)
IEC104规约流程