⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caldemand.h

📁 计算电能的有功功率
💻 H
字号:
#ifndef caldemand_h
#define caldemand_h
#include "time.h"


#define FSXL_ALL     0
#define FSXL_SHARP   1
#define FSXL_PEAK    2
#define FSXL_FLAT    3
#define FSXL_VALLAY  4



typedef struct {
	BYTE Minute;
	BYTE Hour;
	BYTE Day;
	BYTE Month;
} TIMEMARK_TYPE;

typedef struct {
	DWORD Sharp; /*尖峰需量  费率1*/
	DWORD Peak;  /*峰需量    费率2*/
	DWORD Flat;  /*平需量    费率3*/
	DWORD Valley;/*谷需量    费率4*/
} FSXL_TYPE;/*分时需量类型*/

typedef struct {
	TIMEMARK_TYPE Sharp; /*尖峰需量  费率1*/
	TIMEMARK_TYPE Peak;  /*峰需量    费率2*/
	TIMEMARK_TYPE Flat;  /*平需量    费率3*/
	TIMEMARK_TYPE Valley;/*谷需量    费率4*/
} FSXL_TIME_TYPE;/*分时需量类型*/

typedef struct {
  struct DEMANDPUBLICDATA_TYPE
  {
    FSXL_TYPE PositiveDemand;//正向有功需量
	FSXL_TYPE NegativeDemand;//反向有功需量	
  } Data;
  struct DEMANDTIMEMARK_TYPE
  {
    FSXL_TIME_TYPE PositiveDemand;
    FSXL_TIME_TYPE NegativeDemand;
  }TimeMark;
  struct DEMANDPRIVATEDATA_TYPE {
		DWORD DemandP;//当前有功需量,单位:kW/10功率小数位数
		DWORD DemandQ;//当前无功需量,单位:kVar/10功率小数位数        
		DWORD Quadrant;
		DWORD Rate;
		DWORD P;
		DWORD Q;
		long  SumPositiveDemand;
		long  SumNegativeDemand;
		short Ptr;
		tm  CurrentTime;
		time_t LastMinute;
        TIMEMARK_TYPE CurrentTimeMark;
  } PrivateData;
  
  struct DEMANDPUBLICPARA_TYPE {
    BYTE Window;//周期
    BYTE Cell;  //滑差
    BYTE Mode; 
  } PublicPara;
} DEMAND_TYPE;


class CDemand
{
public:
  DEMAND_TYPE  DemandData;
public:
  CDemand(void);
  ~CDemand(void);
public:
   Init();
   GetRate();
   GetQuadrant();
   GetCurentTime();
   GetPQ(long p,long q);
   Exec();
   CalcuMaxDemand();
   Clear();
   Transfer();
};

extern CDemand  Demand;


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -