|
回复:关于RS485电能表通讯协议DL645的探讨!
1.总述
本协议参照电力行业通讯标准“DL/T 645-1997”协议编写。基本与标准相同。
2.链路层
2.1字节格式:一个起始位,8个数据位(低位在前),一个偶效验位(E), 一个停止位(S)。
0 D0 D1 D2 D3 D4 D5 D6 D7 E S
2.2命令祯格式
起始符 地址 起始符 控制码 数据长度 数据域 校验和 结束符
(1)起始符: 68H
(2)地址: 6字节.通配地址99H,99H,99H,99H,99H,99H.
(3)控制码定义如下:
D7 D6 D5 D4 D3 D2 D1 D0
D7: 0主站发出 1从站发出
D6: 0正确应答 1错误应答
D5: 0无后续桢 1有后续帧
D4~D0: 00H 保留 01H 读数据(BCD) 03H 读记录仪数据
04H 写数据 08 广播校时 09H 遥控
0AH 写设备地址 0BH 设停止位 0CH 改波特率 0DH 读内部存储区 0EH 写内部存储区 0FH 写密码
10H 需清 21H 读数据(16进制)
(4)数据长度:所有数据域的字节数。读数据时L<=202, 写数据时L<=66。
(5)校验和: 所有祯字节累加和。
(6)结束符: 16H
2.3数据编码
所有的数据域字节采用余三码传送,+33H(发送方)或-33H(接收方)
2.4传输响应时间:
(1)应答延时Td:20ms<Td<500ms
(2)字节间停顿TB: 0<TB<500ms
2.5波特率:
RS485通信固定为1200bps。
2.6前导符:
每祯数据前有2个FEH同步符.
3.应用层
3.1读数据命令帧(返回BCD码数据):
起始符 地址 起始符 控制码 长度 数据域 校验和 结束符
请求祯 68H A0 … A5 68H 01H 02H DI0 DI1 CS 16H
正确应答 68H A0 … A5 68H 81H 02H+L DI0 DI1 数据 CS 16H
错误应答 68H A0 … A5 68H C1H 01H 错误字(注释1) CS 16H
3.2写数据命令帧:
起始符 地址 起始符 控制码 长度 数据
校验和 结束符
请求帧 68H A0 … A5 68H 04H 2+4+L DI0 DI1 密码 数据 CS 16H
正确应答 68H A0 … A5 68H 84H 02H DI0 DI1 CS 16H
错误应答 68H A0 … A5 68H C4H 01H 错误字(注释1) CS 16H
3.3写设备地址:
起始符 地址 起始符 控制码 长度 数据 校验和
结束符
请求祯 68H 99H … 99H 68H 0AH 06H A0 … A6 CS 16H
正确应答 68H A0 … A5 68H 8AH 00H 无 CS 16H
4.备注:
【注释1】数据标示
显示
序号 标识编码 数据格式 数据 长度
(字节) 单位 功能 数据项名称`
DI1 DI0 读/写
1 90 10 XXXXXX.XX 4 kWh * (当前)正向有功总电能(+A)
2 90 1F kWh * (当前)正向有功电能数据块
3 C0 20 XX 1 * 电表运行状态字
4 C0 30 XXXXX 3 imp/ kWh * 电表常数(固定程序写定)
5 C0 32 NNNNNNNNNNNN 6 * * 表号
6 C1 19 XXXXXXXX 4 kWh * * 底度
【注释2】:错误字
D7 D6 D5 D4 D3 D2 D1 D0
EEPROM读写错 费率数超 日段数超 年时区数超 数据超长 密码错 标识符错 非法数据
【注释3】:电表状态各位解释
D7 D6 D5 D4 D3 D2 D1 D0
时钟 继电器 工作模式 有功方向 EPROM 电池电压 计量 需清方式
0正常 0通 0正常 0正向 0正常 0正常 0正常 0自动
1异常 1断 1预付费 1反向 1异常 1欠压 1 窃电 1手动 |
|