#pragma once #include "BaseClient.h" #include "../config/bean/RunCfg.h" #include "../config/bean/AlarmCfg.h" #pragma pack(1) class PowerStat { public: PowerStat() : uab(new FloatData("uab", u8"uab")) , ubc(new FloatData("ubc", u8"ubc")) , uca(new FloatData("uca", u8"uca")) , ua(new FloatData("ua", u8"ua")) , ub(new FloatData("ub", u8"ub")) , uc(new FloatData("uc", u8"uc")) , ia(new FloatData("ia", u8"ia")) , ib(new FloatData("ib", u8"ib")) , ic(new FloatData("ic", u8"ic")) , pt(new FloatData("pt", u8"pt")) , pa(new FloatData("pa", u8"pa")) , pb(new FloatData("pb", u8"pb")) , pc(new FloatData("pc", u8"pc")) , qt(new FloatData("qt", u8"qt")) , qa(new FloatData("qa", u8"qa")) , qb(new FloatData("qb", u8"qb")) , qc(new FloatData("qc", u8"qc")) , pft(new FloatData("pft", u8"pft")) , pfa(new FloatData("pfa", u8"pfa")) , pfb(new FloatData("pfb", u8"pfb")) , pfc(new FloatData("pfc", u8"pfc")) , freq(new FloatData("freq", u8"freq")) , impEp(new FloatData("impEp", u8"impEp")) , expEp(new FloatData("expEp", u8"expEp")) , q1Eq(new FloatData("q1Eq", u8"q1Eq")) , q2Eq(new FloatData("q2Eq", u8"q2Eq")) , q3Eq(new FloatData("q3Eq", u8"q3Eq")) , q4Eq(new FloatData("q4Eq", u8"q4Eq")) , irAt(new FloatData("irAt", u8"irAt")) , urAt(new FloatData("urAt", u8"urAt")) { //uab = 0.0f ; //ubc = 0.0f ; //uca = 0.0f ; //ua = 0.0f ; //ub = 0.0f ; //uc = 0.0f ; //ia = 0.0f ; //ib = 0.0f ; //ic = 0.0f ; //pt = 0.0f ; //pa = 0.0f ; //pb = 0.0f ; //pc = 0.0f ; //qt = 0.0f ; //qa = 0.0f ; //qb = 0.0f ; //qc = 0.0f ; //pft = 0.0f ; //pfa = 0.0f ; //pfb = 0.0f ; //pfc = 0.0f ; //freq = 0.0f ; //impEp=0.0f; //expEp = 0.0f; //q1Eq = 0.0f; //q2Eq = 0.0f; //q3Eq = 0.0f; //q4Eq = 0.0f; //irAt = 0.0f; //urAt = 0.0f; } public: //BaseStat baseStat; char m_startFlag; FloatData* uab; FloatData* ubc; FloatData* uca; FloatData* ua; FloatData* ub; FloatData* uc; FloatData* ia; FloatData* ib; FloatData* ic; FloatData* pt; FloatData* pa; FloatData* pb; FloatData* pc; FloatData* qt; FloatData* qa; FloatData* qb; FloatData* qc; FloatData* pft; FloatData* pfa; FloatData* pfb; FloatData* pfc; FloatData* freq; FloatData* impEp; FloatData* expEp; FloatData* q1Eq; FloatData* q2Eq; FloatData* q3Eq; FloatData* q4Eq; FloatData* irAt; FloatData* urAt; char m_endFlag; }; #pragma pack() class PowerMeterClient:public TcpClient { public: PowerMeterClient(CommunicationCfg* pconfig); ~PowerMeterClient(); //void DrawUI(bool* isshow); void GetState(PowerStat& stat); void ResetElec(); private: void InitCommand(); void static PorcPowerValue(void* pobject, Command* pcommand); void static PorcPowerValue2(void* pobject, Command* pcommand); void static PorcVoltageValue(void* pobject, Command* pcommand); void static PorcVoltageValue2(void* pobject, Command* pcommand); void static ProcUnitValue(void* pobject, Command* pcommand); private: PowerStat m_State; RunCfg* m_RunCfg; AlarmCfgWrapper* m_AlarmCfgWrapper; };