| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #ifndef _COMMPOWERMODULE_H
- #define _COMMPOWERMODULE_H
- #define RX_BUF_SIZE_MAX 200 // 接收buf最大长度
- #define TX_BUF_SIZE_MAX 30 // 发送buf最大长度
- #define CFG_PARAM_FUNC 0x1A // 配置参数功能码
- #define READ_CFG_PARAM_FUNC 0x1B // 读配置参数功能码
- #define RX_READ_FUNC 0x81 // 接收的读功能码
- #define RX_WRITE_FUNC 0x82 // 接收的写功能码
- #define TX_READ_FUNC 0x01 // 发送的读功能码
- #define TX_WRITE_FUNC 0x02 // 发送的写功能码
- typedef union{
- struct
- {
- WORD lostVolt : 1; // 电池输入失电告警
- WORD actStatus : 1; // 电池活化状态
- WORD lowVolt : 1; // 电池欠压告警
- WORD overVolt : 1; // 电池过压告警
- WORD offline : 1; // 电池离线告警
- WORD rConnect : 1; // 电池反接告警
- WORD backup : 1; // 备用点
- WORD capAlarm : 1; // 电池容量故障
- #ifdef BATTERY_BP_L500
- WORD R_Alarm : 1; // 内阻异常告警
- WORD OverHeat : 1; // 温度过热告警
- #endif
- }BIT;
- WORD yxStatus;
- }BAT_YX;
- typedef struct{
- WORD batVolt; // 电池电压 单位:0.01v
- WORD capacityVolt; // 电容电压 单位:0.01v
- }BAT_YC;
- typedef struct{
- WORD dischargeTimeMax; // 电池最大放电时间 单位:分钟
- WORD dischargeTimeNow; // 当前放电时长 单位:分钟
- #ifdef BATTERY_BP_L500
- WORD BatteryInResist; // 电池内阻
- WORD BatteryTemp; // 电池温度
- WORD BatteryRtPower; // 电池实时电量
- WORD BatDischageCurrent; //放电电流
- WORD BatRechageCurrent; //充电电流
- #endif
- }BAT_RUN_PARAM;
- typedef union{
- struct{
- WORD rVolt : 1; // 读电池电压标志
- WORD rStatus : 1; // 读电池状态标志
- WORD rRunInfo : 1; // 读系统运行参数标志
- WORD wActStart : 1; // 写活化启动标志
- WORD wActStartRet : 1; // 写活化启动结果标志
- WORD wActStop : 1; // 写活化停止标志
- WORD wActStopRet : 1; // 写活化停止结果标志
- WORD wDischargeStop : 1; // 写放电停止标志
- WORD wDischargeStopRet : 1; // 写放电停止结果标志
- WORD cActData : 1; // 清除活化数据标志
- #ifdef BATTERY_BP_L500
- WORD rBattR : 1; // 读电池内阻标志
- WORD rBattTemp : 1; // 读电池温度标志
- WORD rBattRtPower : 1; // 读电池实时电量标志
- WORD wBattR : 1; // 电池内阻检测标志
- WORD wBattRRet : 1; // 电池内阻检测结果标志
- WORD rBatCurrent : 1; // 读电池充放电电流标志
- #endif
- }BIT;
- WORD m_flg;
- }SIGNAL_FLG;
- typedef struct{
- bool bData; // 接收到完整一帧报文标志
- bool commFault; // 通讯故障
- DWORD sendMesgCount; // 发送报文计数
- BYTE recvFlg; // 接收标志
- BYTE dataLen; // 数据长度
- BYTE recvCount;
- BYTE portChannel;
- BYTE equAddr; // 装置地址
- int recvPos;
- int parsePos;
- BYTE recvBuf[RX_BUF_SIZE_MAX];
- DWORD readYxCount;
- DWORD readRunInfoCount;
- #ifdef BATTERY_BP_L500
- DWORD DetectBattRCount; //电池内阻检测计时
- DWORD ReadBattRCount; //读电池内阻计时
- DWORD ReadBattTempCount; //读电池温度计时
- DWORD ReadBattRtPowerCount; //读电池实时电量计时
- DWORD BatCurrentCount; //查询电池充放电电流计时
- #endif
- BAT_YX tYx;
- BAT_YC tYc;
- BAT_RUN_PARAM tRunParam;
- }COMM_POW_MOD;
- // 函数对外声明
- extern void StartBattAct(void); // 启动电池活化
- extern void StopBattAct(void); // 停止电池活化
- extern void ClearBattActInfo(void); // 清除电池活化信息
- extern void PowerModuleCommInit(COMM_POW_MOD *p_instance,int ch); // 初始化电源模块通讯
- extern void PowerModuleCommRecv(COMM_POW_MOD *p_instance,BYTE rec_data); // 电源模块通讯接收数据
- extern void PowerModuleCommRun(COMM_POW_MOD *p_instance); // 电源模块通讯接口
- #endif
|