威胜102协议查询总电量流程报文实例

1.介绍

        因为业务需要对接威胜102协议进行数据采集,威胜102协议是在IEC102规约的基础上由威胜自定义的数据采集协议。

        本文为采集设备电量的报文流程。

2.威胜102协议格式

        固定帧格式

10H

控制域

地址

地址

校验和

16H

        可变帧长格式

68H

长度L低字节

长度L高字节

68H

控制域

地址

地址

链路用户数据

校验和

16H

        用户数据:

“链路用户数据” 

1

类型标识

2

可变结构限定词

3

传送原因

4

数据终端设备地址

5

记录地址

6

信息对象1

7

信息对象2

…  …

信息对象n

3.第一步:连接设备进行校验

发送命令报文为:

68 11 00 68 4E FF 69 01 05 00 00 70 08 D5 D5 D5 D5 D5 D5 D5 D5 DC 16

解析:此报文为校验密码(每次通讯,必须先校验密码,默认密码为:8 0xD5 如果超过 3 分钟没有通信, 需重新校验密码)

68 (1字节 1):帧头字节(开始)

11 00(2个字节 2~3) :0x0011=17个字节帧长度,从[控制域]到[校验和]之前所有字节数和

68 (1字节 4):帧头字节(结束)

4E(1字节 5):控制域字节(帧控制及描述) 0x4E:校对/查询终端连接密码

FF(1字节 6):链路地址域: 0xFF=255:专线MODEM或广播命令

69(1字节7):类型标识:0x69:校对密码

01(1字节8):可变限定词QNUM  Bit7=1 表示连续数据(不用) ,b0-b6为数据个数

05(1字节9):传输原因  05 请求/被请求 主站/子站

00(XL终端地址低) 00(XH终端地址高)(2字节 10~11):0x0000 表示数据终端设备地址

70(1字节 12):记录地址 0x70 表示

08(1字节 13): 密码字节数 0x08 = 8字节

D5 D5 D5 D5 D5 D5 D5 D5 (14~21):默认密码为8 0xD5

DC(1字节 22): 校验和指的是从控制域开始到校验码之前所有字节的累加和

16(23):帧尾字节 固定0x16

接收报文为:

10 8B 00 00 8B 16 //校验成功

解析:

10 :固定格式开头 0x10

8B :控制域 0x8B:前置机执行主站命令成功

00 00 :地址

8B:校验和 :校验和指的是从控制域开始到校验码之前所有字节的累加和

16 :结束符 固定0x16

10 85 00 00 85 16 //校验失败

解析:

10 :固定格式开头 0x10

85 :控制域 0x85:终端否定式确认

00 00 :地址

85:校验和 :校验和指的是从控制域开始到校验码之前所有字节的累加和

16 :结束符 固定0x16

4.第二步:查询终端系统时间

发送:10 48 00 00 48 16

解析:

10 :固定格式开头 0x10

48 :控制域 0x48:主站召唤终端系统时钟

00 00 :地址

85:校验和 :校验和指的是从控制域开始到校验码之前所有字节的累加和

16 :结束符 固定0x16

接收:68 0F 00 68 88 FF 48 01 05 00 00 30 24 04 07 17 11 53 01 B0 16

解析:

68 :帧头字节(开始)

0F 00 :长度0x000F = 15

68 :帧头字节(结束)

88:控制域 0x88:终端带数据的肯定式确认

FF:0xFF链路地址域

48:类型标志 0x48 = 72 采集器的当前系统时间

01:可变结构限定词

05:传送原因 :0x05 请求/被请求  主站/子站

00 00:公共地址:0x0000

30:记录地址 0x30 = 48 终端系统

24 04 07 17 11 53: 系统时钟当前时间:格式(年-月-日 时:分:秒)24-04-07 17:11:53

01:0.1s

B0: 检验和

16: 结束符

5.第三步:召唤总电量

发送: 68 0E 00 68 4B FF 66 01 05 01 00 10 0F 24 04 07 16 50 6B 16

解析:

68 :帧头字节(开始)

0E 00:长度0x000E = 14字节

68:帧头字节(结束)

4B:控制域 0x4B:主站召唤数据

FF:链路地址域 0xFF:广播下传

66:类型标识0x66:读某时间内带时标的信息

01:可变结构限定词

05:传送原因

01 00:数据设备终端地址

