📄 extremdata.c
字号:
/****************************************Copyright (c)**************************************************
** 江苏广一科技有限公司
** 研 发 部
** 浙江配变
**
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: curdata.c
**创 建 人:
**最后修改日期: 2007年10月09日
**描 述:
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人:
** 版 本:
** 日 期:
** 描 述:
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define EXTREMD_GLOBALS
#include "config.h"
#include "extremdata.h"
/***********极值类数据向量表*************/
const uint8 EXTR_DATA_TAB[] = {
0x8C, 0x0F, 24, //读以上数据集合
0x8C, 0x00, 2,
0x8C, 0x01, 2,
0x8C, 0x02, 2,
0x8C, 0x03, 2,
0x8C, 0x04, 2,
0x8C, 0x05, 2,
0x8C, 0x06, 2,
0x8C, 0x07, 2,
0x8C, 0x08, 2,
0x8C, 0x09, 2,
0x8C, 0x0A, 2,
0x8C, 0x0B, 2,
0x8C, 0x1F, 24, //读以上数据集合
0x8C, 0x10, 2,
0x8C, 0x11, 2,
0x8C, 0x12, 2,
0x8C, 0x13, 2,
0x8C, 0x14, 2,
0x8C, 0x15, 2,
0x8C, 0x16, 2,
0x8C, 0x17, 2,
0x8C, 0x18, 2,
0x8C, 0x19, 2,
0x8C, 0x1A, 2,
0x8C, 0x1B, 2,
0x8C, 0x2F, 6, //读以上数据集合
0x8C, 0x20, 2,
0x8C, 0x21, 2,
0x8C, 0x22, 2,
0x8C, 0x3F, 6, //读以上数据集合
0x8C, 0x30, 2,
0x8C, 0x31, 2,
0x8C, 0x32, 2,
0x8C, 0x4F, 6, //读以上数据集合
0x8C, 0x40, 2,
0x8C, 0x41, 2,
0x8C, 0x42, 2,
0x8C, 0x5F, 6, //读以上数据集合
0x8C, 0x50, 2,
0x8C, 0x51, 2,
0x8C, 0x52, 2,
0x8C, 0x60, 2, //(当日)三相电流偏差越限累计时间
0x8C, 0x70, 2, //(上日)三相电流偏差越限累计时间
0x8C, 0x8F, 24, //读以上数据集合
0x8C, 0x80, 2,
0x8C, 0x81, 2,
0x8C, 0x82, 2,
0x8C, 0x83, 2,
0x8C, 0x84, 2,
0x8C, 0x85, 2,
0x8C, 0x86, 2,
0x8C, 0x87, 2,
0x8C, 0x88, 2,
0x8C, 0x89, 2,
0x8C, 0x8A, 2,
0x8C, 0x8B, 2,
0x8C, 0x9F, 24, //读以上数据集合
0x8C, 0x90, 2,
0x8C, 0x91, 2,
0x8C, 0x92, 2,
0x8C, 0x93, 2,
0x8C, 0x94, 2,
0x8C, 0x95, 2,
0x8C, 0x96, 2,
0x8C, 0x97, 2,
0x8C, 0x98, 2,
0x8C, 0x99, 2,
0x8C, 0x9A, 2,
0x8C, 0x9B, 2,
0x8C, 0xAF, 6, //读以上数据集合
0x8C, 0xA0, 2,
0x8C, 0xA1, 2,
0x8C, 0xA2, 2,
0x8C, 0xBF, 6, //读以上数据集合
0x8C, 0xB0, 2,
0x8C, 0xB1, 2,
0x8C, 0xB2, 2,
0x8C, 0xCF, 6, //读以上数据集合
0x8C, 0xC0, 2,
0x8C, 0xC1, 2,
0x8C, 0xC2, 2,
0x8C, 0xDF, 6, //读以上数据集合
0x8C, 0xD0, 2,
0x8C, 0xD1, 2,
0x8C, 0xD2, 2,
0x8C, 0xE0, 2, //(当月) 三相电流偏差越限累计时间
0x8C, 0xF0, 2, //(上月) 三相电流偏差越限累计时间
0x8D, 0x0F, 24, //读以上数据集合
0x8D, 0x00, 2,
0x8D, 0x01, 2,
0x8D, 0x02, 2,
0x8D, 0x03, 2,
0x8D, 0x04, 2,
0x8D, 0x05, 2,
0x8D, 0x06, 2,
0x8D, 0x07, 2,
0x8D, 0x08, 2,
0x8D, 0x09, 2,
0x8D, 0x0A, 2,
0x8D, 0x0B, 2,
0x8D, 0x1F, 24, //读以上数据集合
0x8D, 0x10, 2,
0x8D, 0x11, 2,
0x8D, 0x12, 2,
0x8D, 0x13, 2,
0x8D, 0x14, 2,
0x8D, 0x15, 2,
0x8D, 0x16, 2,
0x8D, 0x17, 2,
0x8D, 0x18, 2,
0x8D, 0x19, 2,
0x8D, 0x1A, 2,
0x8D, 0x1B, 2,
0x8D, 0x2F, 6, //读以上数据集合
0x8D, 0x20, 2,
0x8D, 0x21, 2,
0x8D, 0x22, 2,
0x8D, 0x3F, 6, //读以上数据集合
0x8D, 0x30, 2,
0x8D, 0x31, 2,
0x8D, 0x32, 2,
0x8D, 0x4F, 6, //读以上数据集合
0x8D, 0x40, 2,
0x8D, 0x41, 2,
0x8D, 0x42, 2,
0x8D, 0x5F, 6, //读以上数据集合
0x8D, 0x50, 2,
0x8D, 0x51, 2,
0x8D, 0x52, 2,
0x8D, 0x60, 2, //(当年) 三相电流偏差越限累计时间
0x8D, 0x70, 2, //(上年) 三相电流偏差越限累计时间
0x8D, 0x8F, 14, //读以上数据集合
0x8D, 0x80, 2,
0x8D, 0x81, 2,
0x8D, 0x82, 2,
0x8D, 0x83, 2,
0x8D, 0x84, 3,
0x8D, 0x85, 3,
0x8B, 0x0F, 32, //读以上数据集合
0x8B, 0x00, 8,
0x8B, 0x01, 8,
0x8B, 0x02, 8,
0x8B, 0x03, 8,
0x8B, 0x1F, 32, //读以上数据集合
0x8B, 0x10, 8,
0x8B, 0x11, 8,
0x8B, 0x12, 8,
0x8B, 0x13, 8,
0x8B, 0x2F, 32, //读以上数据集合
0x8B, 0x20, 8,
0x8B, 0x21, 8,
0x8B, 0x22, 8,
0x8B, 0x23, 8,
0x8B, 0x3F, 32, //读以上数据集合
0x8B, 0x30, 8,
0x8B, 0x31, 8,
0x8B, 0x32, 8,
0x8B, 0x33, 8,
0x8B, 0x4F, 28, //读以上数据集合
0x8B, 0x40, 7,
0x8B, 0x41, 7,
0x8B, 0x42, 7,
0x8B, 0x43, 7,
0x8B, 0x5F, 28, //读以上数据集合
0x8B, 0x50, 7,
0x8B, 0x51, 7,
0x8B, 0x52, 7,
0x8B, 0x53, 7,
0x8B, 0x6F, 28, //读以上数据集合
0x8B, 0x60, 7,
0x8B, 0x61, 7,
0x8B, 0x62, 7,
0x8B, 0x63, 7,
0x8B, 0x7F, 28, //读以上数据集合
0x8B, 0x70, 7,
0x8B, 0x71, 7,
0x8B, 0x72, 7,
0x8B, 0x73, 7,
0x8B, 0x8F, 32, //读以上数据集合
0x8B, 0x80, 8,
0x8B, 0x81, 8,
0x8B, 0x82, 8,
0x8B, 0x83, 8,
0x8B, 0x9F, 32, //读以上数据集合
0x8B, 0x90, 8,
0x8B, 0x91, 8,
0x8B, 0x92, 8,
0x8B, 0x93, 8,
0x8B, 0xAF, 21, //读以上数据集合
0x8B, 0xA1, 7,
0x8B, 0xA2, 7,
0x8B, 0xA3, 7,
0x8B, 0xBF, 21, //读以上数据集合
0x8B, 0xB1, 7,
0x8B, 0xB2, 7,
0x8B, 0xB3, 7,
0x8B, 0xCF, 21, //读以上数据集合
0x8B, 0xC1, 7,
0x8B, 0xC2, 7,
0x8B, 0xC3, 7,
0x8B, 0xDF, 21, //读以上数据集合
0x8B, 0xD1, 7,
0x8B, 0xD2, 7,
0x8B, 0xD3, 7,
0x8B, 0xEF, 28, //读以上数据集合
0x8B, 0xE0, 7,
0x8B, 0xE1, 7,
0x8B, 0xE2, 7,
0x8B, 0xE3, 7,
0x8B, 0xF1, 7 //(上日)电流偏差最大值及发生时间
};
/*********************************************************************************************************
** 函数名称: ExtrDataIndex()
** 功能描述: 极值类数据索引
**
** 输 入:
** *param 标识码
** *offset 偏移地址指针
**
** 输 出: 字节数
**
** 全局变量:
** 调用模块:
**
** 作 者:
** 日 期: 2007-10-9
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint32 ExtrDataIndex(uint8 *param, uint32 *offset)
{
uint32 i,j;
uint32 len;
len = 0;
*offset = 0;
j = 0;
for (i=0;i<sizeof(EXTR_DATA_TAB);i=i+3)
{
if (j>3)
{
if ((*(EXTR_DATA_TAB+(j-3)+2)&0x0F) != 0x0F) // 如果前一项不是F项
{
*offset += *(EXTR_DATA_TAB + (j-3) + 3); // 取前一项的长度相加
}
else // 如果前一项是F项
{
;
}
}
else
{
*offset = 0x00; // 前两项的偏移地址为0
}
if ((*param==*(EXTR_DATA_TAB+j)) && // 查找相同标识码
(*(param+1)==*(EXTR_DATA_TAB+j+1)))
{
len = *(EXTR_DATA_TAB+j+2);
return(len);
}
else
{
j += 3;
continue;
}
}
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -