180 lines
5.6 KiB
C
180 lines
5.6 KiB
C
/****************************************************************************/
|
||
/* 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 time,btime6格式
|
||
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
|