commCPU_SUPV/code/user/inc/comtrade_read.h

138 lines
3.0 KiB
C
Raw Permalink Normal View History

2025-04-30 16:24:29 +08:00
#ifndef COMTRADE_READ_123_INCLUDED
#define COMTRADE_READ_123_INCLUDED
#include "glbtypes.h"
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
#define COMTRADE_FILE_LIST_NUM_MAX 800
#define GZBG_FLTNUM_PRE "_FltNum"
#define COMTRADE_FILE_NUM_MAX 128
typedef struct
{
ST_UINT faultIndex;
ST_UCHAR cp56[8];
ST_CHAR fileExt[8];
} COMTRADE_FILE_NAME_INFO;
typedef struct
{
ST_CHAR fileName[128];
COMTRADE_FILE_NAME_INFO nameInfo;
} COMTRADE_FILE_NAME;
typedef struct
{
ST_INT fileNum;
COMTRADE_FILE_NAME fileBuf[COMTRADE_FILE_LIST_NUM_MAX];
} COMTRADE_FILE_LIST;
/************<2A><>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ***********/
typedef struct
{
///װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//LD<4C><44>
//<2F><><EFBFBD>Ϻ<EFBFBD>
unsigned short fltNum;
unsigned char year; //<2F><>
unsigned char month; //<2F><>
unsigned char day; //<2F><>
unsigned char hour; //ʱ
unsigned char minute; //<2F><>
unsigned char second; //<2F><>
unsigned short millsecond; //<2F><><EFBFBD><EFBFBD>
} GZBG_FILE_NAME;
typedef struct
{
int index; //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char desc[64]; //ͨ<><CDA8>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>
char ph[3]; //ͨ<><CDA8><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
char unit[3]; //<2F><>·<EFBFBD><C2B7>Ԫ
char uu[32]; //ͨ<><CDA8><EFBFBD><EFBFBD>λ
float a; //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float b; //ͨ<><CDA8>ƫ<EFBFBD><C6AB>ֵ
float lag; //ͨ<><CDA8>ʱ<EFBFBD>ӳ٣<D3B3>us
int min; //<2F><>Сֵ
int max; //<2F><><EFBFBD><EFBFBD>ֵ
float priCoeff; //һ<><D2BB>ϵ<EFBFBD><CFB5>
float secCoeff; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
char kind; //<2F><>һ<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD>
} CFG_FILE_ANALOG_INFO;
typedef struct
{
int index; //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char ch_id[65]; //ͨ<><CDA8><EFBFBD><EFBFBD>
char ph[3]; //ͨ<><CDA8><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
char ccbm[65]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>·ԭ<C2B7><D4AD>
char y; //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
} CFG_FILE_DIGITAL_INFO;
typedef struct
{
int day;
int month;
int year;
int hour;
int minute;
int second;
int usec;
} CFG_FILE_GZ_TIME;
typedef struct
{
int callTime;
int chlNum;
int achlNum;
int dchlNum;
float frequence;
unsigned int pointNum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CFG_FILE_GZ_TIME recordTime;
int segmentNum; //<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4>Ͷεĸ<CEB5><C4B8><EFBFBD>
//ģ<><C4A3>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD> 64 <20><>ģ<EFBFBD><C4A3>ͨ<EFBFBD><CDA8>
CFG_FILE_ANALOG_INFO analog_chl[60];
//<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CFG_FILE_DIGITAL_INFO digital_chl[32];
char DATFileDirName[128]; //¼<><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char checkSum; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ۼ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
} CFG_FILE_CHLINFO;
/************<2A><>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ END***********/
ST_UINT comtrade_read_fault_index_max( ST_UCHAR deleteFileFlag , ST_UCHAR isGroup);//ghc 20250430 modified <20><><EFBFBD>ֹ<EFBFBD><D6B9>Ϻͳ<CFBA><CDB3><EFBFBD><EFBFBD><E6A3AC><EFBFBD>ŷֿ<C5B7>
const COMTRADE_FILE_LIST * comtrade_read_file_list_order( const ST_CHAR *fileExt );
const ST_VOID * comtrade_read_fault_xml( ST_UINT16 faultIndex );
const ST_VOID * comtrade_read_fault_xml_build_order( ST_INT buildIndex, ST_INT *faultIndex );
ST_RET comtrade_read_fault_cfg( ST_UINT16 faultIndex, CFG_FILE_CHLINFO *cfgfileChlInfo );
ST_RET comtrade_read_fault_dat( const ST_CHAR *pathName, ST_INT analogNum, ST_INT digitalNum, ST_VOID *wave, ST_VOID *digitalVoid );
/************************************************************************/
#ifdef __cplusplus
}
#endif
#endif