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

📄 curdata.c

📁 电力行业必备。有错的地方
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               	江苏广一科技有限公司
**                                     研    发    部
**                                        浙江配变
**
**                                 
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: curdata.c
**创   建   人: 
**最后修改日期: 2007年10月02日
**描        述: 
**              
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 
** 版  本: 
** 日 期: 
** 描 述: 
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
** 描 述: 
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define  CURDAT_GLOBALS
#include "curdata.h"

/***********实时数据向量表*************/
const	uint8	CUR_DATA_TAB[] = {					 
									0x90,	0x1F,	20,			// (当前)正向有功电能数据块
								    0x90,	0x10,	4,
							        0x90,	0x11,	4,
									0x90,	0x12,	4,
									0x90,	0x13,	4,
									0x90,	0x14,	4,
									
									0x90,	0x2F,	20,			// (当前)正向无功电能数据块
								    0x90,	0x20,	4,
							        0x90,	0x21,	4,
									0x90,	0x22,	4,
									0x90,	0x23,	4,
									0x90,	0x24,	4,
									
									0x90,	0x3F,	12,			// (当前)三相正向有功电量数据块
									0x90,	0x31,   4,
									0x90,	0x32,	4,
									0x90,	0x33,	4,
									
									0x90,	0x4F,	12,			// (当前)三相反向有功电量数据块
									0x90,	0x41,	4,	
									0x90,   0x42,   4,
									0x90,	0x43,	4,
									
									0x91,	0x1F,	20,			// (当前)正向无功电能数据块
									0x91,	0x10,	4,
									0x91,	0x11,	4,
									0x91,	0x12,	4,
									0x91,	0x13,	4,	
									0x91,	0x14,	4,			
									
									0x91,	0x2F,	20,			// (当前)反向无功电能数据块
									0x91,	0x20,	4,
									0x91,	0x21,	4,
									0x91,	0x22,	4,
									0x91,	0x23,	4,	
									0x91,	0x24,	4,
									
									0x91,	0x3F,	20,			// (当前)一象限无功电能数据块
									0x91,	0x30,	4,
									0x91,	0x31,	4,
									0x91,	0x32,	4,
									0x91,	0x33,	4,	
									0x91,	0x34,	4,
									
									0x91,	0x4F,	20,         // (当前)四象限无功电能数据块
									0x91,	0x40,	4,
									0x91,	0x41,	4,
									0x91,	0x42,	4,
									0x91,	0x43,	4,	
									0x91,	0x44,	4,
									
									0x91,	0x5F,	20,			// (当前)二象限无功电能数据块
									0x91,	0x50,	4,
									0x91,	0x51,	4,
									0x91,	0x52,	4,
									0x91,	0x53,	4,	
									0x91,	0x54,	4,
									
									0x91,	0x6F,	20,			// (当前)三象限无功电能数据块
									0x91,	0x60,	4,
									0x91,	0x61,	4,
									0x91,	0x62,	4,
									0x91,	0x63,	4,	
									0x91,	0x64,	4,
									
									0x91,	0x7F,	12,         // (当前)三相正向无功电量数据块
								    0x91,	0x71,	4,
									0x91,	0x72,	4,
									0x91,	0x73,	4,	
									
									0x91,	0x8F,	12,			// (当前)三相反向无功电量数据块
								    0x91,	0x81,	4,
									0x91,	0x82,	4,
									0x91,	0x83,	4,	
									
									0xA0,	0x1F,	15,			// (当前)正向有功最大需量数据块
									0xA0,	0x10,	3,
									0xA0,	0x11,	3,
									0xA0,	0x12,	3,	
									0xA0,	0x13,	3,	
									0xA0,	0x14,	3,
									
									0xA0,	0x2F,	15,			// (当前)反向有功最大需量数据块
									0xA0,	0x20,	3,
									0xA0,	0x21,	3,
									0xA0,	0x22,	3,	
									0xA0,	0x23,	3,	
									0xA0,	0x24,	3,
									
									0xA4,	0x1F,	15,			// (上月)正向有功最大需量数据块
									0xA4,	0x10,	3,
									0xA4,	0x11,	3,
									0xA4,	0x12,	3,	
									0xA4,	0x13,	3,	
									0xA4,	0x14,	3,
									
									0xA4,	0x2F,	15,         // (上月)反向有功最大需量数据块
									0xA4,	0x20,	3,
									0xA4,	0x21,	3,
									0xA4,	0x22,	3,	
									0xA4,	0x23,	3,	
									0xA4,	0x24,	3,
									
									0xB0,	0x1F,	20,			// (当前)正向有功最大需量发生时间数据块
									0xB0,	0x10,	4,
									0xB0,	0x11,	4,
									0xB0,	0x12,	4,
									0xB0,	0x13,	4,	
									0xB0,	0x14,	4,	
									
									0xB0,	0x2F,	20,			// (当前)反向有功最大需量发生时间数据块
									0xB0,	0x20,	4,
									0xB0,	0x21,	4,	
									0xB0,	0x22,	4,	
									0xB0,	0x23,	4,
									0xB0,	0x24,	4,
									
									0xB4,	0x1F,	20,			// (上月)正向有功最大需量发生时间数据块
									0xB4,	0x10,	4,
									0xB4,	0x11,	4,	
									0xB4,	0x12,	4,	
									0xB4,	0x13,	4,	
									0xB4,	0x14,	4,
									
									0xB4,	0x2F,	20,			// (上月)反向有功最大需量发生时间数据块
									0xB4,	0x20,	4,
									0xB4,	0x21,	4,	
									0xB4,	0x22,	4,	
									0xB4,	0x23,	4,
									0xB4,	0x24,	4,	
								
									0xB2,	0x1F,	12,  		//  编程记录数据块
									0xB2,	0x10,	4,
									0xB2,	0x11,	4,	
									0xB2,	0x12,	2,	
									0xB2,	0x13,	2,	
									
									0xB3,	0x1F,	8,			//  断相次数数据块
									0xB3,	0x10,	2,
									0xB3,	0x11,	2,	
									0xB3,	0x12,	2,	
									0xB3,	0x13,	2,	
									
									0xB3,	0x2F,	12,			//	断相累计时间数据块
									0xB3,	0x20,	3,
									0xB3,	0x21,	3,	
									0xB3,	0x22,	3,	
									0xB3,	0x23,	3,	
									
									0xB6,	0x1F,	6,			//  电压数据块
									0xB6,	0x11,	2,	
									0xB6,	0x12,	2,	
									0xB6,	0x13,	2,
									
									0xB6,	0x2F,	6,			//  电流数据块
									0xB6,	0x21,	2,	
									0xB6,	0x22,	2,	
									0xB6,	0x23,	2,
									
									0xB6,	0x3F,	12,			//	有功功率数据块
									0xB6,	0x30,	3,
									0xB6,	0x31,	3,	
									0xB6,	0x32,	3,	
									0xB6,	0x33,	3,
									
									0xB6,	0x4F,	8,			//  无功功率数据块
									0xB6,	0x40,	2,
									0xB6,	0x41,	2,	
									0xB6,	0x42,	2,	
									0xB6,	0x43,	2,
									
									0xB6,	0x5F,	8,			//  功率因数数据块
									0xB6,	0x50,	2,
									0xB6,	0x51,	2,	
									0xB6,	0x52,	2,	
									0xB6,	0x53,	2,
									
									0xB6,	0x6F,	12,			//  相角数据块
									0xB6,	0x60,	2,
									0xB6,	0x61,	2,	
									0xB6,	0x62,	2,	
									0xB6,	0x63,	2,
									0xB6,	0x64,	2,
									0xB6,	0x65,	2,
										
							        0xB6,	0x7F,	12,			//  正向有功功率数据块
									0xB6,	0x70,	3,
									0xB6,	0x71,	3,	
									0xB6,	0x72,	3,	
									0xB6,	0x73,	3,
									
									0xB6,	0x8F,	12,			//  反向有功功率数据块
									0xB6,	0x80,	3,
									0xB6,	0x81,	3,	
									0xB6,	0x82,	3,	
									0xB6,	0x83,	3,
									
									0xB6,	0x9F,	8,			//  正向无功功率数据块
									0xB6,	0x90,	2,
									0xB6,	0x91,	2,	
									0xB6,	0x92,	2,	
									0xB6,	0x93,	2,
									
									0xB6,	0xAF,	8,			//  反向无功功率数据块
									0xB6,	0xA0,	2,
									0xB6,	0xA1,	2,	
									0xB6,	0xA2,	2,	
									0xB6,	0xA3,	2,
									
									0xB6,	0xBF,	12,			//  视在功率数据块
									0xB6,	0xB0,	3,
									0xB6,	0xB1,	3,	
									0xB6,	0xB2,	3,	
									0xB6,	0xB3,	3,
									
									0xC0,   0x10,   3,			//  日期及周日
									0xC0,   0x11,   3,			//  时间
									
									0xC0,   0x30,   3,			//  电表常数(有功)
									0xC0,   0x31,   3,			//  电表常数(无功)
									
									0xC3,	0x3F,	24,			//	时段费率数据块
									0xC3,	0x31,	3,
									0xC3,	0x32,	3,
									0xC3,	0x33,	3,
									0xC3,	0x34,	3,
									0xC3,	0x35,	3,
									0xC3,	0x36,	3,
									0xC3,	0x37,	3,
									0xC3,	0x38,	3,
									
									0x8E,   0x1F,   12,			//	电压(一次侧)数据块
									0x8E,   0x11,   4,
									0x8E,   0x12,   4,
									0x8E,   0x13,   4,
									
									0x8E,   0x2F,   12,			//	电流(一次侧)数据块
									0x8E,   0x21,   4,
									0x8E,   0x22,   4,
									0x8E,   0x23,   4,
									
									0x8E,   0x3F,   16,			//  有功功率(一次侧)数据块
									0x8E,   0x30,   4,
									0x8E,   0x31,   4,
									0x8E,   0x32,   4,
									0x8E,   0x33,   4,
									
									0x8E,   0x4F,   16,			//	无功功率(一次侧)数据块
									0x8E,   0x40,   4,
									0x8E,   0x41,   4,
									0x8E,   0x42,   4,
									0x8E,   0x43,   4,
									
									0x8E,   0x6F,   14,			//  平均功率数据块
									0x8E,   0x60,   4,
									0x8E,   0x61,   4,
									0x8E,   0x62,   3,
									0x8E,   0x63,   3,
									
									0x8E,   0x70,   2,			//	零序电流(二次侧)
									
									0x8E,   0x8F,   48,			//	电压极值数据块
									0x8E,   0x80,   1,
									0x8E,   0x81,   1,
									0x8E,   0x82,   1,
									0x8E,   0x83,   1,
									0x8E,   0x84,   1,
									0x8E,   0x85,   1,
									0x8E,   0x86,   7,
									0x8E,   0x87,   7,
									0x8E,   0x88,   7,
									0x8E,   0x89,   7,
									0x8E,   0x8A,   7,
									0x8E,   0x8B,   7,
									
									0x8E,   0x9F,   60,			//	功率及电流极值数据块
									0x8E,   0x90,   2,
									0x8E,   0x91,   8,
									0x8E,   0x92,   8,
									0x8E,   0x93,   7,
									0x8E,   0x94,   7,
									0x8E,   0x95,   7,
									0x8E,   0x96,   7,
									0x8E,   0x97,   7,
									0x8E,   0x98,   7,
									
									0x8E,   0xA0,   2,			//	测量点状态字
									
									0x8E,   0xBF,   14,			// (当日)电流偏差极值数据块
									0x8E,   0xB1,   7,
									0x8E,   0xB2,   7,
									
									0xC0,	0x20,	1,			//  表计电池失压标识 0 非失压 1 失压
									
									0xC1,	0x19,	4,			//	有功电能表起始读数
									0xC1,	0x1A,	4,			//	无功电能表起始读数
									
									0xC6,	0x1F,	6,			//  温湿度数据块
									0xC6,	0x11,	2,
									0xC6,	0x12,	2,
									0xC6,	0x13,	2
								};

/*********************************************************************************************************
** 函数名称: CurDataIndex()
** 功能描述: 测量点数据索引
**
** 输 入: 	
**			*param	标识码
**			*offset	偏移地址指针
**
** 输 出:  字节数
**         
** 全局变量: 
** 调用模块: 
**
** 作 者: 
** 日 期: 2007-10-9
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint32 CurDataIndex(uint8 *param, uint32 *offset)
{
	uint32 	i,j;
	uint32 	len;
	
	len     = 0;
	*offset = 0;
	
	j = 0;
	for (i=0;i<sizeof(CUR_DATA_TAB);i=i+3)
	{//*
		
		if (j>3)
		{
			if ((*(CUR_DATA_TAB+(j-3)+1)&0x0F) != 0x0F)			// 如果前一项不是F项
			{
				*offset += *(CUR_DATA_TAB + (j-3) + 2);			// 取前一项的长度相加
			}
			else												// 如果前一项是F项
			{
				;
			}
		}
		else
		{
			*offset = 0x00;										// 前两项的偏移地址为0
		}
		
		if ((*param==*(CUR_DATA_TAB+j)) &&					// 查找相同标识码
			(*(param+1)==*(CUR_DATA_TAB+j+1)))
		{
			len = *(CUR_DATA_TAB+j+2);
			return(len);	
		}
		else													
		{
			j += 3;
			continue;
		}
		
	}//*
	return(0);
}

    
					

⌨️ 快捷键说明

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