#pragma once #include "BaseClient.h" #pragma pack(1) class Upsstat { public: 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; } ~Upsstat(){} 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(CommunicationCfg* pconfig); ~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: Upsstat m_Stat; };