commCPU_SUPV/code/protect/demo/protect_61850.h
2025-04-30 16:24:29 +08:00

91 lines
3.6 KiB
C
Raw Permalink 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.

/****************************************************************************
文件名: 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错误2goose错误**/
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