10:记录地址 0x10:总电量数据库

0F:查询数据个数

24 04 07 16 50:查询数据起始时间 年-月-日 时:分 24-04-07 16:50

读终端内的数据,请将请求数据报文中的时间根据读到的终端时钟往前减 15 分钟。比如:

终端时钟为 2012-04-10 10:51:57,则请求数据时间应为 2012-04-10 10:36:00

6B:检验和

16:结束符

接收:

68 7F 01 68 88 FF 01 0F 05 01 00 10 A1 06 00 24 04 07 17 00 08 25 0A 00 00 D1 04 00 00 00 00 00 00 00 00 00 00 A1 17 00 24 04 07 17 00 08 08 00 00 00 B6 00 00 00 00 00 00 00 00 00 00 00 A1 21 00 24 04 07 17 00 08 65 50 00 00 71 0B 00 00 00 00 00 00 00 00 00 00 A1 07 00 24 04 07 17 00 08 09 0A 00 00 6D 04 00 00 00 00 00 00 00 00 00 00 A1 11 00 24 04 07 17 00 08 6B 00 00 00 78 01 00 00 00 00 00 00 00 00 00 00 A1 01 00 24 04 07 17 00 08 33 0A 00 00 82 07 00 00 00 00 00 00 00 00 00 00 A1 18 00 24 04 07 17 15 08 06 2F 00 00 78 1B 00 00 00 00 00 00 00 00 00 00 A1 04 00 24 04 07 17 15 08 8F 0A 00 00 1F 04 00 00 00 00 00 00 00 00 00 00 A1 08 00 24 04 07 17 15 08 11 0A 00 00 6F 04 00 00 00 00 00 00 00 00 00 00 A1 15 00 24 04 07 17 15 08 15 00 00 00 9B 00 00 00 00 00 00 00 00 00 00 00 A1 19 00 24 04 07 17 15 08 BA 50 00 00 EA 14 00 00 00 00 00 00 00 00 00 00 A1 05 00 24 04 07 17 15 08 2E 0A 00 00 D3 04 00 00 00 00 00 00 00 00 00 00 A1 09 00 24 04 07 17 15 08 36 00 00 00 C9 00 00 00 00 00 00 00 00 00 00 00 A1 13 00 24 04 07 17 15 08 62 00 00 00 F9 04 00 00 00 00 00 00 00 00 00 00 A1 03 00 24 04 07 17 15 08 8F 0A 00 00 1F 04 00 00 00 00 00 00 00 00 00 00 4C 16

68: 帧头字节(开始)

7F 01: 0x017F= 383字节帧长度,从[控制域]到[校验和]之前所有字节数

68: 帧头字节(结束)

88:控制域 0x88 终端带数据的肯定式确认

FF: 链路地址域 0xFF

01:类型标识 0x01:终端返回主站指定信息,“信息对象”采用类型1格式

0F:可变限定词QNUM  Bit7=1 表示连续数据(不用) ,b0-b6为数据个数

05:传输原因  COT

01 00:公共地址 0001 

10:记录地址0x10 

A1: 0xA1有效 0xE1 无效

06 00:线路0006  BCD码  表示十进制数 17

24 04 07 17 00 08 :数据采集时间 格式:年-月-日 时:分:秒 2024-04-07 17:00:08

25 0A 00 00 :正向有功:00000A25=2597   保留4位小数即0.2597kwh

D1 04 00 00 :正向无功:000004D1=1233   保留4位小数即0.1233kwh

00 00 00 00 :反向无功:00000000=0 保留4位小数即0.0kwh

00 00 00 00 :反向有功:00000000=0 保留4位小数即0.0kwh

A1:0xA1有效 0xE1 无效

17 00 : 线路0017  BCD码  表示十进制数 17 

24 04 07 17 00 08:数据采集时间 格式:年-月-日 时:分:秒 2024-04-07 17:00:08

08 00 00 00:正向有功:00000008=8   保留4位小数即0.0008kwh

B6 00 00 00: 正向无功:000000B6=182   保留4位小数即0.0182kwh

00 00 00 00: 反向无功:00000000=0 保留4位小数即0.0kwh

00 00 00 00: 反向有功:00000000=0 保留4位小数即0.0kwh

A1 21 00 24 04 07 17 00 08 65 50 00 00 71 0B 00 00 00 00 00 00 00 00 00 00

