📄 hrj803.h
字号:
DWORD wReadySendRecPos;
DWORD wNum;
}SEventSend;
//说明:任务定义 0=RS232/485口,1=GPRS通讯,2=RS485口,3=红外端口, 4=Net,5=Disp
#define MAX_TASK_COM 6
_NVRAM_USE_ DWORD g_dwErcStatus[2]; //事件状态字(64Bit) ,定义参照Q/W130-2005的附录B
_NVRAM_USE_ DWORD g_dwEventPos; //最新纪录的位置
_NVRAM_USE_ SEventSend g_sEventSendEc1[MAX_TASK_COM];
_NVRAM_USE_ SEventSend g_sEventSendEc2[MAX_TASK_COM];
_HRJ803_USE_ OS_EVENT *g_pEventSemEc1[MAX_TASK_COM];
_HRJ803_USE_ OS_EVENT *g_pEventSemEc2[MAX_TASK_COM];
//★事件记录文件格式(循环记录):
// SERC1,SERC2,SERC3,...,SERC1024。
// 操作方法:装置开始运行时先扫描整个文件,根据记录的时间和记录在文件中的位置查找到最新纪录的位置并把该位置作为一个全局变量保存在内存中,
// 每次写入时,把数据记录写入该位置的下一个位置,并把该位置变量加1,写到文件的尾部时则转到文件开始位置,如此循环写入。
// 读出数据时,记录的先后顺序也就可以通过该变量来推算了。
//★告警处理方案:
// 当个模块监测到有事件时先保存事件记录,并标志事件状态字变量g_byErcStatus,
// 然后调用OSSemPost(g_pEventSem)通知规约处理模块.
//规约处理模块,每接收到一个消息则SEventSend.wNum++;
//规约在正常循环时读取并处理最早一条未发送的记录(SEventSend.wReadySendRecPos注意,不一定是最新一条记录),
//SEventSend.wNum--并且直到SEventSend.wNum==0。
//最早未发送的记录的位置和应该发送的纪录个数分别建立一个SEventSend变量并保存在NVRAM内。
//事件状态字变量g_byErcStatus:表明当前存在何种事件,其可供显示模块和规约处理等模块查询当前持续存在的告警事件。
//
//###################################### 事件部分结束 ############################################
//###################################波形电能质量数据开始########################################################
#define MAX_WAVE_NUM 200 //采样的点数
typedef struct
{
DWORD dwUa;
DWORD dwIa;
DWORD dwUb;
DWORD dwIb;
DWORD dwUc;
DWORD dwIc;
}SWaveCodeItem;
typedef struct
{
SWaveCodeItem sWaveCodeItem[MAX_WAVE_NUM]; // 每个周波80个点,共2.5个周波
DWORD dwFreq; //
DWORD dwResrv[4];
}SWaveCode;
_HRJ803_USE_ SWaveCode g_sWaveCode;
#define XIEBO_NUM 18 //谐波次数 2-19次
typedef struct
{
WORD wUa1; //基波电压有效值 系数100 单位V
WORD wIa1; //基波电流有效值 系数1000 单位A
WORD wUb1;
WORD wIb1;
WORD wUc1;
WORD wIc1;
//**************谐波总畸变率 系数100 单位%
WORD wTHDua;//
WORD wTHDIa;//
WORD wTHDub;//
WORD wTHDIb;//
WORD wTHDuc;//
WORD wTHDIc;//
//*************电压电流的角度 系数10 单位度
INT16 iUaPhase;
INT16 iIaPhase;
INT16 iUbPhase;
INT16 iIbPhase;
INT16 iUcPhase;
INT16 iIcPhase;
WORD wU0;//正序 负序 零序 电压 系数100 单位V
WORD wU1;
WORD wU2;
WORD wI0;//正序 负序 零序 电流 系数1000 单位A
WORD wI1;
WORD wI2;
//*************电压电流的谐波含有率 系数100 单位%
WORD wHRUa[XIEBO_NUM]; //[0]2次 [1]3次 ...
WORD wHRIa[XIEBO_NUM];
WORD wHRUb[XIEBO_NUM];
WORD wHRIb[XIEBO_NUM];
WORD wHRUc[XIEBO_NUM];
WORD wHRIc[XIEBO_NUM];
//************************以下为天统计数据************************
WORD wMaxHIa[XIEBO_NUM]; //A相天统计谐波电流最大值[0]2次 [1]3次 ...
WORD wMaxHIb[XIEBO_NUM]; //B相
WORD wMaxHIc[XIEBO_NUM]; //C相
WORD wMaxHRUa[XIEBO_NUM]; //A相天统计谐波电压含有率最大值[0]2次 [1]3次 ...
WORD wMaxHRUb[XIEBO_NUM]; //B相
WORD wMaxHRUc[XIEBO_NUM]; //C相
DWORD dwMaxIaT[XIEBO_NUM]; //A相谐波电流最大值发生时间
DWORD dwMaxIbT[XIEBO_NUM]; //B相谐波电流最大值发生时间
DWORD dwMaxIcT[XIEBO_NUM]; //C相谐波电流最大值发生时间
DWORD wMaxHRUaT[XIEBO_NUM]; //A相谐波电压含有率最大值发生时间 格式:(MSB)月日时分(LSB)
DWORD wMaxHRUbT[XIEBO_NUM]; //B相谐波电压含有率最大值发生时间
DWORD wMaxHRUcT[XIEBO_NUM]; //C相谐波电压含有率最大值发生时间
WORD wMaxTHDua; //A相总畸变电压含有率最大值 系数100 单位%
WORD wMaxTHDub; //B相
WORD wMaxTHDuc; //C相
WORD wMaxAllIa; //A相总畸变电流最大值 系数1000 单位A
WORD wMaxAllIb; //B相
WORD wMaxAllIc; //C相
DWORD dwMaxTHDuaT; //A相总畸变电压含有率最大值发生时间
DWORD dwMaxTHDubT; //B相
DWORD dwMaxTHDucT; //C相
DWORD dwMaxAllIaT; //A相总畸变电流日最大值发生时间
DWORD dwMaxAllIbT; //B相
DWORD dwMaxAllIcT; //C相
//**************谐波越限日统计数据*********************
WORD wTHDua_OverT; //A相总畸变电压含有率越限日累计时间
WORD wHRUa_OverT[XIEBO_NUM];//A 相各次谐波电压含有率越限日累计时间
WORD wTHDIa_OverT; //A相总畸变电流越限日累计时间
WORD wHIa_OverT[XIEBO_NUM];//A 相各次谐波电流越限日累计时间
WORD wTHDub_OverT; //B相总畸变电压含有率越限日累计时间
WORD wHRUb_OverT[XIEBO_NUM];//B 相各次谐波电压含有率越限日累计时间
WORD wTHDIb_OverT; //B相总畸变电流越限日累计时间
WORD wHIb_OverT[XIEBO_NUM];//B 相各次谐波电流越限日累计时间
WORD wTHDuc_OverT; //C相总畸变电压含有率越限日累计时间
WORD wHRUc_OverT[XIEBO_NUM];//C 相各次谐波电压含有率越限日累计时间
WORD wTHDIc_OverT; //C相总畸变电流越限日累计时间
WORD wHIc_OverT[XIEBO_NUM];//C 相各次谐波电流越限日累计时间
}SPowerQuality;
typedef struct
{
STime4 sTime;
SPowerQuality sPQ;
}SPowerQualityRec;
_HRJ803_USE_ SPowerQuality g_sPowerQuality;
//★文件格式(数据循环存放):
// 1月1日统计数据,1月2日统计数据,...,1月31日统计数据,
// 2月1日统计数据,2月2日统计数据,...,2月29日统计数据,(无论是否润年都有29日,方便计算并且文件格式固定)
// 3月1日统计数据,3月2日统计数据,...,2月31日统计数据,
// 4月1日统计数据,4月2日统计数据,...,4月30日统计数据,
// 5月1日统计数据,5月2日统计数据,...,5月31日统计数据,
// 6月1日统计数据,6月2日统计数据,...,6月30日统计数据,
// 7月1日统计数据,7月2日统计数据,...,7月31日统计数据,
// 8月1日统计数据,8月2日统计数据,...,8月31日统计数据,
// 9月1日统计数据,9月2日统计数据,...,9月30日统计数据,
// 10月1日统计数据,10月2日统计数据,...,10月31日统计数据,
// 11月1日统计数据,11月2日统计数据,...,11月30日统计数据,
// 12月1日统计数据,12月2日统计数据,...,12月31日统计数据。
//备注:每次保存一个SVoltStatRec结构的记录。
//###################################波形电能质量数据结束########################################################
//###################################### 功率、功率因数、电压、电流等有效值开始 ####################
typedef struct
{
//注意:均为低24位有效,参照CS5463和CS5460定义
//8 items
DWORD dwSa; ////视在功率
DWORD dwPa; //有功功率
DWORD dwQa; //无功功率
DWORD dwPFa;//功率因数
DWORD dwUa; //电压
DWORD dwIa; //电流
DWORD dwTemp;//温度
DWORD dwFreq;//频率
//6 items
DWORD dwSb;
DWORD dwPb;
DWORD dwQb;
DWORD dwPFb;
DWORD dwUb;
DWORD dwIb;
//6 items
DWORD dwSc;
DWORD dwPc;
DWORD dwQc;
DWORD dwPFc;
DWORD dwUc;
DWORD dwIc;
//2 items
DWORD dwU0;
DWORD dwI0;
DWORD dwResrv[6]; //mod zhw 2007-4-14 DWORD dwResrv[4];
}SRealCode;
typedef struct
{
//视在功率
INT32 iS; //总
INT32 iSa;
INT32 iSb;
INT32 iSc;
//有功功率;x10;单位:W
INT32 iP; //总
INT32 iPa;
INT32 iPb;
INT32 iPc;
//无功功率;x10;单位:Var
INT32 iQ; //总
INT32 iQa;
INT32 iQb;
INT32 iQc;
//功率因数 x1000
INT16 iPF; //总
INT16 iPFa;
INT16 iPFb;
INT16 iPFc;
//电压 x10
WORD wUa;
WORD wUb;
WORD wUc;
WORD wU0;
WORD wUAB;//线电压
WORD wUBC;
WORD wUCA;
//电流 x1000
WORD wIa;
WORD wIb;
WORD wIc;
WORD wI0;
//温度 x100
WORD wTemper;
//频率 x100
WORD wFreq;
/* //线电压 x10
WORD wUab;
WORD wUbc
WORD wUca;
*/
INT32 iDCValue; //系数100,单位V
INT32 iTemperature ;//温度传感器 系数 100 单位度
}SRealVal;
_HRJ803_USE_ SRealCode g_sRealCode;
_HRJ803_USE_ SRealVal g_sRealVal;
//###################################### 功率、功率因数、电压、电流等有效值结束 #####################
//###################################### 负荷曲线记录格式开始 ############################################
typedef struct
{
STime4 sTime;
SEnergy sEnergy;
SRealVal sRealVal;
}SLoadCurve;
//★文件格式(数据循环存放): ???
// 上月1日x分钟数据,上月1日2X分钟数据,...,上月1日1440分钟数据,
// ,...,上月2日1440分钟数据,
// ...
// ...
// 上月31日X分钟数据,上月31日2X分钟数据,...,上月31日1440分钟数据,
// 本月1日x分钟数据,本月1日2X分钟数据,...,本月1日1440分钟数据,
// 本月2日X分钟数据,本月2日2X分钟数据,...,本月2日1440分钟数据,
// ...
// ...
// 本月31日X分钟数据,本月31日2X分钟数据,...,本月31日1440分钟数据。
// 备注:X=5,10,15,30,60分钟。每次整X分钟保存一个SLoadCurve结构的数据
//#############上月2日X分钟数据,上月2日2X分钟数据######################### 负荷曲线记录格式结束 ############################################
//###################################### 配变统计记录格式开始 ############################################
typedef struct
{
DWORD dwEPpMaxDemand; //有功最大需量及其出现时间
DWORD dwEPnMaxDemand; //无功最大需量及其出现时间
DWORD dwEPpMaxDemandTime; //格式:(MSB)月日时分(LSB),四字节
DWORD dwEPnMaxDemandTime; //格式:(MSB)月日时分(LSB),四字节
INT32 iPMax[3] ;// 三相有功功率最大值及其出现时间
DWORD dwPMaxTime[3] ;
DWORD dwMaxU[3]; //A B C相 电压最大值,x10
DWORD dwMaxUT[3]; //A B C相 电压最大值发生时间,LSB:分时
DWORD dwMinU[3]; //A B C相 电压最小值,x10
DWORD dwMinUT[3]; //A B C相 电压最小值发生时间,LSB:分时
DWORD dwOverUT[3]; //A B C过压时间,单位:分钟
DWORD dwLoseUT[3]; //A B C欠压时间,单位:分钟
DWORD dwIunbanlance; // 电流不平衡超限累计时间 单位:秒
DWORD dwMaxI[3]; // 三相电流最大值x1000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -