122 lines
3.4 KiB
C++
122 lines
3.4 KiB
C++
#pragma once
|
|
#include "BaseClient.h"
|
|
|
|
class Upsstat
|
|
{
|
|
public:
|
|
Upsstat() {
|
|
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;
|
|
}
|
|
~Upsstat() {}
|
|
|
|
public:
|
|
BaseStat baseStat;
|
|
float inputVol; //输入电压: MMM.M
|
|
float lastVol; //上一次转电池放电时电压: NNN.N
|
|
float outputVol; //输出电压: PPP.P
|
|
int outputLoad; //输出负载百分比: QQQ
|
|
float outputF; //输入频率: RR.R
|
|
float unitVol; //电池单元电压: S.SS
|
|
float tempValue; //温度: TT.T
|
|
bool isVolError; //市电异常
|
|
bool isBatteryVolLow; //电池电压低
|
|
bool isBypassMode; //旁路模式
|
|
bool isUpsError; //UPS 故障
|
|
bool upsType; //UPS 后备式 (0 :在线式)
|
|
bool isTesting; //测试进行中
|
|
bool isShutdown; //关机
|
|
};
|
|
|
|
#pragma pack(1)
|
|
class UpsstatParam
|
|
{
|
|
public:
|
|
UpsstatParam()
|
|
: 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;
|
|
}
|
|
~UpsstatParam(){}
|
|
|
|
public:
|
|
BaseStat baseStat;
|
|
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; //结束标记
|
|
};
|
|
#pragma pack()
|
|
|
|
class UPSClient :public TcpClient
|
|
{
|
|
public:
|
|
UPSClient(void* pconfig = nullptr);
|
|
~UPSClient();
|
|
//void InitCommand();
|
|
//void ShutDownUps(float minute);
|
|
void GetStat(Upsstat& stat);
|
|
|
|
//void SendToClients();
|
|
private:
|
|
//void static ProcInfo(void* pobject, Command* pcommand);
|
|
//void static ProcShutDown(void* pobject, Command* pcommand);
|
|
private:
|
|
UpsstatParam m_Stat;
|
|
};
|
|
|