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

📄 hrj803.h

📁 应用与电网中电压合格率的统计。经过现场的投运使用
💻 H
📖 第 1 页 / 共 3 页
字号:
    DWORD dwMaxIT[3]; //其出现时间,
    DWORD dwUperIT[3]; //三相电流越上限的累积时间 F29 单位:秒
	DWORD dwCosT[3];  //功率因数超限累积时间 区段1 累计时间(功率因数 < 定值1)
                                     //区段2 累计时间(定值1≤功率因数<定值2)
                                     //区段3 累计时间(功率因数≥定值2)
}STransFormerState; //配变统计
_NVRAM_USE_ STransFormerState g_sTransFormerState; //必须保存在NVRAM中

typedef struct
{
    STime4 sTime;	
    STransFormerState sTransState;
}STransFormerRec;

//★文件格式(数据循环存放):
//	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日统计数据。
//######################################  配变统计记录格式结束 #####################


//#################################断相统计数据及最近一次断相 失压 记录开始###################
typedef struct
{
    DWORD dwAllBreakSum;    //总断相次数
    DWORD dwBreakSum[3];    //A B C 相断相次数
	DWORD dwAllBreakT;      //总断相时间累计值  min
	DWORD dwBreakT[3];      //A B C 相断相时间累计值 min
	DWORD dwAllRecentStartT;// 最近一次断相起始时刻  LSB 分时日月 MSB
	DWORD dwRecentStartT[3];//A B C相最近断相起始时刻   LSB 分时日月 MSB
	DWORD dwAllRecentEndT;  //最近一次断相结束时刻  LSB 分时日月 MSB
	DWORD dwRecentEndT[3];  //A B C相最近断相结束时刻   LSB 分时日月 MSB

	DWORD dwLoseSum_All;    //总失压次数
    DWORD dwLoseSum[3];    //A B C 相失压次数
	DWORD dwLoseT_All;      //总失压时间累计值  min
	DWORD dwLoseT[3];      //A B C 相失压时间累计值 min
	DWORD dwAllLoseRecentStartT;// 最近一次全失压起始时刻  LSB 分时日月 MSB
	DWORD dwRecentStartT_Lose;// 最近一次失压起始时刻  LSB 分时日月 MSB
	DWORD dwABCRecentStartT_Lose[3];//A B C相最近失压起始时刻   LSB 分时日月 MSB
	DWORD dwAllLoseRecentEndT;  //最近一次全压结束时刻  LSB 分时日月 MSB
	DWORD dwRecentEndT_Lose;  //最近一次失压结束时刻  LSB 分时日月 MSB
	DWORD dwABCRecentEndT_Lose[3];  //A B C相最近失压结束时刻   LSB 分时日月 MSB


}SBreakVoltState;

_NVRAM_USE_ SBreakVoltState g_sBreakVoltState;
//################################断相统计数据及最近一次断相 失压记录结束###################

//###########################电能表日历时钟及电能表状态信息开始#######################

typedef struct
{
 DWORD dwMeterState;     //电表运行状态字 BS8 1 “电表运行状态字”定义同DL/T 645-1997中附录B 的B1项
                        // D7 D6     D5                        D4                            D3   D2                        D1                                          D0
                        // 0 保留 无功电能方向:0正向1反向有功电能方向:0正向1:反向   0  电池电压:0:正常1:欠压   最大需量积算方式:0:滑差1:区间  抄表:0 : 自动1 : 手动
 DWORD dwPowerState;     //电网状态字 BS8 1 附录B 的B2项
                        //  D7    D6                          D5                       D4                        D3       D2                        D1                          D0
                        //  0     C 相过压:0:正常1:过压  B 相过压:0:正常1:过压   A 相过压:0:正常1:过压  0    C 相断电:0:正常1:断电  B 相断电:0:正常1:断电  A 相断电:0:正常1:断电
 DWORD dwError;  //  错误状态信息字  ,对应DLT/645中附录B 的B5项
 DWORD dwRecentProgT;        //最近一次编程时间 数据格式17 LSB 分时日月 MSB 4
 DWORD dwRecentDemandClearT; //最近一次最大需量清零时间 数据格式17 LSB分时日月MSB 4
 DWORD dwProgNum;              //编程次数 数据格式08 次 2
 DWORD dwDemandClearNum;       // 最大需量清零次数数据格式08 次 2
 DWORD dwBaterryWorkT;     //电池工作时间数据格式10 min 3
 SDateTime2 sPowerOnTime; //终端来电时间
 SDateTime2 sPowerOffTime;//终端停电时间
 DWORD dwPowerOffState; //终端的停电标志  0有电, 1停电
}SMeterState;
_NVRAM_USE_  SMeterState g_sMeterState;
//###########################电能表日历时钟及电能表状态信息结束#######################

