多表位通讯协议常见指令举例

2018-05-2314:44:43 评论 934 views

友情提示:本文章内容仅适用于如下图示系列仪器的单相或三相多表位电能表检定装置。

提示:可以先进入"设置参数[II]"或"Set Parameter[II]"界面,然后通过发送下面的命令观察勾选情况。

//3.14 设置对应表位是否挂表:
//同时取消所有表位:
68 10 02 33 33 E0 16
//勾选第1个表位:
68 10 02 34 33 E1 16
//勾选第2个表位:
68 10 02 35 33 E2 16
//勾选第3个表位:
68 10 02 37 33 E4 16
//勾选第1和第3个表位:
68 10 02 38 33 E5 16
//勾选第2和第3个表位:
68 10 02 39 33 E6 16
//勾选3个表位:
68 10 02 3A 33 E7 16

三相多表位装置:

提示:可以先进入"设置参数[II]"或"Set Parameter[II]"界面,然后通过发送下面的命令观察勾选情况。

//3.14 设置对应表位是否挂表,以下以设置三相四线为例:
//同时取消所有表位:
68 10 02 33 35 E2 16
//勾选第1个表位:
68 10 02 34 35 E3 16
//勾选第2个表位:
68 10 02 35 35 E4 16
//勾选第3个表位:
68 10 02 37 35 E6 16
//勾选第1和第3个表位:
68 10 02 38 35 E7 16
//勾选第2和第3个表位:
68 10 02 39 35 E8 16
//勾选第1、第2和第3个表位:
68 10 02 3A 35 E9 16
//反向:
68 10 02 3A 55 09 16
//2020-12-21 更新
//勾选第1、2、3、4、5个表位:
68 10 02 52 35 01 16

单相或三相装置通用举例

提示:可以先发送命令,然后进入"设置参数[II]"或"Set Parameter[II]"界面,观察对应位置的被校表常数是否符合预期

//3.15 圈数为1B的数据格式

//假如:设置“位置1”的被校表常数为“1801.0”:

//  因为被校表常数为1801.0 imp/kWh,那么1801.0对应的浮点数就是:0x44E12000,

//  根据协议规定需要+0x33处理,所以该浮点数的十六进制形式+0x33处理后

//  就是:0x77145333(实际发送时按低端模式处理)

68 11 0A 33 53 14 77 33 33 33 33 33 33 C6 16

//位置1 被校表常数: 6800

//  因为被校表常数为6800.0 imp/kWh,那么6800.0对应的浮点数就是:0x45D48000,

//  根据协议规定需要+0x33处理,所以该浮点数的十六进制形式+0x33处理后

//  就是:0x7807B333(实际发送时按低端模式处理)

68 11 0A 33 B3 07 78 33 33 33 33 33 33 1A 16

//位置2 被校表常数 1801.0

68 11 0A 33 53 14 77 33 33 33 33 33 34 C7 16

//位置3 被校表常数 1801.0

68 11 0A 33 53 14 77 33 33 33 33 33 35 C8 16

//3.15 假如仪器返回如下误差数据:

//DATA1: 0x33-0x33=0x00 表示"1-表号"

//DATA2-DATA5部分解析: 13 A0 96 F0

//    0x13-0x33=0xE0

//    0xA0-0x33=0x6D

//    0x96-0x33=0x63

//    0xF0-0x33=0xBD

//    那么也就是0xBD636DE0=-0.055525(单浮点),即:"1-表号"位置的被校表误差为-0.055525

//DATA6:0x34-0x33=0x01 表示"2-表号"

//DATA7-DATA10:同理

//DATA11:0x35-0x33=0x02 表示"3-表号"

//DATA12-DATA15:同理

//下面使用了不同的背景色对3个位置的数组单元进行了标记.

68 F1 0F 33 13 A0 96 F0 34 13 A0 96 F0 35 13 A0 96 F0 AF 16