A1 07 00 24 04 07 17 00 08 09 0A 00 00 6D 04 00 00 00 00 00 00 00 00 00 00

A1 11 00 24 04 07 17 00 08 6B 00 00 00 78 01 00 00 00 00 00 00 00 00 00 00

A1 01 00 24 04 07 17 00 08 33 0A 00 00 82 07 00 00 00 00 00 00 00 00 00 00

A1 18 00 24 04 07 17 15 08 06 2F 00 00 78 1B 00 00 00 00 00 00 00 00 00 00

A1 04 00 24 04 07 17 15 08 8F 0A 00 00 1F 04 00 00 00 00 00 00 00 00 00 00

A1 08 00 24 04 07 17 15 08 11 0A 00 00 6F 04 00 00 00 00 00 00 00 00 00 00

A1 15 00 24 04 07 17 15 08 15 00 00 00 9B 00 00 00 00 00 00 00 00 00 00 00

A1 19 00 24 04 07 17 15 08 BA 50 00 00 EA 14 00 00 00 00 00 00 00 00 00 00

A1 05 00 24 04 07 17 15 08 2E 0A 00 00 D3 04 00 00 00 00 00 00 00 00 00 00

A1 09 00 24 04 07 17 15 08 36 00 00 00 C9 00 00 00 00 00 00 00 00 00 00 00

A1 13 00 24 04 07 17 15 08 62 00 00 00 F9 04 00 00 00 00 00 00 00 00 00 00

A1 03 00 24 04 07 17 15 08 8F 0A 00 00 1F 04 00 00 00 00 00 00 00 00 00 00

4C: 校验和

16:结束符 固定0x16

6.第四步:持续召唤总电量

发送: 10 4A 10 0F 69 16

解析:

10:帧头 0x10

4A:控制域 0x4A:续传

10:记录地址 0x10:总电量数据库

0F: 数据条数: 0x0F=15条

69:校验码

16:结束符

接收:68 7F 01 68 88 FF 01 0F 05 01 00 10 A1 20 00 24 04 07 17 15 08 49 26 00 00 10 18 00 00 00 00 00 00 00 00 00 00 A1 10 00 24 04 07 17 15 08 0B 00 00 00 E5 00 00 00 00 00 00 00 00 00 00 00 A1 14 00 24 04 07 17 15 08 6A 00 00 00 B5 0C 00 00 00 00 00 00 00 00 00 00 A1 12 00 24 04 07 17 15 08 52 00 00 00 9E 01 00 00 00 00 00 00 00 00 00 00 A1 16 00 24 04 07 17 15 08 0A 00 00 00 1E 01 00 00 00 00 00 00 00 00 00 00 A1 02 00 24 04 07 17 15 08 3D 0A 00 00 84 07 00 00 00 00 00 00 00 00 00 00 A1 06 00 24 04 07 17 15 08 2F 0A 00 00 D3 04 00 00 00 00 00 00 00 00 00 00 A1 17 00 24 04 07 17 15 08 08 00 00 00 B6 00 00 00 00 00 00 00 00 00 00 00 A1 21 00 24 04 07 17 15 08 90 50 00 00 7A 0B 00 00 00 00 00 00 00 00 00 00 A1 07 00 24 04 07 17 15 08 12 0A 00 00 6F 04 00 00 00 00 00 00 00 00 00 00 A1 11 00 24 04 07 17 15 08 6B 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 A1 01 00 24 04 07 17 15 08 3D 0A 00 00 84 07 00 00 00 00 00 00 00 00 00 00 A1 18 00 24 04 07 17 30 08 33 2F 00 00 8D 1B 00 00 00 00 00 00 00 00 00 00 A1 04 00 24 04 07 17 30 08 96 0A 00 00 20 04 00 00 00 00 00 00 00 00 00 00 A1 08 00 24 04 07 17 30 08 19 0A 00 00 71 04 00 00 00 00 00 00 00 00 00 00 A2 16

7.第五步: 结束电量召唤

发送: 10 4A 10 0F 69 16

持续发送电量召唤命令

接收: 10 89 00 00 89 16

解析:

10:帧头 0x10

89:控制域 0x89:终端无数据响应

00 00:地址

89:校验和

16:结束符

7.结束

本文为交流使用,如有疑问请评论留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值