记录DL/T645-2007 的一次调试过程

本文详细介绍了DL/T645-2007协议中的电表数据读取方法,包括电表地址、正向有功总电能、电压、电流及功率等参数的读取过程,并提供了具体的十六进制命令实例,同时讲解了校验码的计算方法及拉闸合闸的操作命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考DL/T645-2007
读电表地址

send: FE FE FE FE 68 AA AA AA AA AA AA 68 13 00 DF 16
recv: FE FE FE FE 68 94 35 21 90 88 55 68 93 06 C7 68 54 C3 BB 88 49 16

读当前正向有功总电能
DI0 DI1 DI2 DI3 : 0 0 1 0
即 33 33 34 33

send: FE FE FE FE 68 94 35 21 90 88 55 68 11 04 33 33 34 33 09 16
recv: FE FE FE FE 68 94 35 21 90 88 55 68 91 08 33 33 34 33 59 35 33 33 81 16

读电压
33 34 34 35

send: FE FE FE FE 68 94 35 21 90 88 55 68 11 04 33 34 34 35 0C 16
recv: FE FE FE FE 68 94 35 21 90 88 55 68 91 06 33 34 34 35 7B 55 5E 16

读电流
33 34 35 35

send: FE FE FE FE 68 94 35 21 90 88 55 68 11 04 33 34 35 35 0D 16
recv: FE FE FE FE 68 94 35 21 90 88 55 68 91 07 33 34 35 35 6B 35 33 63 16

读功率
35 36 33 33

send: FE FE FE FE 68 94 35 21 90 88 55 68 11 04 35 36 33 33 0D 16
recv: FE FE FE FE 68 94 35 21 90 88 55 68 91 08 35 36 33 33 33 33 33 33 5D 16 

CS校验码的计算:
从帧起始符开始到校验码之前的所有各字节的模256的和, 即各字节二进制算术和,不计超过256的溢出值。

也就是最后相加的结果只保留最后一个字节,如果是16进制相加,则最后得到的数与FF相与。

unsigned char cal_cs(unsigned char *data,unsigned char len)
{
    unsigned char sum=0;
    for(int i=0;i<len;i++)
    {
        sum+=data[i];
    }
    sum=sum&0xFF;
    printf("cs is: %02x\n",sum);
    return sum;
}

拉闸与合闸,协议见下图
在这里插入图片描述
例:

/*
密码权限 02
这里的密码为 00 00 00  
N3-N8为时间,如果设为昨天的时间则命令会报错                                   02 40 18 07 07 21  即2021-07-07 18:40:02
拉闸                                 C  L  PA P0 P1 P2 C0 C1 C2 C3 N1 N2 N3 N4 N5 N6 N7 N8 CS END
FE FE FE FE 68 94 35 21 90 88 55 68 1C 10 35 33 33 33 33 33 33 33 4D 33 35 73 4B 3A 3A 54 28 16

合闸
FE FE FE FE 68 94 35 21 90 88 55 68 1C 10 35 33 33 33 33 33 33 33 4F 33 35 73 4B 3A 3A 54 2a 16
*/
拉闸
send: FE FE FE FE 68 94 35 21 90 88 55 68 1C 10 35 33 33 33 33 33 33 33 4D 33 8C 8C 56 3C 3A 54 A5 16
recv: FE FE FE FE 68 94 35 21 90 88 55 68 9C 00 C3 16
合闸
send: FE FE FE FE 68 94 35 21 90 88 55 68 1C 10 35 33 33 33 33 33 33 33 4F 33 8C 8C 56 3C 3A 54 A7 16
recv: FE FE FE FE 68 94 35 21 90 88 55 68 9C 00 C3 16




评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值