typedef struct 
{ 
	BYTE byAddr[8];			//地址
	DWORD dwTermIP;		//主站地址
	WORD  wTermPort;	//主站端口
	//F2:终端中继转发设置
    
    //F3:主站IP 地址和端口
	BYTE byHeartBeatTime;	//心跳时间间隔,单位: 分钟
	DWORD dwHostIP;		//主站地址
	DWORD dwHostIP2;	//备用主站地址
	WORD  wHostPort;	//主站端口
	WORD  wHostPort2;	//备用主站端口
	DWORD dwGateWay;	//网关地址
	DWORD dwAgentIP;		//代理服务器地址
	WORD  wGateWayPort;		//网关端口
	WORD  wAgentPort;		//代理端口
	char  szApn[16];		//APN
	//F4:主站电话号码和短信中心号码
	BYTE byPhoneNumber[8];	//主站电话号码或移动电话号码
	BYTE bySmsCenter[8];	//短消息中心号码
	//F5:终端密码设置
	BYTE byEncryptionNo;//加密方案号
	WORD wKeyWord;//密钥
	//F6:终端组地址设置
	BYTE byComState;	//1类 F4:终端通信状态
	DWORD dwResv[8];
}SHostCommCfg;

#define MAX(a,b) ((a)>(b)?(a):(b))

