GrpcPrint/PrintS/Communication/PowerMeterClient.h
2024-05-11 17:43:38 +08:00

142 lines
3.0 KiB
C++

#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;
};