83 lines
2.4 KiB
C
Raw Normal View History

2024-04-12 15:51:41 +08:00
#pragma once
2024-03-19 17:45:12 +08:00
#include "BaseClient.h"
2024-04-12 15:51:41 +08:00
#pragma pack(1)
2024-03-19 17:45:12 +08:00
class Upsstat
{
public:
2024-04-12 15:51:41 +08:00
Upsstat()
: inputVol(new FloatData("inputVol", u8"输入电压: MMM.M"))
, lastVol(new FloatData("lastVol", u8"上一次转电池放电时电压: NNN.N"))
, outputVol(new FloatData("outputVol", u8"输出电压: PPP.P"))
, outputLoad(new IntData("outputLoad", u8"输出负载百分比: QQQ"))
, outputF(new FloatData("outputF", u8"输入频率: RR.R"))
, unitVol(new FloatData("unitVol", u8"电池单元电压: S.SS"))
, tempValue(new FloatData("tempValue", u8"温度: TT.T"))
, isVolError(new BoolData("isVolError", u8"市电异常"))
, isBatteryVolLow(new BoolData("isBatteryVolLow", u8"电池电压低"))
, isBypassMode(new BoolData("isBypassMode", u8"旁路模式"))
, isUpsError(new BoolData("isUpsError", u8"UPS 故障"))
, upsType(new BoolData("upsType", u8"UPS 后备式 (0 :在线式)"))
, isTesting(new BoolData("isTesting", u8"测试进行中"))
, isShutdown(new BoolData("isShutdown", u8"关机"))
{
//inputVol = 0;
//lastVol = 0;
//outputVol = 0;
//outputLoad = 0;
//outputF = 0;
//unitVol = 0;
//tempValue = 0;
//isVolError = false;
//isBatteryVolLow = false;
//isBypassMode = false;
//isUpsError = false;
//upsType = false;
//isTesting = false;
//isShutdown = false;
2024-03-19 17:45:12 +08:00
}
~Upsstat(){}
public:
BaseStat baseStat;
2024-04-12 15:51:41 +08:00
char m_startFlag; //开始标记
FloatData* inputVol; //输入电压: MMM.M
FloatData* lastVol; //上一次转电池放电时电压: NNN.N
FloatData* outputVol; //输出电压: PPP.P
IntData* outputLoad; //输出负载百分比: QQQ
FloatData* outputF; //输入频率: RR.R
FloatData* unitVol; //电池单元电压: S.SS
FloatData* tempValue; //温度: TT.T
BoolData* isVolError; //市电异常
BoolData* isBatteryVolLow; //电池电压低
BoolData* isBypassMode; //旁路模式
BoolData* isUpsError; //UPS 故障
BoolData* upsType; //UPS 后备式 (0 :在线式)
BoolData* isTesting; //测试进行中
BoolData* isShutdown; //关机
char m_endFlag; //结束标记
2024-03-19 17:45:12 +08:00
};
2024-04-12 15:51:41 +08:00
#pragma pack()
2024-03-19 17:45:12 +08:00
class UPSClient :public TcpClient
{
public:
UPSClient(CommunicationCfg* pconfig);
~UPSClient();
void InitCommand();
void ShutDownUps(float minute);
2024-04-12 15:51:41 +08:00
//void GetStat(Upsstat& stat);
//void SendToClients();
2024-03-19 17:45:12 +08:00
private:
void static ProcInfo(void* pobject, Command* pcommand);
void static ProcShutDown(void* pobject, Command* pcommand);
private:
Upsstat m_Stat;
};