3.15 圈数为4B的数据格式
//假如:设置“位置1”的被校表常数为“1801.0”:
//DATA1~DATA4: 33 53 14 77 = 0x77145333 , 因为被校表常数为1801.0 imp/kWh,
//             那么1801.0对应的浮点数就是:0x44E12000, 根据协议规定需要+0x33处理,
//            所以该浮点数的十六进制形式+0x33处理后,就是:0x77145333(实际发送时
//            按低端模式处理)
//DATA5~DATA8: 33 33 33 33
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    外接标准表常数设置为0x00000000
//DATA9: 0x33-0x33=0x00 表位编号,此处表示表位1
//DATA10~DATA13: 39 33 33 33  校验圈数
//    0x39-0x33=0x06
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    所以校验圈数为0x06
//DATA14: 0x34-0x33=0x01,1-PC使能仪器计算误差
68 11 0E 33 53 14 77 33 33 33 33 33 39 33 33 33 34 9D 16
设置“位置2”的被校表常数为“1801.0”:
//DATA1~DATA4: 33 53 14 77 = 0x77145333 , 因为被校表常数为1801.0 imp/kWh,
//             那么1801.0对应的浮点数就是:0x44E12000, 根据协议规定需要+0x33处理,
//            所以该浮点数的十六进制形式+0x33处理后,就是:0x77145333(实际发送时
//            按低端模式处理)
//DATA5~DATA8: 33 33 33 33
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    外接标准表常数设置为0x00000000
//DATA9: 0x34-0x33=0x01 表位编号,此处表示表位2
//DATA10~DATA13: 39 33 33 33  校验圈数
//    0x39-0x33=0x06
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    所以校验圈数为0x06
//DATA14: 0x34-0x33=0x01,1-PC使能仪器计算误差
68 11 0E 33 53 14 77 33 33 33 33 34 39 33 33 33 34 9E 16
设置“位置3”的被校表常数为“1801.0”:
//DATA1~DATA4: 33 53 14 77 = 0x77145333 , 因为被校表常数为1801.0 imp/kWh,
//             那么1801.0对应的浮点数就是:0x44E12000, 根据协议规定需要+0x33处理,
//            所以该浮点数的十六进制形式+0x33处理后,就是:0x77145333(实际发送时
//            按低端模式处理)
//DATA5~DATA8: 33 33 33 33
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    外接标准表常数设置为0x00000000
//DATA9: 0x35-0x33=0x02 表位编号,此处表示表位3
//DATA10~DATA13: 39 33 33 33  校验圈数
//    0x39-0x33=0x06
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    所以校验圈数为0x06
//DATA14: 0x34-0x33=0x01,1-PC使能仪器计算误差
68 11 0E 33 53 14 77 33 33 33 33 35 39 33 33 33 34 9F 16
设置“位置4”的被校表常数为“1801.0”:
//DATA1~DATA4: 33 53 14 77 = 0x77145333 , 因为被校表常数为1801.0 imp/kWh,
//             那么1801.0对应的浮点数就是:0x44E12000, 根据协议规定需要+0x33处理,
//            所以该浮点数的十六进制形式+0x33处理后,就是:0x77145333(实际发送时
//            按低端模式处理)
//DATA5~DATA8: 33 33 33 33
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    外接标准表常数设置为0x00000000
//DATA9: 0x36-0x33=0x03 表位编号,此处表示表位4
//DATA10~DATA13: 39 33 33 33  校验圈数
//    0x39-0x33=0x06
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    所以校验圈数为0x06
//DATA14: 0x34-0x33=0x01,1-PC使能仪器计算误差
68 11 0E 33 53 14 77 33 33 33 33 36 39 33 33 33 34 A0 16
设置“位置5”的被校表常数为“1801.0”:
//DATA1~DATA4: 33 53 14 77 = 0x77145333 , 因为被校表常数为1801.0 imp/kWh,
//             那么1801.0对应的浮点数就是:0x44E12000, 根据协议规定需要+0x33处理,
//            所以该浮点数的十六进制形式+0x33处理后,就是:0x77145333(实际发送时
//            按低端模式处理)
//DATA5~DATA8: 33 33 33 33
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    外接标准表常数设置为0x00000000
//DATA9: 0x37-0x33=0x04 表位编号,此处表示表位5
//DATA10~DATA13: 39 33 33 33  校验圈数
//    0x39-0x33=0x06
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    0x33-0x33=0x00
//    所以校验圈数为0x06
//DATA14: 0x34-0x33=0x01,1-PC使能仪器计算误差
68 11 0E 33 53 14 77 33 33 33 33 37 39 33 33 33 34 A1 16

//

//3.16 起动试验:

68 12 00 7A 16

//假设 3.16 的返回数据如下:

//DATA1: 0x33-0x33=0x00 表示"1-表号"

//DATA2: 0x3F-0x33=0x0C 表示"1-表号"此时的脉冲数为12

//DATA3-DATA4:同理

//DATA5-DATA6:同理

//根据协议2个字节我一组,所以我下面用不同背景色标记了不同表号位置的数组单元.

68 F2 06 33 3F 34 3F 35 3F B9 16

//DATA1: 0x33-0x33=0x00 表示"1-表号"

//DATA2: 0x40-0x33=0x0D 表示"1-表号"此时的脉冲数为13

//DATA3-DATA4:同理

//DATA5-DATA6:同理

68 F2 06 33 40 34 40 35 40 BC 16

//3.17 潜动试验:

68 13 00 7B 16

//假设 3.16 的返回数据如下:

//DATA1: 0x34-0x33=0x01 表示"2-表号"

//DATA2: 0x34-0x33=0x01 表示"2-表号"此时的脉冲数为1

//DATA3-DATA4:同理

//根据协议2个字节我一组,所以我下面用不同背景色标记了不同表号位置的数组单元.

68 F3 04 34 34 35 34 30 16

//DATA1: 0x33-0x33=0x00 表示"1-表号"

//DATA2: 0x34-0x33=0x01 表示"1-表号"此时的脉冲数为1

68 F3 02 33 34 C4 16

