91 lines
3.6 KiB
C
91 lines
3.6 KiB
C
|
||
/****************************************************************************
|
||
文件名: PROTECT_61850.h
|
||
----------------------------------------------------------------------------
|
||
描述 : 保护与61850的所有接口函数,在本文件中定义
|
||
本头文件在61850库中也调用,所以本头文件不要修改
|
||
----------------------------------------------------------------------------
|
||
修改日志 :
|
||
日期 姓名 操作
|
||
----------------------------------------------------------------------------
|
||
2011-4-13
|
||
****************************************************************************/
|
||
|
||
|
||
#ifndef _PROTECT_61850_H_
|
||
#define _PROTECT_61850_H_
|
||
|
||
#ifdef __cplusplus
|
||
extern "C"{
|
||
#endif
|
||
|
||
#include "iec61850lib.h"
|
||
|
||
/**************************如下7个函数需要保护定义实现****************************/
|
||
|
||
/** 当61850收到GOOSE报文时,调用保护函数 **/
|
||
void protect_callback_receive_goose(GSE_RX_CTRL* gserCtrl, unsigned long err);
|
||
|
||
/** GOOSE连接 **/
|
||
void protect_callback_goose_connected(int eth_index, GSE_RX_CTRL *gserCtrl, unsigned char con);
|
||
|
||
/** GOOSE通道断开 **/
|
||
void protect_callback_goose_allchnl_disconnected(GSE_RX_CTRL *gserCtrl);
|
||
|
||
/*** 通知保护,GS接收控制块初始化完成,获取保护想要GS参数 2012-03-30***/
|
||
void protect_goose_recv_callback_initilized( const GSE_RX_CTRL* gserCtrl_list );
|
||
|
||
/** 初始化goose发送,并根据发送结构体获取相关需要的参数 2012-03-30**/
|
||
void protect_init_goose_data( const IEC_GOOSE_SEND_USER_INFO * gseSend_user_list );
|
||
|
||
|
||
/** 初始化SMV采样值控制块,在61850系统启动的时候,会调用本函数 不再需要本函数,接口自己读配置文件goose_smv.txt 2012-03-30*/
|
||
//GSV_SV2RECV_INI * protect_get_smv_ini( unsigned int *smv92_recv_ini_num );
|
||
|
||
/*** SMV 初始化完成后, 通知保护获取保护要得到的参数 2012-03-30; add accessMode at 2012-12-17**/
|
||
void protect_smv2_callback_initilized (const GSV_SV2RECV_CTRL *pSmv92Data_array, int number, int accessMode);
|
||
|
||
/***收到SMV后的处理, svIndex从0开始的序号,svNum本次收到的SMV总个数,recvTime收到的相对时间,单位纳妙 2012-08-13**/
|
||
void protect_smv2_callback_recv (GSV_SV2RECV_CTRL *pSmv92Data, int svIndex, int svNum, unsigned int recvTime);
|
||
|
||
|
||
/*** GOOSE SMV 初始化中发生错误 1=SMV错误,2=goose错误**/
|
||
void protect_callback_init_fail( unsigned int err );
|
||
|
||
/***********************下面两个函数只需要调用*********************************/
|
||
|
||
/** 当保护需要修改61850空间中GOOSE的值时,调用本函数 本函数第2个参数未用 **/
|
||
int gw61850gse_data_value_change( AS_DA_TYPE daType, unsigned char doType,
|
||
unsigned short virualIndex, void * dataValue );
|
||
|
||
/** 修改完毕GOOSE值,调用本函数发送GOOSE报文 **/
|
||
void gw61850gse_check_and_send( void );
|
||
|
||
/*** 这个函数可以考虑不调用,由GOOSE任务调用,减少中断中处理数据量 ******/
|
||
void gw61850gse_send_goose( void );
|
||
|
||
/**** 检修状态变化的时候,调用本函数,使发送GOOSE置test标志位(0,1) 2012-03-30 *****/
|
||
void gw61850gse_set_test_sign( unsigned char state );
|
||
|
||
|
||
/***********************下面两个函数需要初始化调用*********************************/
|
||
|
||
/** 保护调用本函数,初始化smv的接收函数,u_callback函数需要保护定义 不需要调用 2012-03-30*/
|
||
//int smvapi_init( U_SMV2RECV_CALLBACK u_callback);
|
||
|
||
/** 调用本函数,初始化GOOSE(SMV由上面函数初始化,这里没有初始化) **/
|
||
int goosesmv_init( void );
|
||
|
||
|
||
/******************下面两个函数释放对象空间,程序退出调用(用不到)************************/
|
||
int goosesmv_release( );
|
||
//int smvapi_release();
|
||
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
|
||
#endif
|