#define AutoClass1DADTSumMax 4
#define AutoClass2DADTSumMax 4
#define AutoClassXFnSumMax MAX(AutoClass1DADTSumMax,AutoClass2DADTSumMax)
typedef struct 
{
	//1类 F1:终端版本信息,其它在softedition.h里
	BYTE byTermNo[8];
	//1类 F3:参数映射表
	BYTE byParamMap[31];
	//f1 终端通信参数设置
	BYTE byRTS;//终端数传机延时时间
	BYTE bySendRTS;//终端作为启动站允许的发送传输延时时间
	WORD wWaitAndResend;//终端等待从动站响应的超时时间和重发次数
	BYTE byConfirmServer;//需要主站确认的通信服务标志

	//f62
	BYTE byGPRSMode;//公网通信模块(GPRS/CDMA)工作模式
	WORD wStayModeRedialGap;//永久在线模式重拨间隔
	BYTE byPassiveModeRedialSum;//被动激活模式重拨次数
	BYTE byPassiveModeCutTime;//被动激活模式连续无通信自动断线时间

	//f65
	BYTE byClass1UnitAndT;//定时发送1类数据任务的定时发送周期和周期单位
	BYTE byClass1NormTime[6];//定时发送1类数据任务的发送基准时间
	BYTE byClass1DrawOutMultiple;//定时发送1类数据任务的曲线数据抽取倍率
	BYTE byClass1DADTSum;//定时发送1类数据任务的数据单元标识个数
	BYTE byClass1DADT[AutoClass1DADTSumMax*4];//定时发送1类数据任务的数据单元标识

	//f66
	BYTE byClass2UnitAndT;//定时发送2类数据任务的定时发送周期和周期单位
	BYTE byClass2NormTime[6];//定时发送2类数据任务的发送基准时间
	BYTE byClass2DrawOutMultiple;//定时发送2类数据任务的曲线数据抽取倍率
	BYTE byClass2DADTSum;//定时发送2类数据任务的数据单元标识个数
	BYTE byClass2DADT[AutoClass2DADTSumMax*4];//定时发送2类数据任务的数据单元标识

	//f67
	BYTE byClass1AutoEn;//定时发送1类数据启动/停止设置
	//f68
	BYTE byClass2AutoEn;//定时发送1类数据启动/停止设置

	//以下参数默认为 BIN 格式,除非特别说明
    
	BYTE byEventValid[8];//f8 事件记录有效标志位:D0~D63 对应事件代码ERC1~ERC64 所定义的事件,
                         //置“1”:需要对该位所对应的告警事件进行记录;置“0”:不需要记录
    BYTE byEventPrior[8];	//f8 事件重要性等级标志位:D0~D63 对应事件代码ERC1~ERC64 所定义的事件,
							//置“1”:该位所对应的告警事件为重要事件,该事件发生后,如通道具备主动上报条件,
							//应主动上报事件记录,如不具备主动上报条件,通过ACD 位上报;
							//置“0”:该位所对应的告警事件为一般事件,该事件发生后,只需要进行事件记录。

    BYTE byState[3];//f12 终端状态量输入参数,  格式见Q/GDW 130  

	BYTE byFreezeSum;//f27冻结信息类标识个数(AFN=0x0c中F81~F121 最多41个)
	BYTE wFreezeID[41];//信息类标识及冻结密度
	BYTE byFreezeFreq[41]; //冻结密度 格式见Q/GDW 130  附录C

	INT16 iCosLevel[2];// //f28 x1000 测量点功率因数分段限值 功率因数分段限值1 功率因数分段限值2
     //F59:电能表异常判别阈值设定        		
	//限值 系数按照Q/GDW
	WORD wUperVoltLevel;	//电压合格率上限 V*10
	WORD wLowerVoltLevel;	//电压合格率下限V*10
	WORD wBreakVoltLevel;   //电压断相门限V*10
	WORD wNoneVoltLevel;	//失压限值V*10
	WORD wOverVoltLevel;	//电压上上限(过压限值)V*10
	WORD wLoseVoltLevel;	//电压下下限(欠压限值)V*10

	WORD wOverCurrentLevel;	//相电流上上限(过流上限)A*100
	WORD wUperCurrentLevel;	//额定电流限值A*100
	WORD wUperI0;		//零序电流上限A*100

	DWORD dwSUperLoaldLever;//视在功率上限 VA*10
	DWORD dwSOverLoadLevel;//视在功率上上限 VA*10

	INT32 iOverLoadLevel;		//总功率过负荷限值 W*10
	INT32 iSinglePhaseOverLoadLevel;	//单相过负荷限值W*10

	INT32 wVoltUnbalanceLevel;		//电压不平衡限值 1000
	INT32 wCurrentUnbalanceLevel;		//电流不平衡限值1000

	BYTE byLoseVoltTimeLevel;		//连续失压时间限值 min

    BYTE byDCInputState ;// F61:直流模拟量接入参数
    WORD wAnalogDCMultiple;//f81直流模拟量输入变比
	WORD wAnalogDCMax;//f82直流模拟量上限
	WORD wAnalogDCMin;//f82直流模拟量下限
	BYTE byAnalogDCFreezeDensity;//f83直流模拟量冻结密度

	//谐波限值
	INT16 wTHDLevelU;	//总含有率限值   系数 10*%
	INT16 wHDLevelUo;	//奇次谐波含有率限值 系数 10*%
	INT16 wHDLevelUe;	//偶次谐波含有率限值  系数 10*%
	INT16 iTotalHarmonicContentLevel;  // 单位A,系数100 
	INT16 iHarmonicContentLevel[18];	//2~19次谐波电流有效值上限  单位A,系数 100 
	//F3终端参数状态
	//F35...
	INT16 iValueCoef[6]; //三相基波电压、电流有效值的系数, 单位10*%   
	INT16 iHRCoef[6]; //三相电压、电流含有率的系数, 单位10*%  
	//F39 F40
	BYTE  byAlarmTime[64]; //ERC1-ERC64 允许持续时间
	WORD  wAlarmRetCoef[64]; //ERC1-ERC64 告警的返回系数
	//F41 
	INT32 iTemperatureLevel    ;//温度上限止 系数100 单位度
	DWORD dwResv[16];
}SRestrict; 


