GrpcPrint/PrintS/Communication/PowerMeterClient.h
2024-03-19 17:45:12 +08:00

105 lines
1.6 KiB
C++

#pragma once
#include "BaseClient.h"
#include "../config/bean/RunCfg.h"
#include "../config/bean/AlarmCfg.h"
class PowerStat
{
public:
PowerStat() {
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;
float uab;
float ubc;
float uca;
float ua;
float ub;
float uc;
float ia;
float ib;
float ic;
float pt;
float pa;
float pb;
float pc;
float qt;
float qa;
float qb;
float qc;
float pft;
float pfa;
float pfb;
float pfc;
float freq;
float impEp;
float expEp;
float q1Eq;
float q2Eq;
float q3Eq;
float q4Eq;
float irAt;
float urAt;
};
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;
};