/**************************************************************************** 文件名: 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