|
|
|
|
/****************************************************************************
|
|
|
|
|
** File name : HTDataStruct.h
|
|
|
|
|
** Description : define data struct
|
|
|
|
|
** Create date : 2018.09.01
|
|
|
|
|
** Auther by : Liuyx
|
|
|
|
|
** Version info : V1.0.01
|
|
|
|
|
** Copyright (C) 2002-2018 xi'an huatek, Inc Co., Ltd
|
|
|
|
|
** Update record:
|
|
|
|
|
** DATE AUTHER DESC
|
|
|
|
|
** -------------------------------------------------------------------------
|
|
|
|
|
** 2018.09.01 Liuyx first build
|
|
|
|
|
****************************************************************************/
|
|
|
|
|
#ifndef __HT_DATA_STRUCT_H
|
|
|
|
|
#define __HT_DATA_STRUCT_H
|
|
|
|
|
#include <map>
|
|
|
|
|
#include "HTConst.h"
|
|
|
|
|
#include "iec61850_client.h"
|
|
|
|
|
#include "iec61850_model.h"
|
|
|
|
|
#include "iec61850_dynamic_model.h"
|
|
|
|
|
#include "iec61850_config_file_parser.h"
|
|
|
|
|
|
|
|
|
|
#pragma pack (push ,1)
|
|
|
|
|
|
|
|
|
|
#define HT_COMTRADE_REDOWN 1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define HT_COMTRADE_DOWNED 2 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
// <20><>ַװ<D6B7>ù<EFBFBD>ϵ
|
|
|
|
|
typedef struct {
|
|
|
|
|
char szMID[DEF_BUFFER_32+1]; // <20><><EFBFBD><EFBFBD>ID
|
|
|
|
|
char szSID[DEF_BUFFER_32 + 1]; // װ<><D7B0>ID
|
|
|
|
|
char szSysCode[DEF_BUFFER_32 + 1]; // װ<>ñ<EFBFBD><C3B1><EFBFBD>,Ψһ
|
|
|
|
|
char szSersorID[DEF_BUFFER_32 + 1]; // װ<>ñ<EFBFBD><C3B1><EFBFBD>,Ψһ
|
|
|
|
|
char szMDevName[DEF_BUFFER_128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
char szSubName[DEF_BUFFER_128]; // װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
char cSlaveID; // Modbus<75><73>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ӧһ<D3A6><D2BB>װ<EFBFBD>õ<EFBFBD>ID
|
|
|
|
|
char cDevType; // װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1:<3A><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> 2:<3A><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> 3:<3A><><EFBFBD>ĵ<EFBFBD>װ<EFBFBD><D7B0>
|
|
|
|
|
char cSide; // ԭ<><D4AD><EFBFBD><EFBFBD> P: ԭ<><D4AD> S:<3A><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>device_type=1ʱ<31><CAB1>Ч
|
|
|
|
|
char cPhase; // <20><>λ A:A<><41> B:B<><42> C:C<><43> O:ȫ<><C8AB>;,<2C><><EFBFBD><EFBFBD>device_type=1ʱ<31><CAB1>Ч
|
|
|
|
|
char cInOut; // <20>ϴβ<CFB4><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> I:<3A>ϲ<EFBFBD>/<2F><><EFBFBD>ڲ<EFBFBD> O:<3A>²<EFBFBD>/<2F><><EFBFBD>ڲ<EFBFBD>; <20><><EFBFBD><EFBFBD>device_type=1ʱ<31><CAB1>Ч
|
|
|
|
|
}ST_DEVICE_INFO;
|
|
|
|
|
|
|
|
|
|
// <20>豸<EFBFBD><E8B1B8>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
char szMID[DEF_BUFFER_32+1]; // <20><><EFBFBD><EFBFBD><EFBFBD>豸ID
|
|
|
|
|
char szSysCode[DEF_BUFFER_32+1]; // <20><><EFBFBD><EFBFBD><EFBFBD>豸system_code
|
|
|
|
|
char szMDevName[DEF_BUFFER_128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
char szSubID[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|
|
|
|
char szSensorID[DEF_BUFFER_32]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SersorID
|
|
|
|
|
char szSDevName[DEF_BUFFER_128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
char bDevType; // 1:<3A><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> 2:<3A><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> 3:<3A><><EFBFBD>ĵ<EFBFBD>װ<EFBFBD><D7B0>
|
|
|
|
|
//ST_THRESHOLD_ATTR stThresAttr; // <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
char bSide; // P:ԭ<><D4AD> S:<3A><><EFBFBD><EFBFBD>
|
|
|
|
|
char bPhase; // <20><>λ A<><41>B<EFBFBD><42>C<EFBFBD><43>O
|
|
|
|
|
char bInOut; // <20><><EFBFBD><EFBFBD>-<2D>ϲ<EFBFBD>/<2F><><EFBFBD><EFBFBD>-<2D>²<EFBFBD>
|
|
|
|
|
char szFrequency[4+1]; // Ƶ<><C6B5>,50Hz~1200Hz
|
|
|
|
|
double dThreshold; // <20>澯ֵ
|
|
|
|
|
}ST_THRES_CONF;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
// ԭ<><D4AD><EFBFBD><EFBFBD><F1B6AFBC><EFBFBD>ֵ
|
|
|
|
|
double AccPri1; // ԭ<><D4AD>A<EFBFBD><41><EFBFBD>ϲ<EFBFBD>50Hz
|
|
|
|
|
double AccPri2; // ԭ<><D4AD>A<EFBFBD><41><EFBFBD>²<EFBFBD>50Hz
|
|
|
|
|
double AccPri3;
|
|
|
|
|
double AccPri4;
|
|
|
|
|
double AccPri5;
|
|
|
|
|
double AccPri6;
|
|
|
|
|
double AccPri7;
|
|
|
|
|
double AccPri8;
|
|
|
|
|
double AccPri9;
|
|
|
|
|
double AccPri10;
|
|
|
|
|
double AccPri11;
|
|
|
|
|
double AccPri12;
|
|
|
|
|
double AccPri13;
|
|
|
|
|
double AccPri14;
|
|
|
|
|
double AccPri15;
|
|
|
|
|
double AccPri16;
|
|
|
|
|
double AccPri17;
|
|
|
|
|
double AccPri18;
|
|
|
|
|
double AccPri19;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1B6AFBC><EFBFBD>ֵ
|
|
|
|
|
double AccSec1; // <20><><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>ϲ<EFBFBD>100Hz
|
|
|
|
|
double AccSec2;
|
|
|
|
|
double AccSec3;
|
|
|
|
|
double AccSec4;
|
|
|
|
|
double AccSec5;
|
|
|
|
|
double AccSec6;
|
|
|
|
|
double AccSec7; // <20><><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>ϲ<EFBFBD>700Hz
|
|
|
|
|
|
|
|
|
|
double EnvNoiPri; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ(dB)
|
|
|
|
|
double NeuCur; // <20><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>ֵ(A)
|
|
|
|
|
}ST_MONI_DATA;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
|
|
|
|
|
typedef struct {
|
|
|
|
|
char szMID[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD>豸ID
|
|
|
|
|
char szSysCode[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD>豸system_code
|
|
|
|
|
char szSubID[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|
|
|
|
char szSensorID[DEF_BUFFER_32]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SersorID
|
|
|
|
|
char szSubName[DEF_BUFFER_128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>-<2D><><EFBFBD><EFBFBD>IED<45><44><EFBFBD><EFBFBD>
|
|
|
|
|
bool isEnable; // TRUE:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FLASE: <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>
|
|
|
|
|
bool alone; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, true:yes false: no
|
|
|
|
|
int SmpProd; // <20>ɼ<EFBFBD>Ƶ<EFBFBD><C6B5>(KHz)
|
|
|
|
|
int SmpInt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Сʱ)
|
|
|
|
|
int StartTime; // <20><>ʼʱ<CABC><CAB1>
|
|
|
|
|
}ST_CONTROL_CONF;
|
|
|
|
|
|
|
|
|
|
// <20>澯<EFBFBD><E6BEAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
|
|
|
|
typedef struct {
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>Ÿ澯
|
|
|
|
|
bool MoDevConf; // IED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ͨѶ<CDA8>쳣
|
|
|
|
|
bool MoDevDetF; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>쳣
|
|
|
|
|
bool MoDevSigF; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA>쳣
|
|
|
|
|
bool MoDevPowF; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣
|
|
|
|
|
bool EnvNoiPriAlm;// ԭ<><EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澯
|
|
|
|
|
bool NeuCurAlm; // <20><><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澯
|
|
|
|
|
|
|
|
|
|
// ԭ<>߸澯<DFB8><E6BEAF><EFBFBD><EFBFBD>
|
|
|
|
|
bool AccPriAlm1; // ԭ<><D4AD>50Hz<48>澯<EFBFBD><E6BEAF><EFBFBD><EFBFBD>
|
|
|
|
|
bool AccPriAlm2;
|
|
|
|
|
bool AccPriAlm3;
|
|
|
|
|
bool AccPriAlm4;
|
|
|
|
|
bool AccPriAlm5;
|
|
|
|
|
bool AccPriAlm6;
|
|
|
|
|
bool AccPriAlm7;
|
|
|
|
|
bool AccPriAlm8;
|
|
|
|
|
bool AccPriAlm9;
|
|
|
|
|
bool AccPriAlm10;
|
|
|
|
|
bool AccPriAlm11;
|
|
|
|
|
bool AccPriAlm12;
|
|
|
|
|
bool AccPriAlm13;
|
|
|
|
|
bool AccPriAlm14;
|
|
|
|
|
bool AccPriAlm15;
|
|
|
|
|
bool AccPriAlm16;
|
|
|
|
|
bool AccPriAlm17;
|
|
|
|
|
bool AccPriAlm18;
|
|
|
|
|
bool AccPriAlm19;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>߸澯<DFB8><E6BEAF><EFBFBD><EFBFBD>
|
|
|
|
|
bool AccSecAlm1;
|
|
|
|
|
bool AccSecAlm2;
|
|
|
|
|
bool AccSecAlm3;
|
|
|
|
|
bool AccSecAlm4;
|
|
|
|
|
bool AccSecAlm5;
|
|
|
|
|
bool AccSecAlm6;
|
|
|
|
|
bool AccSecAlm7;
|
|
|
|
|
}ST_WARN_ALARM;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
typedef struct {
|
|
|
|
|
char bSide; // P:ԭ<><D4AD> S:<3A><><EFBFBD><EFBFBD>
|
|
|
|
|
char bPhase; // <20><>λ A<><41>B<EFBFBD><42>C<EFBFBD><43>O
|
|
|
|
|
char bInOut; // <20><><EFBFBD><EFBFBD>-<2D>ϲ<EFBFBD>/<2F><><EFBFBD><EFBFBD>-<2D>²<EFBFBD>
|
|
|
|
|
int iFrequency; // Ƶ<><C6B5>,50Hz~1200Hz
|
|
|
|
|
double dThreshold; // <20>澯ֵ
|
|
|
|
|
}ST_THRESHOLD_ATTR;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
typedef struct {
|
|
|
|
|
char ied_addr[32];
|
|
|
|
|
int ied_port;
|
|
|
|
|
IedConnection hConnHandle; // <20><><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD>
|
|
|
|
|
bool bIsConnect; // <20><><EFBFBD><EFBFBD>״̬, true:connected flase:disconnect
|
|
|
|
|
bool bWarn; //
|
|
|
|
|
time_t iLastTime; // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
time_t iLastActionTime;// <20><><EFBFBD><EFBFBD>һ<EFBFBD>λʱ<EEB6AF><CAB1>
|
|
|
|
|
time_t iLastAlaarmTime; // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>Ӹ澯ʱ<E6BEAF><CAB1>
|
|
|
|
|
IedModel *tIedModel; // ģ<>;<EFBFBD><CDBE><EFBFBD>
|
|
|
|
|
}ST_IED_CONN_HANDLE;
|
|
|
|
|
|
|
|
|
|
// iec61850 ¼<><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>
|
|
|
|
|
typedef struct _comtrad_files_attrib {
|
|
|
|
|
char bstat; // 1:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short sNo; // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>,ϵͳ<CFB5>Ա<EFBFBD>
|
|
|
|
|
int iFileSize; // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
char szFileName[_MAX_DIR]; // <20>ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>+<2B>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
}ST_FILES_ATTRIB;
|
|
|
|
|
|
|
|
|
|
// ¼<><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|
|
|
|
typedef struct {
|
|
|
|
|
int sno; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
int tme; // ʱ<><CAB1>,ms
|
|
|
|
|
short A1; // <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ԭ<EFBFBD><D4AD>A<EFBFBD><41><EFBFBD>ϲ<EFBFBD>
|
|
|
|
|
short A2; // <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ԭ<EFBFBD><D4AD>A<EFBFBD><41><EFBFBD>²<EFBFBD>
|
|
|
|
|
short B1; // <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ԭ<EFBFBD><D4AD>B<EFBFBD><42><EFBFBD>ϲ<EFBFBD>
|
|
|
|
|
short B2; // <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ԭ<EFBFBD><D4AD>B<EFBFBD><42><EFBFBD>²<EFBFBD>
|
|
|
|
|
short C1; // <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ԭ<EFBFBD><D4AD>C<EFBFBD><43><EFBFBD>ϲ<EFBFBD>
|
|
|
|
|
short C2; // <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ԭ<EFBFBD><D4AD>C<EFBFBD><43><EFBFBD>²<EFBFBD>
|
|
|
|
|
|
|
|
|
|
short a1; // <20><><EFBFBD><EFBFBD>װ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD>A<EFBFBD><41><EFBFBD>ϲ<EFBFBD>
|
|
|
|
|
short a2; // <20><><EFBFBD><EFBFBD>װ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD>A<EFBFBD><41><EFBFBD>²<EFBFBD>
|
|
|
|
|
short b1; // <20><><EFBFBD><EFBFBD>װ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD>B<EFBFBD><42><EFBFBD>ϲ<EFBFBD>
|
|
|
|
|
short b2; // <20><><EFBFBD><EFBFBD>װ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD>B<EFBFBD><42><EFBFBD>²<EFBFBD>
|
|
|
|
|
short c1; // <20><><EFBFBD><EFBFBD>װ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD>C<EFBFBD><43><EFBFBD>ϲ<EFBFBD>
|
|
|
|
|
short c2; // <20><><EFBFBD><EFBFBD>װ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD>C<EFBFBD><43><EFBFBD>²<EFBFBD>
|
|
|
|
|
|
|
|
|
|
short nsi; // <20><><EFBFBD><EFBFBD>(dB)
|
|
|
|
|
short crt; // <20><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>(A)
|
|
|
|
|
}ST_COMTRAD_DATA;
|
|
|
|
|
|
|
|
|
|
// icd<63><64><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD>ϵ
|
|
|
|
|
typedef struct {
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> 01=ԭ<><D4AD>A<EFBFBD><41> 02=ԭ<><D4AD>A<EFBFBD><41> 03=ԭ<><D4AD>B<EFBFBD><42> 04=ԭ<><D4AD>B<EFBFBD><42> 05=ԭ<><D4AD>C<EFBFBD><43> 06=ԭ<><D4AD>C<EFBFBD><43>
|
|
|
|
|
// 07=<3D><><EFBFBD><EFBFBD>A<EFBFBD><41> 08=<3D><><EFBFBD><EFBFBD>A<EFBFBD><41> 09=<3D><><EFBFBD><EFBFBD>B<EFBFBD><42> 10=<3D><><EFBFBD><EFBFBD>B<EFBFBD><42> 11=<3D><><EFBFBD><EFBFBD>C<EFBFBD><43> 12=<3D><><EFBFBD><EFBFBD>C<EFBFBD><43>
|
|
|
|
|
int nodeid; // <20>ڵ<EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|
|
|
|
char szFrequency[5]; //Ƶ<><C6B5>
|
|
|
|
|
char sensorid[DEF_BUFFER_32 + 1]; // sensor_code
|
|
|
|
|
char nodename[128]; // <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
char nodetype[4]; // <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> MX,ST,SE
|
|
|
|
|
char monitype; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 1=<3D><EFBFBD><F1B6AFBC><EFBFBD>ֵ 2=<3D>澯 3=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 4=<3D><><EFBFBD><EFBFBD><EFBFBD>澯 5=<3D><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD> 6=<3D><><EFBFBD>ĵ<EFBFBD><C4B5>澯
|
|
|
|
|
}ST_PARAM_BIND;
|
|
|
|
|
|
|
|
|
|
// IED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
typedef struct {
|
|
|
|
|
double MX_f; // MX<4D><58><EFBFBD><EFBFBD>ֵ,<2C><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
bool ST_val; // ST<53><54><EFBFBD><EFBFBD>ֵ,<2C><><EFBFBD><EFBFBD><EFBFBD>澯ֵ
|
|
|
|
|
int SE_Val; // SE<53>趨ֵ<E8B6A8><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
time_t t; // ʱ<><CAB1>ֵ
|
|
|
|
|
}ST_IED_VALUES;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
typedef struct {
|
|
|
|
|
char szSubID[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|
|
|
|
char szSensorID[DEF_BUFFER_32]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SersorID
|
|
|
|
|
char szSDevName[DEF_BUFFER_128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
char bDevType; // 1:<3A><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> 2:<3A><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> 3:<3A><><EFBFBD>ĵ<EFBFBD>װ<EFBFBD><D7B0>
|
|
|
|
|
ST_CONTROL_CONF stControl; // <20><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
map<int, ST_THRESHOLD_ATTR> map_stThres; // <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,
|
|
|
|
|
map<string, ST_PARAM_BIND> map_stParamBind; // icd<63><64><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD>ϵ,key=nodename
|
|
|
|
|
|
|
|
|
|
// ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
ST_MONI_DATA stMoni; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
ST_WARN_ALARM stAlarm; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澯<EFBFBD><E6BEAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
ST_FILES_ATTRIB stComtradFile; // ¼<><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
ST_COMTRAD_DATA stComtradeContext;// ¼<><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
}ST_BASE_DEVICE_INFO;
|
|
|
|
|
|
|
|
|
|
// Уʱ<D0A3><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
typedef struct {
|
|
|
|
|
int sntp_port; // port
|
|
|
|
|
char sntp_s_ip[32]; // sntp_server address
|
|
|
|
|
bool manual; // true: <20>ֶ<EFBFBD>
|
|
|
|
|
}ST_SNTP_CONF;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>װ<EFBFBD>ñ<EFBFBD><C3B1>ṹ
|
|
|
|
|
typedef struct {
|
|
|
|
|
char file_id[DEF_BUFFER_32+1]; // ¼<><C2BC><EFBFBD>ļ<EFBFBD>ID
|
|
|
|
|
char m_id[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD>ID
|
|
|
|
|
char s_id[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|
|
|
|
char szSensorID[DEF_BUFFER_32 + 1]; // SensorID
|
|
|
|
|
char szDevType; // 1:<3A><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> 2 : <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> 3 : <20><><EFBFBD>ĵ<EFBFBD>װ<EFBFBD><D7B0>
|
|
|
|
|
char szFrequency[5]; // Ƶ<><C6B5>
|
|
|
|
|
char side; // ԭ<><D4AD><EFBFBD><EFBFBD>P:ԭ<><D4AD> S:<3A><><EFBFBD><EFBFBD>
|
|
|
|
|
char phase; // <20><>λ
|
|
|
|
|
char in_out; // <20><><EFBFBD>²<EFBFBD> U:<3A>ϲ<EFBFBD> D:<3A>²<EFBFBD>
|
|
|
|
|
double value; // <20><>ֵ,<2C><><EFBFBD><EFBFBD>,<2C><><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
time_t dtime; // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
}ST_DB_BODY;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ
|
|
|
|
|
typedef struct {
|
|
|
|
|
char s_id[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|
|
|
|
char valunit[8]; // <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>λ:dB,A,mm/s2
|
|
|
|
|
char szDesc[128]; // <20>澯<EFBFBD><E6BEAF><EFBFBD><EFBFBD>
|
|
|
|
|
char warn_type; // <20>澯<EFBFBD><E6BEAF><EFBFBD><EFBFBD> 1:ͨ<><CDA8><EFBFBD>쳣<EFBFBD>澯 2:װ<><D7B0><EFBFBD>Լ<EFBFBD><D4BC>쳣<EFBFBD>澯 3:<3A>ź<EFBFBD><C5BA>쳣<EFBFBD>澯 4:<3A><><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD>澯 5:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>澯
|
|
|
|
|
// 6:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>澯 7:<3A><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>ֵ<EFBFBD>澯 8:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ澯 9:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ澯 10:<3A><>ƫ<EFBFBD><C6AB><EFBFBD>ʸ澯
|
|
|
|
|
// 11: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IEDͨ<44><CDA8><EFBFBD>쳣
|
|
|
|
|
// 12:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澯 13:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澯 14:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>澯
|
|
|
|
|
char level; // <20>澯<EFBFBD><E6BEAF><EFBFBD><EFBFBD> 0:<3A><> 1:<3A><> 2:<3A><>
|
|
|
|
|
char state; // <20><><EFBFBD><EFBFBD>״̬ 0:<3A>Ѵ<EFBFBD><D1B4><EFBFBD> 1:δ<><CEB4><EFBFBD><EFBFBD>
|
|
|
|
|
double value; // <20><>ֵ,<2C><><EFBFBD><EFBFBD>,<2C><><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
time_t almtime; // <20>澯ʱ<E6BEAF><CAB1>
|
|
|
|
|
}ST_DB_WARN;
|
|
|
|
|
|
|
|
|
|
// IEC61850<35>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
char szMID[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD>豸ID
|
|
|
|
|
char szSysCode[DEF_BUFFER_32 + 1]; // <20><><EFBFBD><EFBFBD><EFBFBD>豸system_code
|
|
|
|
|
char szMDevName[DEF_BUFFER_128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
ST_BASE_DEVICE_INFO stBaseInfo; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
ST_IED_CONN_HANDLE stConnect; // IED<45><44><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>
|
|
|
|
|
ST_SNTP_CONF stSntp; // Уʱ<D0A3><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
}ST_HT_IEC61850;
|
|
|
|
|
|
|
|
|
|
#pragma pack (pop)
|
|
|
|
|
#endif // end
|
|
|
|
|
|