//DATA1: 0x33-0x33=0x00 表示"1-表号"

//DATA2: 0x35-0x33=0x02 表示"1-表号"此时的脉冲数为2

//DATA3-DATA4:同理

//DATA5-DATA6:同理

68 F3 06 33 35 34 35 35 35 9C 16

//3.18 走字试验:

//举例:

//假如在以下条件进行走字试验:

//  1. 只有表位1挂表;

//  2. 内置标准表/正向/有功/三相四线;

//  3. 100V / 5A /0度;

//根据以上需求,操作如下:

//设置参数(3.14):

//DATA1: 0x34-0x33=0x01,表示:表位1挂表,表位2和表位3没有挂表.

//DATA2: 0x35-0x33=0x02,表示:内置标准表/正向/有功/三相四线

68 10 02 34 35 E3 16

//设置电压:

//DATA1: 0xA3-0x33=0x70, 表示设置L3L2L1,控制电压

//DATA2: 0x54-0x33=0x21, 其中高4位表示直接设置,低4位表示电压值为100V的高位为1

// DATA3: 0x33-0x33=0x00, DATA3和DATA4之间固定小数点

// DATA4: 0x33-0x33=0x00

// DATA5: 0x33-0x33=0x00

// DATA6: 0x33-0x33=0x00

68 07 06 A3 54 33 33 33 33 38 16

//设置电流:

//3.6 写控制 设置电流幅值 5.000000A

// DATA1: 0xA4-0x33=0x71=0111 0001,L3L2L1有效 设置电流

// DATA2: 0x53-0x33=0x20=0010 0(后四位作为BCD码的开始),置某一特定幅值

// DATA3: 0x38-0x33=0x05, DATA3和DATA4之间固定小数点

// DATA4: 0x33-0x33=0x00

// DATA5: 0x33-0x33=0x00

// DATA6: 0x33-0x33=0x00

68 07 06 A4 53 38 33 33 33 3D 16

//设置相位值

//3.6 写控制 设置相位: 60°

// DATA1: 0xA6-0x33=0x73=0111 0011,L3L2L1有效 设置电压对电流的相位

// DATA2: 0x53-0x33=0x20=0010 0(后四位作为BCD码的开始),置某一特定幅值

// DATA3: 0x93-0x33=0x60, DATA3和DATA4之间固定小数点

// DATA4: 0x33-0x33=0x00

68 07 04 A6 53 33 33 D2 16

/升U1:

// DATA1: 0x43-0x33=0x10=0001 0000,L1有效 控制电压

// DATA2: 0x73-0x33=0x40=0100 0000,升输出

68 07 02 43 73 27 16

//升U2:

// DATA1: 0x53-0x33=0x20=0010 0000,L2有效 控制电压

// DATA2: 0x73-0x33=0x40=0100 0000,升输出

68 07 02 53 73 37 16

//升U3:

// DATA1: 0x73-0x33=0x40=0100 0000,L3有效 控制电压

// DATA2: 0x73-0x33=0x40=0100 0000,升输出

68 07 02 73 73 57 16

//升I1:

// DATA1: 0x44-0x33=0x11=0001 0001,L1有效 控制电流

// DATA2: 0x73-0x33=0x40=0100 0000,升输出

68 07 02 44 73 28 16

//升I2:

// DATA1: 0x54-0x33=0x21=0010 0001,L2有效 控制电流

// DATA2: 0x73-0x33=0x40=0100 0000,升输出

68 07 02 54 73 38 16

//升I3:

// DATA1: 0x74-0x33=0x41=0100 0001,L3有效 控制电流

// DATA2: 0x73-0x33=0x40=0100 0000,升输出

68 07 02 74 73 58 16

//开始走字:

68 14 08 34 33 33 33 33 33 33 33 1D 16

//假设仪器返回的标准电能数据如下:

//DATA1:  0x63-0x33=0x30 "0"

//DATA2:  0x61-0x33=0x2E "."

//DATA3:  0x63-0x33=0x30 "0"

//DATA4:  0x63-0x33=0x30 "0"

//DATA5:  0x65-0x33=0x32 "2"

//DATA6:  0x69-0x33=0x36 "6"

//DATA7:  0x6A-0x33=0x37 "7"

//DATA8:  0x33-0x33=0x00 "0"

//所以对应的标准电能值就是: 0.00267 kWh

68 F4 08 63 61 63 63 65 69 6A 33 59 16

帧格式:如果仅仅需要控制一台仪器(源或装置),一般情况直接省略掉地址码。

应答帧:仅仅表示当前帧格式是否正确。
正常应答帧:68 9A 00 02 16
错误应答帧:68 9E 00 06 16
  • 相关协议举例:

通讯协议常见指令举例 https://blog.fxian.org/879.html

  • 辅助工具:

ASCII码在线查询 https://www.asciim.cn

浮点数和16进制在线互相转换 https://www.asciim.cn/Hex/float.html

如有任何疑问可以随时和我联系,或者在下发发表评论中讨论。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: