Files
HBshuiwuConcentrator/hb/hbframe.h
2025-12-15 16:07:49 +08:00

57 lines
1.7 KiB
C

#ifndef _HBFRAME_H
#define _HBFRAME_H
#include "Basedefine.h"
#define HB_DATA_RP_FUN (0x32)
#pragma pack(1)
#define AFN_HEART 0x2F //链路维持报
#define AFN_RP_TIME 0x32 //遥测站定时报
#define AFN_RP_HOURTIME 0x34 //遥测站小时报
#define AFN_QRY_HOURTIME 0x37 //中心站查询遥测站实时数据
#define AFN_QRY_VER 0x45 //查询遥测终端软件版本
#define AFN_INIT 0x47 //初始化固态存储数据
#define AFN_RECOVER 0x48 //恢复终端出厂设置
#define AFN_MODIFY_PWD 0x49 //修改密码
#define AFN_SET_RTC 0x4A //设置遥测站时钟
#define AFN_SET_ICCARD 0x4B //设置遥测终端 IC 卡状态
#define AFN_CTL_SHUIBANG 0x4C //控制水泵开关命令/水泵状态信息自报
#define AFN_CTL_FAMEN 0x4D //控制阀门开关命令/阀门状态信息自报
#define AFN_CTL_ZAMEN 0x4E //控制闸门开关命令/闸门状态信息自报
#define AFN_CTL_WATER_VALUE 0x4F //水量定值控制命令
#define AFN_QRY_EVENT 0x50 //中心站查询遥测站事件记录
#define AFN_QRY_RTC 0x51 //中心站查询遥测站时钟
struct hb_struct
{
u8 head[2]; //帧起始符 2
u8 centeraddr; //中心站地址 1
u8 collectaddr[5]; //遥测站地址 40=28 5
u8 pwd[2]; //密码 (根据主站下发的变化) 2
u8 fn; //功能码
u8 len[2]; //报文上下行标志及长度 0000 上行 1000 下行 60 = 3C 2
u8 start; //报文起始符
u8 serial[2]; //流水号
};
u8 get_center_addr();
u8 * get_hb_addr();
void hbp2from16(unsigned char * p2,unsigned short val);
u16 get_send_serial();
u16 get_password();
#pragma pack()
#endif