typedef struct
{
	DWORD dwResve[2];
    SHostCommCfg sHostCommCfg;
    SMeterParam sMeterParam;
    SRestrict sRestrict;
    SADCoef sADCoef[4];
	SCs5460Coef sCs5460Coef;
	SCommInfo sCommInfo[4]; // 0 1 2 3 0=RS232/485口,1=GPRS通讯,2=RS485口,3=红外端口
}SSysParam;
_HRJ803_USE_ SSysParam g_sSysParam;

//g_dwParamUpdateFlag 终端参数更新的标志 0=未更新
//BIT0 =1表示sHostCommCfg被修改
//BIT1 = 表示MeterParam被更改
//BIT2 =1表示SRestrict被修改
//BIT3=1表示sADCoef被修改
//BIT4=1表示sCs5460Coef被修改 
//BIT5--BIT8=1表示sCommInfo[0--3]被修改  
//BIT30 = 1表示显示参数被修改 CaiYu 20070416
//BIT31 = 1表示时间被修改
_HRJ803_USE_ DWORD g_dwParamUpdateFlag; 
_NVRAM_USE_  DWORD g_dwEC1; //重要事件计数器
_NVRAM_USE_  DWORD g_dwEC2; //一般事件计数器
_HRJ803_USE_ BYTE g_byYX;  //遥信状态 f9
_HRJ803_USE_ BYTE g_byYXBW[MAX_TASK_COM];  //遥信变位状态 f9

_HRJ803_USE_ BOOL g_bAdcUpdate_VoltageFlag ; //通知电压合格率模块,工程数据就绪
_HRJ803_USE_ BOOL g_bAdcUpdate_EventFlag ; //通知事件管理模块,工程数据就绪

_HRJ803_USE_ BOOL g_bParamMeterFlag ; //通知计量模块,参数更改
_HRJ803_USE_ BOOL g_bParamEventFlag ;//通知事件模块,参数更改
_HRJ803_USE_ BOOL g_bClearEnergy; //清除电能
_HRJ803_USE_ BOOL g_bTimeChange; //终端的时间被修改
_HRJ803_USE_ BOOL g_bInitDayMeasure;//复位天统计的数据结构,由配变统计模块发送给计量模块
_HRJ803_USE_ BOOL g_bDataInit;//数据区初始化标志
_HRJ803_USE_ BOOL g_bNeedClearMaxDemand;//当前最大需量是否清零, 手动清零或通讯清零 
_HRJ803_USE_ BOOL g_bSaveVoltageState_m ;//保存月统计的标志
#endif


/*
设置参数
谐波电流的值
谐波电流的含有率
加入谐波的电压电流系数
加入PT100的精确值
加入    ERC21:终端故障记录
      ERC27:电能表示度下降记录
       ERC28:电能量超差记录

Param: F60 F61 f81 f82  f83
Class1:  F49,F57,F58,F73,F121
Class2  : F113 --F118,F121,F122,F123,F129 F130 F138
ERC3:参数变更记录
ERC8:电能表参数变更
ERC9:电流回路异常
ERC11:相序异常
ERC13:电表故障信息
ERC15:谐波越限告警
   ERC16:直流模拟量越限记录
   ERC17:电压/电流不平衡度越限记录
   ERC20:密码错误记录
    ERC21:终端故障记录
   ERC27:电能表示度下降记录
   ERC28:电能量超差记录
*/

⌨️ 快捷键说明

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