上传文件至 标准版4.0

This commit is contained in:
linwei 2025-06-25 17:07:21 +08:00
parent a727c68674
commit 4fe33ddef5
5 changed files with 6198 additions and 0 deletions

185
标准版4.0/atbh.c Normal file
View File

@ -0,0 +1,185 @@
//AT保护条件编译
#include "..\h\predefine.h"
#ifdef _atbh_c_
#include ".\inc\atbh.h"
//AT保护测控装置整定值定义
//1.用户参数
DateType SetModiDate; //定值修改时间8字节
unsigned int SetCheckSum; //校验码,4字节
unsigned int SetNumber; //定值区号4字节
unsigned int SetValueMode; //整定方式4字节
unsigned int DisplayMode; //模拟量显示方式4字节
float ATBH_CTRated1; //CT 1次额定值
float ATBH_CTRated2; //CT 2次额定值
float ATBH_PTRated1; //PT 1次额定值
float ATBH_CDSDSet; //差动速断4字节
float ATBH_CDSet; //比率差动4字节
float ATBH_ZD1Set; //制动1电流整定值4字节
float ATBH_ZD2Set; //制动2电流整定值4字节
float ATBH_ZDXS1Set; //比率1整定值4字节
float ATBH_ZDXS2Set; //比率2整定值4字节
//NoDirectUISettingType ATBH_SDISet; //电流速断8字节
//NoDirectUISettingType ATBH_ISet; //过电流8字节
//NoDirectUISettingType ATBH_JDISet; //碰壳保护8字节
unsigned int ATBH_UModeSet; //电压检测方式
NoDirectUISettingType ATBH_SYSet; //失压8字节
FISettingType ATBH_FI1Set; //过负荷28字节
//FISettingType ATBH_FI2Set; //过负荷Ⅱ段28字节
NoDirectUISettingType ATBH_JYYSet; //检有压8字节
unsigned int ATBH_CHZ_ChongDianTime; //重合闸充电时间4字节
unsigned int ATBH_CHZ_Time; //重合闸时间4字节
float ATBH_XieBo_2; //二次谐波含量4字节
float ATBH_CLYXSet; //差流越限定值
float ATBH_PTDXSet; //PT断线定值
NoDirectUISettingType ATBH_WD1Set; //温度1告警
NoDirectUISettingType ATBH_WD2Set; //温度2告警
unsigned int ATBH_OperationTime; //断路器动作时间4字节
unsigned int ATBH_QSOperationTime; //隔离开关动作时间4字节
//unsigned int ATBH_SLXHTime; //断路器失灵信号保持时间 4字节
unsigned int ATBH_DLQNo; //断路器号按16进制数显示4字节
unsigned int ATBH_LianJieMode; //连接方式4字节
unsigned int ATBH_ATMode; //AT接入方式4字节
unsigned int ATBH_LS; //新增联锁定值(枚举量 1:退出 3:投入)
//保护压板
unsigned int ATBH_CDSDTouRu; //差动速断保护压板4字节
unsigned int ATBH_CDTouRu; //比率差动保护压板4字节
//unsigned int ATBH_SDITouRu; //电流速断保护压板4字节
//unsigned int ATBH_ITouRu; //过电流保护压板4字节
//unsigned int ATBH_JDITouRu; //碰壳保护压板4字节
unsigned int ATBH_FI1TouRu; //过负荷段压板4字节
//unsigned int ATBH_FI2TouRu; //过负荷Ⅱ段压板4字节
unsigned int ATBH_SYTouRu; //失压保护压板4字节
//unsigned int ATBH_DYTouRu; //低压启动元件压板4字节
//unsigned int ATBH_XieBoI2TouRu; //过电流二次谐波闭锁压板4字节
//unsigned int ATBH_XieBoSumTouRu; //综合谐波抑制压板4字节
unsigned int ATBH_XieBoCDI2TouRu; //差动二次谐波闭锁压板4字节
unsigned int ATBH_CWWD1TouRu; //温度1告警压板4字节
unsigned int ATBH_CWWD2TouRu; //温度2告警压板4字节
unsigned int ATBH_PTDXTouRu;
unsigned int ATBH_DLLDIFFTouRu;
unsigned int ATBH_SoftStrap_Reclse; //重合闸软压板
unsigned int ATBH_SoftStrap_AtSwitch; //备自投软压板
unsigned int ih_diff_alram_block; //二次谐波闭锁差流越限告警
unsigned int ATBH_nonui_prtc_trip; //非电量保护是否出口
unsigned int ATBH_FDLQDZT; //非电量起动自投
//2.系统参数区整定值
DateType CanShuModiDate; //系统参数修改时间8字节
unsigned int CanShuCheckSum; //校验码,4字节
float ATBH_VKSet; //T线电压微调系数4字节
float ATBH_VFKSet; //F线电压微调系数4字节
float ATBH_BaoHuIKSet; //T线保护绕组电流微调系数4字节
float ATBH_ChaDongIKSet; //T线差动绕组电流微调系数4字节
float ATBH_CeLiangIKSet; //T线测量绕组电流微调系数4字节
float ATBH_BaoHuFIKSet; //F线保护绕组电流微调系数4字节
float ATBH_ChaDongFIKSet; //F线差动绕组电流微调系数4字节
float ATBH_CeLiangFIKSet; //F线测量绕组电流微调系数4字节
//float ATBH_IJDKSet; //接地电流微调系数4字节
float ATBH_WD1TSet; //温度1温度基准值4字节
float ATBH_WD1ISet; //温度1电流基准值4字节
float ATBH_WD1KSet; //温度1曲线斜率 4字节
float ATBH_WD2TSet; //温度2温度基准值4字节
float ATBH_WD2ISet; //温度2电流基准值4字节
float ATBH_WD2KSet; //温度2曲线斜率 4字节
//KaiRuSetType KaiRuDelaySetting[INPUT_NUM]; //开入特性8*38=304字节
//3.遥信配置参数
//DateType PeiZhiModiDate; //遥信配置参数修改时间8字节
//unsigned int PeiZhiCheckSum; //校验码,4字节
//YaoXinObjectType YaoXinSet[YX_NUM]; //遥信对象设置表60*12=720字节
//保护元件定义
NoDirectProtectItemType ATBH_CDSDYJ; //差动速断
DiffProtectItemType ATBH_CDYJ; //比率差动
//NoDirectProtectItemType ATBH_SDIYJ; //电流速断
//NoDirectProtectItemType ATBH_IYJ; //过电流
//NoDirectProtectItemType ATBH_JDIYJ; //碰壳保护
//NoDirectProtectItemType ATBH_XieBo2IYJ; //二次谐波闭锁元件(过电流)
NoDirectProtectItemType ATBH_XieBo2CDIYJ; //二次谐波闭锁元件(差动)
//NoDirectProtectItemType ATBH_XieBoSumYJ; //综合谐波抑制元件
NoDirectProtectItemType ATBH_SYYJ; //失压元件
NoDirectProtectItemType ATBH_DYYJ; //低压启动元件
DiffProtectItemType ATBH_CLYXYJ; //差流越限告警元件
NoDirectProtectItemType ATBH_TPTDXYJ; //T线PT断线元件
NoDirectProtectItemType ATBH_FPTDXYJ; //F线PT断线元件
NoDirectProtectItemType ATBH_FIYJ; //过负荷元件
//FIProtectItemType ATBH_FI1YJ; //过负荷Ⅰ段元件
//FIProtectItemType ATBH_FI2YJ; //过负荷Ⅱ段元件
FDLProtectItemType ATBH_ZWSYJ; //重瓦斯元件
FDLProtectItemType ATBH_WD2YJ; //温度Ⅱ段元件
FDLProtectItemType ATBH_YLSFYJ; //压力释放元件
FDLProtectItemType ATBH_BYXHYJ; //备用信号元件
NoDirectProtectItemType ATBH_CWWD1YJ; //温度1告警元件
NoDirectProtectItemType ATBH_CWWD2YJ; //温度2告警元件
DiffProtectItemType ATBH_DLLDIFFAYJ; //增量差动元件
//全局变量定义
//DataType ATBH_BaoHu_I; //保护绕组电流
//DataType ATBH_BaoHu_I2; //保护绕组2次谐波电流含量
//DataType ATBH_BaoHu_IE; //保护绕组综合谐波电流含量
DataType ATBH_ChaDong_I2; //差动2次谐波电流含量
CD_ZDType ChaDongValue; //差动电流和制动电流
DataType ATBH_Baohu_UMax; //电压最大值
DataType ATBH_BaoHu_IT; //T线保护电流用于过负荷
DateType ATBH_Fault_Time; //故障发生时间
DataType ATBH_Fault_UT; //故障电压T线电压
DataType ATBH_Fault_UF; //故障电压F线电压
DataType ATBH_Fault_IT; //故障电流T线保护绕组
DataType ATBH_Fault_IF; //故障电流F线保护绕组
DataType ATBH_Fault_CDIT; //故障电流T线差动绕组
DataType ATBH_Fault_CDIF; //故障电流F线差动绕组
//DataType ATBH_Fault_I0; //故障电流AT吸上电流
//DataType ATBH_Fault_IJD; //故障电流(接地电流)
DataType ATBH_Fault_ICD; //故障电流(差动电流)
DataType ATBH_Fault_IZD; //故障电流(制动电流)
//DataType ATBH_Fault_XB2I; //故障量 (保护电流二次谐波含量)
DataType ATBH_Fault_XB2ICD; //故障量 (差动电流二次谐波含量)
float ATBH_JD_I; //故障截断电流
unsigned int TiaoZhaIP; //跳闸标志
//CHZTRType ATZTTouRu; //AT自投投入变量
unsigned int ATZT_TIMER; //AT自投定时器
unsigned int ATBH_ZT_ENABLE;
unsigned int ATBH_RECLS_ENABLE;
CHZType CHZValue; //重合闸状态变量定义
unsigned int ATBH_RecloseFlag;
unsigned int ATBH_CDTimeSet; //比率差动时限
unsigned int ATBH_rmtsignal_run; //AT处于投入态的遥信
unsigned int ATBH_checku_timer = 0; //检有压计数器
unsigned int ATBH_triptest_timer = 0; //保护跳闸测试开出计数器
breaker_err_type ATBH_Breaker_err_param[2]; //断路器失灵参数
dl_open_innormal_param_type ATBH_dl_open_innormal_param;
unsigned int ATBH_YCFZ_CHZ_TuoRu;
unsigned int ATBH_dl_innormal_open_alarm; //断路器异常分闸告警
CD_ZDType DLLDiffValue; //增量差动电流和增量制动电流
tagDLL_Rated_Frq ATBH_DLLDIFFBUF;
tagDLL_Rated_Frq ATBH_DLLRESBUF;
float ATBH_DllDiffSet;
float ATBH_CDI_MIN_XS;
unsigned int ATBH_QDZT_Mask; //起动自投掩码
//增加涌流相关变量 20240618 add by L.W.
unsigned int ATBH_I_Timer; //涌流时间
unsigned int ATBH_I_Flag;//涌流标志
unsigned int ATBH_CD_StartIP;
#endif

2430
标准版4.0/init_atbh.c Normal file

File diff suppressed because it is too large Load Diff

3278
标准版4.0/lib_atbh.c Normal file

File diff suppressed because it is too large Load Diff

97
标准版4.0/mainAtbh.c Normal file
View File

@ -0,0 +1,97 @@
/****************************************************************************************************
* mainAtbh.c
* AT保护主文件
* STATUS progStart()
* void sysInit()
* void ReadSampleValue()
* void funcBH()
* void progStop()
*
*
******************************************************************************************************/
/****************************************** includes ***********************************************/
#include "..\h\predefine.h"
#ifdef _atbh_c_
#include "time.h"
/* APP relational */
#include ".\inc\atbh.h"
#include "..\h\lib.h"
#include "..\h\variable.h"
#include "..\h\com_lib.h"
#include "..\h\testDefine.h"
#include <string.h>
#include "time.h"
/**************************************** forward declarations ***************************************/
int progStart(int ErrCode);
void progStop();
void comm();
extern void Reset_Init();
extern void InitCommTable();
extern void PowerInitData(void);
extern void settingtype_init();
extern void commobjectinit();
/******************************************************************************
* Function: progStart
* Description:
* Calls: none
* Called By:
* Input:
* Ouput:
* Return:
* others:
* History:
* 1.luoyang created
*
*******************************************************************************/
int progStart(int ErrCode)
{
PowerInitData(); //上电初始化
InitCommTable(); //通信初始化
settingtype_init();
commobjectinit();
InitSample(); //初始化模拟量通道相关变量
dl_open_innormal_param_init(&ATBH_dl_open_innormal_param);
digit_init(); //数字接口初始化
CHZValue.Status = CHZ_CLOSE;
Reset_Init(); //复位初始化
QdInfoShow(); //
//block_Init(); //闭锁初始化
return (OK);
}
/******************************************************************************
* Function: ReadSampleValue
* Description:使
* Calls: none
* Called By:
* Input:
* Ouput:
* Return:
* others:
* History:
* 1.luoyang created
*
*******************************************************************************/
void progStop()
{
}
#endif

208
标准版4.0/map_atbh.c Normal file
View File

@ -0,0 +1,208 @@
/*
* map_atbh.c
*
* Created on: 2021-2-9
* Author: LuoYang
*/
#include "predefine.h"
#ifdef _atbh_c_
#include "digit_protect_inoutcode.h"
#include "..\atbh\inc\inout_atbh.h"
#include "..\atbh\inc\map_atbh.h"
#ifdef DEVICE_TYPE_CONVENTIONAL
//goose开入口映射数字化输入通道映射到goose开入口
unsigned char GseInportMapSet[DIGIT_GSEINPORT_MAP_NUM];
unsigned char GseOutportMapSet[DIGIT_GSEOUTPORT_MAP_NUM];
unsigned short int KaiRuMapSet[DIGIT_KAIRU_MAP_NUM];
//开入映射:建立控制开入与遥控对象号的映射关系
//开入号、遥控对象号、操作属性2-合、1-分)
unsigned char CtrlKaiRuMapSet[DIGIT_KAIRU_CTRL_MAP_NUM][3];
//unsigned char IOKaiChuMapSet[DIGIT_IOKAICHU_MAP_NUM][3];
#else
//gse开入口
unsigned char GseInportMapSet[DIGIT_GSEINPORT_MAP_NUM] = {
ATBH_QF_HW_KR, //断路器合位
ATBH_QS1_HW_KR, //隔开1合位
ATBH_QS2_HW_KR, //隔开2合位
ATBH_QS3_HW_KR, //隔开3合位
ATBH_ZWS_KR, //重瓦斯
ATBH_WD2_KR, //温度Ⅱ段
ATBH_YLSF_KR, //压力释放
ATBH_GK0_KR, //并联隔开合位
ATBH_QDZT_KR, //启动自投
ATBH_YYZT_KR, //检有压自投
ATBH_QWS_KR, //轻瓦斯
ATBH_WD1_KR, //温度1段
ATBH_YWD_KR, //油位低
ATBH_YWG_KR, //油位高
ATBH_YL1_KR, //预留1
ATBH_YL2_KR, //预留2
ATBH_YL3_KR, //预留3
ATBH_YL4_KR, //预留4
ATBH_YL5_KR, //预留5
ATBH_YL6_KR, //预留6
ATBH_YL7_KR, //预留7 <20>
ATBH_YL8_KR, //预留8 <20>
ATBH_YL9_KR, //预留9
ATBH_YL10_KR, //预留10
ATBH_YL11_KR, //预留11
ATBH_YL12_KR, //预留12
ATBH_YL13_KR, //预留13
ATBH_YL14_KR, //预留14
ATBH_YL15_KR, //预留15
ATBH_YL16_KR, //预留16
ATBH_YL17_KR, //预留17
ATBH_YL18_KR, //预留18
ATBH_YL19_KR, //预留19
ATBH_YL20_KR, //预留20
ATBH_YL21_KR, //预留21
ATBH_YL22_KR, //预留22
ATBH_YL23_KR, //预留23
ATBH_YL24_KR, //预留24
ATBH_YL25_KR, //预留25
ATBH_YL26_KR, //预留26
ATBH_YL27_KR,
ATBH_YL28_KR,
ATBH_YL29_KR,
ATBH_YL30_KR,
ATBH_YL31_KR,
ATBH_YL32_KR,
ATBH_YL33_KR,
ATBH_YL34_KR,
ATBH_YL35_KR,
ATBH_YL36_KR,
ATBH_YL37_KR,
ATBH_YL38_KR,
ATBH_YL39_KR,
ATBH_YL40_KR,
//20210408 add by lw
ATBH_QS4_HW_KR, //隔开4合位
ATBH_QS5_HW_KR, //隔开5合位
};
//gse开出口
unsigned char GseOutportMapSet[DIGIT_GSEOUTPORT_MAP_NUM] = {
ATBH_BCJQ_KC, //保护跳闸
ATBH_HCJ_KC, //保护合闸
ATBH_QF_TZ_KC, //控制分闸
ATBH_QF_HZ_KC, //控制合闸
ATBH_1QS_TZ_KC, //1QS分闸
ATBH_1QS_HZ_KC, //1QS合闸
ATBH_2QS_TZ_KC, //2QS分闸
ATBH_2QS_HZ_KC, //2QS合闸
ATBH_3QS_TZ_KC, //3QS分闸
ATBH_3QS_HZ_KC, //3QS合闸
ATBH_BHQD_KC, //保护启动
ATBH_CDJQ_KC, //启动自投
ATBH_SL_KC, //断路器失灵
ATBH_1QF_FZ_BS_KC,
ATBH_1QF_HZ_BS_KC,
ATBH_1QS_FZ_BS_KC,
ATBH_1QS_HZ_BS_KC,
ATBH_2QS_FZ_BS_KC,
ATBH_2QS_HZ_BS_KC,
ATBH_3QS_FZ_BS_KC,
ATBH_3QS_HZ_BS_KC,
ATBH_JYYZT_KC, //检有压自投
ATBH_BY2_KC,
ATBH_BY3_KC,
ATBH_BY4_KC,
//20210408 add by lw
ATBH_4QS_TZ_KC, //4QS分闸
ATBH_4QS_HZ_KC, //4QS合闸
ATBH_5QS_TZ_KC, //5QS分闸
ATBH_5QS_HZ_KC, //5QS合闸
ATBH_4QS_FZ_BS_KC,
ATBH_4QS_HZ_BS_KC,
ATBH_5QS_FZ_BS_KC,
ATBH_5QS_HZ_BS_KC,
};
//开入映射:将保护定义的开入通道映射到数字化输入通道
unsigned short KaiRuMapSet[DIGIT_KAIRU_MAP_NUM] = {
};
//开入映射:建立控制开入与遥控对象号的映射关系
//开入号、遥控对象号、操作属性2-合、1-分)
unsigned char CtrlKaiRuMapSet[DIGIT_KAIRU_CTRL_MAP_NUM][3] = {
{ATBH_QF_HZ_KR,ATBH_QF,2}, //断路器合闸
{ATBH_QF_FZ_FR,ATBH_QF,1}, //断路器分闸
{ATBH_QS1_HZ_KR,ATBH_1QS,2}, //隔开1合闸
{ATBH_QS1_FZ_KR,ATBH_1QS,1}, //隔开1分闸
{ATBH_QS2_HZ_KR,ATBH_2QS,2}, //隔开2合闸
{ATBH_QS2_FZ_KR,ATBH_2QS,1}, //隔开2分闸
{ATBH_QS3_HZ_KR,ATBH_3QS,2}, //隔开3合闸
{ATBH_QS3_FZ_KR,ATBH_3QS,1}, //隔开3分闸
{ATBH_QS4_HZ_KR,ATBH_4QS,2}, //隔开4合闸
{ATBH_QS4_FZ_KR,ATBH_4QS,1}, //隔开4分闸
{ATBH_QS5_HZ_KR,ATBH_5QS,2}, //隔开5合闸
{ATBH_QS5_FZ_KR,ATBH_5QS,1}, //隔开5分闸
};
//IO开入映射
//保护开入编码 IO插件ID0 1 2 3 IO开入编码
unsigned char IOKaiRuMapSet[DIGIT_IOKAIRU_MAP_NUM][3] ={
{ATBH_QF_HZ_KR,0,IO_KAIRU1}, //断路器合闸
{ATBH_QF_FZ_FR,0,IO_KAIRU2}, //断路器分闸
{ATBH_QS1_HZ_KR,0,IO_KAIRU3}, //隔开1合闸
{ATBH_QS1_FZ_KR,0,IO_KAIRU4}, //隔开1分闸
{ATBH_QS2_HZ_KR,0,IO_KAIRU5}, //隔开2合闸
{ATBH_QS2_FZ_KR,0,IO_KAIRU6}, //隔开2分闸
{ATBH_YL1_KR,0,IO_KAIRU7}, //预留1 //20170905 L.Y. add start
{ATBH_YL2_KR,0,IO_KAIRU8}, //预留2
{ATBH_YL3_KR,0,IO_KAIRU9}, //预留3
{ATBH_YL4_KR,0,IO_KAIRU10}, //预留4
{ATBH_YL5_KR,0,IO_KAIRU11}, //预留5
{ATBH_YL6_KR,0,IO_KAIRU12}, //预留6
{ATBH_YL7_KR,0,IO_KAIRU13}, //预留7
{ATBH_YL8_KR,0,IO_KAIRU14}, //预留8
{ATBH_YL9_KR,0,IO_KAIRU15}, //预留9
{ATBH_YL10_KR,0,IO_KAIRU16}, //预留10 //20170905 L.Y. add end
{ATBH_YK_KR,0,IO_KAIRU17}, //遥控方式
{ATBH_JX_KR,0,IO_KAIRU18}, //检修
{ATBH_CHZTR_KR,0,IO_KAIRU19}, //重合闸硬压板
{ATBH_ZTTR_KR,0,IO_KAIRU20}, //进线自投硬压板
{ATBH_QS3_HZ_KR,1,IO_KAIRU1}, //隔开3合闸 //20170905 L.Y. add start
{ATBH_QS3_FZ_KR,1,IO_KAIRU2}, //隔开3分闸
{ATBH_QS4_HZ_KR,1,IO_KAIRU3}, //隔开4合闸
{ATBH_QS4_FZ_KR,1,IO_KAIRU4}, //隔开4分闸
{ATBH_QS5_HZ_KR,1,IO_KAIRU5}, //隔开5合闸
{ATBH_QS5_FZ_KR,1,IO_KAIRU6}, //隔开5分闸
//{ATBH_ZTTR_KR,0,IO_KAIRU21}, //自投投退
//{ATBH_ZTDZ_KR,0,IO_KAIRU22}, //自投动作
//{ATBH_TZ_KR,0,IO_KAIRU23} //跳闸动作
};
unsigned char IOKaiChuMapSet[DIGIT_IOKAICHU_MAP_NUM][3] ={
{ATBH_QF_HWD_KC,0,IO_KAICHU1}, //断路器合位灯
{ATBH_QF_FWD_KC,0,IO_KAICHU2}, //断路器分位灯
{ATBH_1QS_HWD_KC,0,IO_KAICHU3}, //隔开1合位灯
{ATBH_1QS_FWD_KC,0,IO_KAICHU4}, //隔开1分位灯
{ATBH_2QS_HWD_KC,0,IO_KAICHU5}, //隔开2合位灯
{ATBH_2QS_FWD_KC,0,IO_KAICHU6}, //隔开2分位灯
{ATBH_3QS_HWD_KC,1,IO_KAICHU1}, //隔开3合位灯
{ATBH_3QS_FWD_KC,1,IO_KAICHU2}, //隔开3分位灯
{ATBH_4QS_HWD_KC,1,IO_KAICHU3}, //隔开4合位灯
{ATBH_4QS_FWD_KC,1,IO_KAICHU4}, //隔开4分位灯
{ATBH_5QS_HWD_KC,1,IO_KAICHU5}, //隔开5合位灯
{ATBH_5QS_FWD_KC,1,IO_KAICHU6}, //隔开5分位灯
//{ATBH_3QS_HWD_KC,0,IO_KAICHU25}, //自投动作合位
//{ATBH_3QS_FWD_KC,0,IO_KAICHU26}, //自投动作分位
//{DIGIT_ATBH_TZ_HW_KC,0,IO_KAICHU27}, //跳闸动作合位
//{DIGIT_ATBH_TZ_FW_KC,0,IO_KAICHU28}, //跳闸动作分位
};
#endif
#endif