⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 protectlflsh_protect.c

📁 电力系统中的保护装置全部代码
💻 C
📖 第 1 页 / 共 2 页
字号:
/********************************************************************************/
/*                                                                              */
/* 程序名:							                */
/*                                                                              */
/*      LFLSH_Protect.C                              		        	*/
/*                                                                              */
/* 功能:	                  		                           		*/
/*                                                                              */
/*                                                                              */
/********************************************************************************/     

#include        "BaseVariable.h" 
#include	"ProLF.h"

///////////////////////////////////////////
////////////////保护初始化函数///////////////
///////////////////////////////////////////

VOID   LFLSH_Initialize(PROTECT *ptr)
{
PROTECT         *pProtect;
SETTING         *pSets;
SOE             *pSoe;
VALUE           *pValue;
JUMPER          *pJumper; 
REPORT          *pReport;
int i;

// ----------------------------------------------------- // 
//保护结构体指针赋值
    pProtect = ptr;        
//保护缓冲区指针赋值
    pProtect->pro_jumper      =    LF_jumper;
    pProtect->pro_setting     =    LF_setting;		
    pProtect->pro_run_data    =    LF_rundata;
//保护ID号
    pProtect->pro_id = PRO_Total_Protect;
//保护装置名
    pProtect->ppro_device_name = "WXH-821";     
//保护名
    pProtect->ppro_name = "低频减载保护";				
//跳闸位
    pProtect->pro_trip = 0x1;

//////模拟通道  
// ----------------------------------------------------- // 
//相电流                       	
    pProtect->pro_analog_channel[0]    =    PIa_Chn;
    pProtect->pro_analog_channel[1]    =    PIb_Chn;
    pProtect->pro_analog_channel[2]    =    PIc_Chn;
        
//电压         
    pProtect->pro_analog_channel[3]    =    Ua_Chn;
    pProtect->pro_analog_channel[4]    =    Ub_Chn;
    pProtect->pro_analog_channel[5]    =    Uc_Chn;         

//////压板
// ----------------------------------------------------- // 
//压板个数
    pProtect->pro_jumper_number    =    0;
//指针赋值            
    pJumper = pProtect->pro_jumper;  
//ID号
    pJumper->pro_id     =    pProtect->pro_id;	
//序号
    pJumper->jum_id     =    pProtect->pro_jumper_number;                                         
//INF
    pJumper->jum_inf    =    189; 
//CONTROLINF
    pJumper->jum_ctrl   =    55;                                            
//压板名称
    pJumper->pjum_name     = 	"低频减载投退";
    pJumper->pjum_alias    =    "DPJZ";
//压板状态
    pJumper->jum_status    = 	1; 
//赋值增量
    pJumper++;  
    pProtect->pro_jumper_number++; 

//////定值 
// ----------------------------------------------------- // 
//定值个数                        
    pProtect->pro_setting_number = 0; 
    pSets = pProtect->pro_setting;
   //------------------------------------------------//
//频率      
    pSets->pro_id    =    pProtect->pro_id;       
    pSets->set_id    =    ++(pProtect->pro_setting_number);
    pSets->pset_name = (CHAR *)strcpy(pSets->set_name,"动作频率");                                                 
    pSets->pset_alias          =    "f";	                                                                               
    pSets->pset_dimension      =    "Hz";
    pSets->set_lower_limit     =    45.00;
    pSets->set_high_limit      =    50.00;
    pSets->set_calculate_style =    CHL_MUL_;
    pSets->set_calculate_coefficient = CHL_CONSTANT_1; 
    for(i=0;i<SET_ZONE;i++)
    pSets->set_value_zone[i]   =    48.5*CHL_CONSTANT_1; 
    pSets++;
   //------------------------------------------------//
//时限      
    pSets->pro_id    =    pProtect->pro_id;       
    pSets->set_id    =    ++(pProtect->pro_setting_number);                                                  
    pSets->pset_name = (CHAR *)strcpy(pSets->set_name,"动作时间");                                                 
    pSets->pset_alias          =    "Tf";	                                                                           
    pSets->pset_dimension      =    "S";
    pSets->set_lower_limit     =    0.00;
    pSets->set_high_limit      =    100;
    pSets->set_calculate_style = CHL_MUL_;
    pSets->set_calculate_coefficient = CHL_CONSTANT_1; 
    for(i=0;i<SET_ZONE;i++)
    pSets->set_value_zone[i]   =    1.0*CHL_CONSTANT_1;
    pSets++;                                                      
   //------------------------------------------------//
//电压         
    pSets->pro_id    =    pProtect->pro_id;       
    pSets->set_id    =    ++(pProtect->pro_setting_number); 
    pSets->pset_name = (CHAR *)strcpy(pSets->set_name,"动作电压");                                                      
    pSets->pset_alias          =    "Uf";                                                                                
    pSets->pset_dimension      =    "V";
    pSets->set_lower_limit     =    10.00;
    pSets->set_high_limit      =    90.00;
    pSets->set_calculate_style = CHL_FOURIER1_;
    pSets->set_calculate_coefficient = CHL_CONSTANT_1; 
    for(i=0;i<SET_ZONE;i++)
    pSets->set_value_zone[i]   =    1800.0*CHL_CONSTANT_1; 
    pSets++;         
   //------------------------------------------------//
//滑差         
    pSets->pro_id    =    pProtect->pro_id;       
    pSets->set_id    =    ++(pProtect->pro_setting_number); 
    pSets->pset_name = (CHAR *)strcpy(pSets->set_name,"滑差定值");                                                   
    pSets->pset_alias           =    "df";                                                                                
    pSets->pset_dimension 	=    "Hz";
    pSets->set_lower_limit 	=    0.3;
    pSets->set_high_limit 	=    10;
    pSets->set_calculate_style  =    CHL_MUL_;
    pSets->set_calculate_coefficient = CHL_CONSTANT_1; 
    for(i=0;i<SET_ZONE;i++)
    pSets->set_value_zone[i]    =    1.0*CHL_CONSTANT_1; 
    pSets++;           

//////保护投退控制字
// ----------------------------------------------------- // 	
//滑差闭锁元件       
    pSets->pro_id    =    pProtect->pro_id;       
    pSets->set_id    =    ++(pProtect->pro_setting_number);
    pSets->pset_name = (CHAR *)strcpy(pSets->set_name,"滑差闭锁");                                                 
    pSets->pset_alias          =    "DF";                                                     
    pSets->pset_dimension      =    " ";
    pSets->set_lower_limit     =    0.00;
    pSets->set_high_limit      =    1.00;
    pSets->set_calculate_style =    MODE_;
    pSets->set_calculate_coefficient = CHL_CONSTANT_1;
    for(i=0;i<SET_ZONE;i++)
    pSets->set_value_zone[i]   =    1.0*CHL_CONSTANT_1; 
    pSets++;
    
//////实时参数 
// ----------------------------------------------------- // 
    pProtect->pro_run_data_number    =    0;
    pValue    =    pProtect->pro_run_data;
   //------------------------------------------------//        
    pValue->value_index_number    =    ++(pProtect->pro_run_data_number);     
    pValue->pvalue_name = (CHAR *)strcpy(pValue -> value_name,"实时频率");       	                                  
    pValue->pvalue_alias     =    "f";                            	
    pValue->value_calculate_style =    CHL_MUL_;  
    pValue->pvalue_dimension      =    "Hz";  
    pValue->value_calculate_coefficient = 1; 
    pValue->value_measure    =    50.00; 
    pValue++;

//------------------------------------------------// 
    pValue->value_index_number    =    ++(pProtect->pro_run_data_number); 
    pValue->pvalue_name = (CHAR *)strcpy(pValue -> value_name,"A相电流");       	                                  
    pValue->pvalue_alias     =    "Ia";                             	
    pValue->value_calculate_style =   	CHL_FOURIER1_;  
    pValue->pvalue_dimension      =	"A";  
    pValue->value_calculate_coefficient = 1; 
    pValue->value_measure    =    0.0; 
    pValue++;
//------------------------------------------------// 
    pValue->value_index_number    =    ++(pProtect->pro_run_data_number); 
    pValue->pvalue_name = (CHAR *)strcpy(pValue -> value_name,"B相电流");       	                                  
    pValue->pvalue_alias     =    "Ib";
    pValue->value_calculate_style =    CHL_FOURIER1_;  
    pValue->pvalue_dimension      =    "A";  
    pValue->value_calculate_coefficient = 1; 
    pValue->value_measure    =    0.0;
    pValue++;
//------------------------------------------------//
    pValue->value_index_number    =    ++(pProtect->pro_run_data_number);
    pValue->pvalue_name = (CHAR *)strcpy(pValue -> value_name,"C相电流");       	                                  
    pValue->pvalue_alias     =    "Ic";
    pValue->value_calculate_style =   	CHL_FOURIER1_;  
    pValue->pvalue_dimension      =    "A";  
    pValue->value_calculate_coefficient = 1; 
    pValue->value_measure    =    0.0;
    pValue++;
//------------------------------------------------//
    pValue->value_index_number    =    ++(pProtect->pro_run_data_number);
    pValue->pvalue_name = (CHAR *)strcpy(pValue -> value_name,"AB线电压");       	                                  
    pValue->pvalue_alias     =    "Uab";
    pValue->value_calculate_style =   	CHL_FOURIER1_;  
    pValue->pvalue_dimension      =    "V";  
    pValue->value_calculate_coefficient = 1; 
    pValue->value_measure    =    0.0;
    pValue++;
//------------------------------------------------//
    pValue->value_index_number    =    ++(pProtect->pro_run_data_number);
    pValue->pvalue_name = (CHAR *)strcpy(pValue -> value_name,"BC线电压");       	                                  
    pValue->pvalue_alias     =    "Ubc";
    pValue->value_calculate_style =   	CHL_FOURIER1_;  
    pValue->pvalue_dimension      =    "V";  
    pValue->value_calculate_coefficient = 1; 
    pValue->value_measure    =    0.0;
    pValue++;
//------------------------------------------------//
    pValue->value_index_number    =    ++(pProtect->pro_run_data_number);
    pValue->pvalue_name = (CHAR *)strcpy(pValue -> value_name,"CA线电压");       	                                  
    pValue->pvalue_alias     =    "Uca";
    pValue->value_calculate_style =   	CHL_FOURIER1_;  
    pValue->pvalue_dimension      =    "V";  
    pValue->value_calculate_coefficient = 1; 
    pValue->value_measure    =    0.0;
    pValue++;

//////报告
// ----------------------------------------------------- //
    pReport = &LF_Report;
    
    pReport->pro_report_flag = 2;
//SOE				    	
    pSoe = &pReport->pro_report_soe;
   //------------------------------------------------//             	  	
    pSoe->pSOE_name = "低频减载跳闸";
    strcpy(pSoe->SOE_name,pSoe->pSOE_name);  
    pSoe->SOE_Inf = 111;
    pSoe->DPI = 2;  	
//动作值
    pReport->pro_report_data_number = 0;
    pReport->pro_report_data = LF_reportdata;
    pValue = pReport->pro_report_data;
   //------------------------------------------------// 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -