2025-04-30 16:24:29 +08:00

180 lines
5.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/****************************************************************************/
/* Copyright (c) 2008,许继集团有限公司 */
/* All rights reserved. */
/* */
/* 模块描述: */
/** AS_DA_TYPE AS_CDC_TYPE定义
* @file as_def.h */
/* */
/* 日期 作者 注释 */
/* 2010/04/07 ZYZ 创建文件 */
/****************************************************************************/
#ifndef IEC61850_AS_DEF_H
#define IEC61850_AS_DEF_H
#include "sysincs.h"
#include "glbtypes.h"
//#include "usermap.h"
//#include "mvl_uca.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* 61850简单数据类型
*/
typedef enum{
AS_DA_TYPE_UNKNOWN = 0,
AS_DA_TYPE_BOOLEAN,
AS_DA_TYPE_INT8,
AS_DA_TYPE_INT16,
AS_DA_TYPE_INT32,
AS_DA_TYPE_INT128,
AS_DA_TYPE_INT8U,
AS_DA_TYPE_INT16U,
AS_DA_TYPE_INT32U,
AS_DA_TYPE_FLOAT32,
AS_DA_TYPE_FLOAT64,
AS_DA_TYPE_CODEDENUM, //固定长度的bitstring, 2bit
// AS_DA_TYPE_TCMD, //固定长度的bitstring, 2bit
AS_DA_TYPE_OSTRING8, //变长octet string,最大长度8个字节
AS_DA_TYPE_OSTRING64, //变长octet string,最大长度64个字节
AS_DA_TYPE_VSTRING64, //可视变长字符串最大长度64
AS_DA_TYPE_VSTRING65, //可视变长字符串最大长度65
AS_DA_TYPE_VSTRING129, //可视变长字符串最大长度129
AS_DA_TYPE_VSTRING255 , //可视变长字符串最大长度255
AS_DA_TYPE_UNISTRING255, //utf-8字符串最大255个字符
AS_DA_TYPE_QUALITY, //变长bitstring 13bit
AS_DA_TYPE_TIMESTAMP, //utctime
AS_DA_TYPE_ENTRYTIME, //binary timebtime6格式
AS_DA_TYPE_OPTFLDS, //变长bitstring 10bit
AS_DA_TYPE_TRGC, //变长bitstring 6bit
AS_DA_TYPE_CHECK, //变长bitstring 2bit
AS_DA_TYPE_ENTRYID, //固定长度的octet string, 8个字节
AS_DA_TYPE_STRUCT //复杂类型的数据
}AS_DA_TYPE;
/**
* 61850cdc类型
*/
typedef enum{
AS_CDC_TYPE_UNKNOWN,
AS_CDC_TYPE_SPS,
AS_CDC_TYPE_DPS,
AS_CDC_TYPE_INS,
AS_CDC_TYPE_ACT,
AS_CDC_TYPE_ACD,
AS_CDC_TYPE_SEC,
AS_CDC_TYPE_BCR,
AS_CDC_TYPE_MV,
AS_CDC_TYPE_CMV,
AS_CDC_TYPE_SAV,
AS_CDC_TYPE_SPC,
AS_CDC_TYPE_DPC,
AS_CDC_TYPE_INC,
AS_CDC_TYPE_BSC,
AS_CDC_TYPE_ISC,
AS_CDC_TYPE_APC,
AS_CDC_TYPE_SPG,
AS_CDC_TYPE_ING,
AS_CDC_TYPE_ASG,
AS_CDC_TYPE_CURVE,
AS_CDC_TYPE_DPL,
AS_CDC_TYPE_LPL,
AS_CDC_TYPE_CSD,
AS_CDC_TYPE_WYE,
AS_CDC_TYPE_DEL,
AS_CDC_TYPE_SEQ,
AS_CDC_TYPE_HMV,
AS_CDC_TYPE_HWYE,
AS_CDC_TYPE_HDEL,
AS_CDC_TYPE_ENC,
AS_CDC_TYPE_ENS,
AS_CDC_TYPE_ENG,
AS_CDC_TYPE_HST,
AS_CDC_TYPE_ORG,
AS_CDC_TYPE_TSG,
AS_CDC_TYPE_CSG,
AS_CDC_TYPE_STG
}AS_CDC_TYPE;
/************************************************************************/
/* TYPEDEFS for MMS TYPES */
/************************************************************************/
/* Use ":CF", "-notypedefs" in the ODF file to not include this line */
#define USE_MMS_TYPEDEFS
#if defined (USE_MMS_TYPEDEFS)
/* types followed are copied from gsmv djf 20100120*/
typedef struct /* OVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[8];
}ST_OCTET_STRING8; /* Octetstring */
typedef struct /* OVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[64];
} ST_OCTET_STRING64; /* Octetstring */
typedef ST_CHAR ST_VISIBLE_STRING255[256]; /* Visible String */
typedef ST_CHAR ST_VISIBLE_STRING64[65]; /* Visible String */
typedef ST_CHAR ST_VISIBLE_STRING65[66]; /* Visible String */
typedef ST_CHAR ST_UNICODE_STRING255[512];
typedef struct
{
ST_UINT32 secs; /* UTC Time is struct of three ST_UINT32 */
ST_UINT32 fraction;
ST_UINT32 qflags;
}ST_TIMESTAMP;
typedef struct
{
ST_INT32 btime6_ms; /* Btime6 is two ST_INT32 */
ST_INT32 btime6_days;
} ST_ENTRYTIME;
typedef struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
}ST_QUALITY; /* Bitstring */
typedef ST_UCHAR ST_ENTRYID[8]; /* Octetstring */
typedef struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} ST_OPTFLDS; /* Bitstring */
typedef struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[1];
} ST_TRG_CONDITION; /* Bitstring */
typedef struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[1];
} ST_CHECK; /* Bitstring */
/************************************************************************/
#endif /* if defined (USE_MMS_TYPEDEFS) */
/************************************************************************/
#ifdef __cplusplus
}
#endif
#endif