caldemand.h

来自「计算电能的有功功率」· C头文件 代码 · 共 92 行

H
92
字号
#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 + =
减小字号Ctrl + -
显示快捷键?