/******************************************************************************* 版权所有: 版本号: 1.00 文件名: set.h 生成日期: 2005.4.18 作者: 功能说明:定值 修改日志: 日志1: 修改者: 修改日期: 修改内容: 修改原因: ****************************************************************************/ #ifndef __SET_H #define __SET_H /*------------------------------- 头文件 -------------------------------------- */ #include "switch.h" #include "record.h" /*------------------------------- 宏定义 -------------------------------------- */ #define SAM_FREQUENCY (SAMFREQ*50) // 采样频率,中断计数值=时间*采样频率/1000 #ifdef defined GD_AREA_ZHONGSHAN || defined GD_AREA_ZHONGSHAN_2020 #define MAX_SET_NUMBER 500 // 最大定值个数 #else #define MAX_SET_NUMBER 2000 // 最大定值个数 #endif #ifdef SEC_SETVALUE_7 #define SEC_NUMBER 7 // 定值区个数 #elif defined SEC_SETVALUE_4 #define SEC_NUMBER 4 // 定值区个数 #else #define SEC_NUMBER 5 // 定值区个数 #endif #define SETSIZE (MAX_SET_NUMBER*4) // 每个定值区=200字节 #ifdef PUB_SET_SECTION #define MAX_PUBSET_NUMBER 100 // 最大公共定值个数(公共定值新增备用定值,超过原60) #define PUB_SETSIZE (MAX_PUBSET_NUMBER*4) // 每个定值区=320字节 #else #define PUB_SETSIZE 0 // 为0的时候 代表公共定值只有1个 不在定值区概念里面管辖 #endif #define PRO_RET_TIME (T_10ms) //保护动作TIMER返回时间 #define WRN_RET_TIME (T_1s) //告警TIMER返回时间 #define MAX_AR_TIMES 3 // 最大重合次数 #define TBLQDDSMK 5 //突变量连续起动点数 #define QTQDTIME SAMFREQ //IA、IB、IC、I0或Ij启动时间,往前推一个周波 enum { LCD_TYPE_6KEY = 0, // 6键液晶 LCD_TYPE_160160 = 160, // 160 7键 LCD_TYPE_12232 = 122, // 122*32液晶 LCD_TYPE_12864 = 64, // 128*64液晶 LCD_TYPE_128128 = 128, // 128*128液晶 LCD_TYPE_160_KEY9 = 9, // 160160液晶 9键 (南网最新标准) }; enum { LINE_TYPE_FD = 1, // 线路类型 分段 LINE_TYPE_LL, // 线路类型 联络 LINE_TYPE_FZ, // 线路类型 分支 LINE_TYPE_BH, // 线路类型 保护 LINE_TYPE_JZ, // 线路类型 集中 }; enum { SETGROUP_TYPE_BH = 0, SETGROUP_TYPE_PUB, SETGROUP_TYPE_PARA, SETGROUP_TYPE_CSTSET, SETGROUP_TYPE_AZ, // 安自 #ifdef GD_AREA_ECZD_2020 SETGROUP_TYPE_TQ, SETGROUP_TYPE_JL, #endif SETGROUP_TYPE_BY, // 此枚举量此前暂未使用,22.3.22 lcd_menu中新增硬压板遥调点功能(#define FUNC_YT_HARD_YB)借用此量,后续有其他使用时注意影响 }; enum { SET_HYB_BH = 1, // 定值显示与硬压板关联 定值 SET_HYB_FA, SET_HYB_GOOSE, #ifdef GD_AREA_ECZD_2020 SET_HYB_TQ, SET_HYB_JL, #endif }; enum { PAR_ID_TYPE_BH = 0, // 常规保护,断路器 PAR_ID_TYPE_FA, // 电压时间型,负荷开关 // PAR_ID_TYPE_GOOSE, //智能分布式 PAR_ID_TYPE_PUB, PAR_ID_TYPE_NULL = 0XFF, }; enum { GROUP_SET_BY = 0, // 备用组号,默认为0 ,维护工具判断组号为0 ,默认是展开的,和现在的处理模式不太匹配,定义一个为0的组号,不使用 // 线路定值 GROUP_SET_YB_GN = 1, // 功能软压板 GROUP_SET_YB_YX, // 运行软压板 GROUP_SET_BHTT, // 常规保护控制字 GROUP_SET_BHDZ, // 常规保护定值 GROUP_SET_CHZKZ, // 自动重合闸控制字 GROUP_SET_CHZDZ, // 自动重合闸定值 GROUP_SET_FAYB, // 就地馈线自动化软压板 GROUP_SET_FATT, // 就地馈线自动化控制字 GROUP_SET_FADZ, // 就地馈线自动化定值 GROUP_SET_GOOSETT, // 智能分布式控制字 GROUP_SET_GOOSEDZ, // 智能分布式定值 GROUP_SET_TQHZ, // 同期合闸定值 GROUP_SET_JLTT, // 自动解列控制字 GROUP_SET_JLDZ, // 自动解列定值 #ifdef XDL_ZT GROUP_SET_XDLJDTT, // 小电流接地控制字 GROUP_SET_XDLJDDZ, // 小电流接地定值 #elif defined FUN_JDXX GROUP_SET_XDLJD, // 小电流接地 #endif GROUP_SET_LA, // 线路断线告警 #ifdef FUNC_DRIVE GROUP_SET_BTDCD, // 传动开关定值 #endif #ifdef FUNC_DRIVE_JY GROUP_SET_DRIVE, // 传动功能 #endif GROUP_SET_FSX, // 反时限保护 GROUP_SET_DLYX, // 电流越限 GROUP_SET_RECORD, // 录波 GROUP_SET_SWSET, // 辅助定值 #ifdef CUSTOMIZE_BZT GROUP_SET_BZT, // 备自投 #endif // 公共定值 GROUP_SET_EQPPARA, // 设备参数 GROUP_SET_SCT, // 定值区 GROUP_SET_PUBYB, // 运行软压板 GROUP_SET_PUBSET, // 电压参数 GROUP_SET_FDL, // 非电量保护 GROUP_SET_OTHERS_PUB, // 其它 // 装置参数 GROUP_PARA_PROTOCAL, // 规约参数 GROUP_PARA_LINK, // 104子站通信 GROUP_PARA_SERIAL, // 串行口通道 GROUP_PARA_ETHERNET, // 以太网通道 GROUP_PARA_TIME, // 对时 GROUP_PARA_BATTERY, // 电池管理 GROUP_PARA_RMT, // 远动参数 GROUP_PARA_OTHERS, // 其它 #ifdef FUN_FUXI_ESAM GROUP_PARA_S1, // 南网加密配置 #endif #ifdef METERING_ENERGY GROUP_PARA_HISFILE, // 历史文件 #endif // 内部定值 GROUP_CSTSET_PROTECT, // 保护功能 GROUP_CSTSET_CALC, // 计算功能 GROUP_CSTSET_COMM, // 通讯功能 GROUP_CSTSET_FA, // 馈线自动化 GROUP_CSTSET_RECORD, // 录波功能 GROUP_CSTSET_OTHERS, // 辅助定值 GROUP_NUM, // 索引个数 }; typedef struct BH_SET_GROUP { u8 group; // 显示组定义 u8 defval; // 默认值 u8 set_yb; // 关联压板 u8 group_sub; // 显示组子类 const char *group_name; const char *item_name; } BH_SET_GROUP; // 反时限类型 enum { FE_NULL = 0, FE_VI, FE_VIT, FE_AUTO }; // 反时限类型 enum { RVS_STD = 0, // 标准反时限 RVS_VERY, // 非常反时限 RVS_EXT, // 极端反时限 RVS_NUM }; // 零序电流类型 enum { TA0_100A = 0, // 零序TA量程100A TA0_20A, // 零序TA量程20A TA0_5A, // 零序TA量程5A TA0_1A, // 零序TA量程1A TA0_NUM }; // 相电流类型 enum { TA_5A = 0, // TA5A TA_1A, // TA1A TA_NUM }; // 电压类型 enum { TV_100V = 0, TV_220V, TV_NUM }; // 规约类型 enum { PROTOCOL_101 = 0, PROTOCOL_101_PH, PROTOCOL_104, PROTOCOL_101_M, PROTOCOL_101_PH_M, PROTOCOL_MODBUS, #if !defined CPU_FUXI PROTOCOL_FAULT, PROTOCOL_HMI, #endif PROTOCOL_MAINTAIN, PROTOCOL_GPS, PROTOCOL_AUTHOR_BL, PROTOCOL_IDLE, // 空闲,通过通讯子站级联时使用 #ifdef BATTERY_WITH_COMM PROTOCOL_POWER_MOD, // 兴通力电源模块通讯 #ifdef FUNC_SEL_BAT_MODULE PROTOCOL_PWRM, #endif #endif PROTOCOL_NULL, #ifdef FUNC_ENCRY_IN_ONE_SERIAL PROTOCOL_WED_ENC, // 纬德规约 #endif }; // 定值类型 enum ESETTYPE { SETTYPE_KG = 0, // 控制字 SETTYPE_LIST, // 列表选择 SETTYPE_F, // 浮点数 SETTYPE_UINT, // 无符号整型 SETTYPE_5INT, // 有符号整型 SETTYPE_LINT, // 长整型 SETTYPE_IP, // IP地址 SETTYPE_YMD, // 年月日 SETTYPE_HMS, // 时分秒 SETTYPE_4INT, // 4字节整型 SETTYPE_LABEL, // 标签类,工具分类显示用,没有实际意义 SETTYPE_6INT, // 整型值 }; // 定值单位显示 enum ESETUNIT { SET_NULL = 0, SET_U, // 电压 SET_A, // 电流 SET_S, // 时间 SET_D, // 时间 天 SET_PER, //% SET_ANG, // 度 SET_W, // 有功 SET_VAR, // 无功 SET_H, // 16进制 SET_HOUR, // 小时 SET_kV, // 电压 kV SET_MS, // 时间 ms SET_MIN, // 时间 分钟 SET_HZ, // Hz SET_PERUN, // %Un SET_HZ_S, // Hz/s SET_U_S, // V/s }; enum { SET_OK = 0, SET_ERR }; enum // 开关类型 { SW_TCZW = 0, // 弹操断路器 SW_FZW28, SW_VSP5, SW_YCZW, // 永磁断路器 }; enum { XDL_QD_U0 = 0, // 零序电压启动 XDL_QD_I0, // 零序电流启动 }; // 线路定值 enum { SET_LABLE_YB_GN = 0, // 列表名 功能软压板 SET_BH_YBTT, // 常规保护投入 SET_CHZ_YB, // 自动重合闸投入 SET_FA_YBTT, // 就地馈线自动化投入 SET_GOOSE_YBTT, // 智能分布式投入 #ifdef JZS_FUNCTION SET_MODE_JZS_TT, // 集中模式压板 #endif SET_TQ_YB, // 同期合闸投入 SET_JL_YB, // 自动解列投入 SET_XDL_YB, // 小电流接地保护投入 SET_LA_YB, // 线路断线告警投入 SET_TRASW_YB, // 不停电传动投入 SET_LABLE_YB_YX, // 列表名 运行软压板 SET_BH_YB, // 自动化功能总投退软压板 SET_KZ_OUT_YB, // 自动化功能总出口软压板 SET_RECS_YB, // 重合闸软压板 #ifdef YK_SOFT_YB SET_YK_YBTT, // 遥控软压板 #endif // 过流保护 SET_LABLE_BHTT, // 列表名 常规保护控制字 SET_GL1_TT, // 过流Ⅰ段投入 SET_GL2_TT, // 过流Ⅱ段投入 SET_GL3_TT, // 过流Ⅲ段投入 SET_GL1_DIR, // 过流Ⅰ段投方向 SET_GL2_DIR, // 过流Ⅱ段投方向 SET_GL3_DIR, // 过流Ⅲ段投方向 SET_BH_PTDX, // PT断线检测投入 SET_LX1_TT, // 零序过流Ⅰ段投入 SET_LX2_TT, // 零序过流Ⅱ段投入 SET_LX3_TT, // 零序过流Ⅲ段投入 SET_3U0_TT, // 零序过电压保护 SET_GLJS_TT, // 后加速保护投入 SET_CH_GL_TT, // 过流保护启动重合闸 SET_CH_JD_TT, // 零序过流保护启动重合闸 SET_BH_XBBS_TT, // 涌流识别投入 SET_BH_DLBS_TT, // 非遮断保护投入 SET_LABLE_BHDZ, // 列表名 常规保护整定值 SET_GL1_I, // 过流Ⅰ段定值 SET_GL1_T, // 过流Ⅰ段时间 SET_GL2_I, // 过流Ⅱ段定值 SET_GL2_T, // 过流Ⅱ段时间 SET_GL3_I, // 过流Ⅲ段定值 SET_GL3_T, // 过流Ⅲ段时间 SET_LX1_I, // 零序过流Ⅰ段定值 SET_LX1_T, // 零序过流Ⅰ段时间 SET_LX2_I, // 零序过流Ⅱ段定值 SET_LX2_T, // 零序过流Ⅱ段时间 SET_LX3_I, // 零序过流Ⅲ段定值 SET_LX3_T, // 零序过流Ⅲ段时间 SET_U0_U, // 零序过电压保护定值 SET_U0_T, // 零序过电压保护时间 SET_JSOPEN_T, // 加速段保护开放时间 SET_GLJS_I, // 后加速过流保护定值 SET_GLJS_T, // 后加速过流保护时间 SET_LXJS_I, // 后加速零序电流保护定值 SET_LXJS_T, // 后加速零序电流保护时间 SET_BH_XBCOE, // 二次谐波闭锁系数 SET_BH_DLBS_I, // 非遮断电流定值 SET_LABLE_CHZ_KZZ, // 列表名 自动重合闸控制字 SET_CH1_TT, // 一次重合闸投入 SET_CH2_TT, // 二次重合闸投入 #ifdef DISP_SET_CH_T3 SET_CH3_TT, // 三次重合闸投入 #endif SET_CH_TQ, // 重合检同期 SET_CH_WY, // 重合检无压 SET_CH_WY_TYPE, // 重合检无压方式 0母有线无 1母无线有 2两侧无压 SET_CH_DLBS_TT, // 大电流闭锁重合投入 SET_TTCH_TT, // 偷跳启动重合闸 SET_LABLE_CHZ_DZ, // 列表名 自动重合闸定值 SET_CHZ_OPEN, // 重合闸开放时间 #ifdef FUNC_CHZ_CHARGE_TIME SET_CHZCD, // 重合闸充电时间 #else SET_CHZCD_1, // 单词重合充电时间 SET_CHZCD_2, // 多次重合充电时间 #endif SET_CH_T1, // 一次重合闸时间 SET_CHBS_T, // 二次重合闸闭锁时间 SET_CH_T2, // 二次重合闸时间 #ifdef DISP_SET_CH_T3 SET_CH_T3, // 三次重合闸时间 #endif SET_CH_DLBS_I, // 大电流闭锁重合闸定值 // 就地馈线自动化 SET_LABLE_FARYB, // 列表名 就地馈线自动化软压板 SET_SL_TT, // 分段、联络 SET_LABLE_FATT, // 列表名 就地馈线自动化控制字 SET_P_YY_TT, // 电源侧得电延时合闸 SET_L_YY_TT, // 负荷侧得电延时合闸 SET_P_WY_TT, // A侧失电延时合闸 SET_L_WY_TT, // B侧失电延时合闸 SET_GZCHECK_TT, // 合到故障分闸 SET_BSTZ_TT, // 短时闭锁失压分 SET_FA_GL2_TT, // 相间过流告警投入 SET_FA_LX2_TT, // 接地告警投入 SET_U0TZ_TT, // 合到零压保护 SET_DLBS_TT, // 非遮断电流保护 SET_FA_PTDX, // PT断线告警 SET_HZBS_TT, // 多次失压分闸闭锁 SET_FA_XBBS_TT, // 涌流识别 SET_YJCYBS_TT, // 硬件残压闭锁 SET_CYBS_TT, // 残压闭锁 SET_SCYY_BSHZ, // 双侧有压闭锁合闸 SET_SF_BSHZ, // 手分/遥分闭锁合闸 SET_SH_BSFZ, // 手合无压闭锁分闸 SET_GZBSHZ_TT, // 合到故障分闸闭锁合闸 SET_LOSTFZ_TT, // 失电延时分闸 #ifdef FA_OC_COUNT SET_FA_OC_COUNT_TT, // 过流脉冲计数投退 #endif SET_LABLE_FADZ, // 列表名 就地馈线自动化定值 SET_FA_YY_U, // 有压定值 SET_FA_WY_U, // 无压定值 SET_FA_X_T, // 得电合闸延时(X时限) SET_FA_Y_T, // 故障检测时限(Y时限) SET_FA_XL_T, // 失压合闸延时(XL时限) SET_FA_Z_T, // 失电分闸延时(Z时限) SET_FA_BSTZ_T, // 闭锁分闸复归时间 SET_FA_GL_I, // 相间故障电流I段定值 SET_FA_GLI_T, // 相间故障电流I段时间 SET_FA_GL_II, // 相间故障电流II段定值 SET_FA_GLII_T, // 相间故障电流II段时间 SET_FA_LX_I, // 接地故障电流定值 SET_FA_LX_T, // 接地故障时间定值 SET_FA_FHDDY, // 复合电压低电压定值 SET_FA_FHFDY, // 复合电压负序电压定值 SET_FA_GL2_I, // 相间过流告警电流定值 SET_FA_GL2_T, // 相间过流告警时间定值 SET_FA_LX2_I, // 接地告警电流定值 SET_FA_LX2_T, // 接地告警时间定值 SET_FA_U0_U, // 零序电压保护电压定值 SET_FA_U0_T, // 零序电压保护时间定值 SET_FA_DLBS_I, // 非遮断电流值 SET_FA_XBCOE, // 二次谐波闭锁系数 SET_HZBS_TIMES, // 多次失压分闸闭锁次数 SET_HZBS_T, // 多次失压分闸闭锁时间 SET_FA_WLDZ, // 无流定值 SET_FA_YY_T, // 有压判定时间 SET_FA_WY_T, // 无压判定时间 SET_FA_LL_CD_T, // 联络充电时间 #if defined GD_AREA_ZHONGSHAN_2020 SET_FA_GZTZ_T, // 快速跳闸延时 #endif #ifdef FA_OC_COUNT SET_FA_OC_COUNT_M, // 过流脉冲计数 SET_FA_OC_COUNT_T, // 过流脉冲时间 #endif SET_LABLE_GOOSETT, // 列表名 智能分布式控制字 #if defined GD_AREA_ECZD_2020 SET_GOOSE_FA_TYPE, // 分布式FA方式 SET_GOOSE_LL_TT, // 联络自投投入 SET_GOOSE_GZVSZT_TT, // 过载闭锁自投投入 SET_GOOSE_SDLOSTVOL_TT, // 首开关失压保护投入 SET_GOOSE_CHZ_TT, // 智能分布式启动重合闸 SET_GOOSE_FTU_TYPE, // 本接点开关类型 首、末开关 SET_LABLE_GOOSEDZ, // 列表名 智能分布式定值 #if defined GD_AREA_ZHONGSHAN_2020 SET_GOOSET_GL_I, // 故障切除相电流I段 SET_GOOSET_GL_T, // 相电流I段跳闸延时 SET_GOOSET_GL2_I, // 故障切除相电流II段 SET_GOOSET_GL2_T, // 相电流II段跳闸延时 SET_GOOSET_LX_I, // 故障切除零序电流 SET_GOOSET_LX_T, // 零序电流跳闸延时 SET_GOOSET_GZGL_T, // 故障点下游开关隔离时间 SET_GOOSET_SDLOST_T, // 首段失压跳闸时间 SET_GOOSET_LL_T, // 供电恢复时限 SET_GOOSE_FTU_TYPE, // 开关类型 首、末开关 SET_GOOSE_KG_TYPE, // 开关安装位置 ==0 主环 #elif defined GD_AREA_ECZD_2020 SET_GOOSET_U_NO, // 无压定值 SET_GOOSET_U_HAVE, // 有压定值 SET_GOOSET_C_NO, // 无流定值 SET_GOOSET_GL_I, // 分布式FA过流定值 SET_GOOSET_GL_T, // 分布式FA过流时间 SET_GOOSET_LX_I, // 分布式FA零序过流定值 SET_GOOSET_LX_T, // 分布式FA零序过流时间 SET_GOOSET_LLC_T, // 联络自投充电延时 SET_GOOSET_SDLOST_T, // 首开关失压跳闸延时 SET_GOOSET_GZ_I, // 过载判断定值 SET_GOOSET_SL_T, // 失灵判断延时 SET_GOOSET_GZGL_T, // 故障隔离时限 SET_GOOSET_LL_T, // 供电恢复时间 #endif #else SET_GOOSE_FA_TT, // 分布式FA控制字 SET_GOOSE_SDLOSTVOL_TT, // 分布式FA功能 SET_GOOSE_LL_TT, // 首开关失压分闸 SET_GOOSE_FA_TYPE, // 速动/缓动 SET_GOOSE_FTU_TYPE, // 本节点开关类型 SET_GOOSET_DIR_TT, // 组网方式 SET_GOOSET_MXTFZ_TT, // 母线故障跳末开关 SET_GOOSE_XBBS_TT, // 涌流识别 #ifdef GOOSE_NETTYPE_SET SET_GOOSE_NET_TYPE, // goose网络类型 #endif SET_LABLE_GOOSEDZ, // 列表名 #ifdef GD_AREA_ZHONGSHAN SET_GOOSET_GL_I, // 故障切除相电流I段 SET_GOOSET_GL_T, // 相电流I段跳闸延时 SET_GOOSET_GL2_I, // 故障切除相电流II段 SET_GOOSET_GL2_T, // 相电流II段跳闸延时 SET_GOOSET_LX_I, // 故障切除零序电流 SET_GOOSET_LX_T, // 零序电流跳闸延时 #endif SET_GOOSET_SDLOST_T, // 首开关失压分闸延时 SET_GOOSET_LL_T, // 故障恢复时间 SET_GOOSET_GZGL_T, // 故障隔离时间 SET_GOOSE_XBCOE, // 涌流识别定值 #endif SET_LABLE_TQ, // 列表名 同期合闸定值 SET_TQ_U, // 合环压差 SET_TQ_ANG, // 合环角差 SET_TQ_F, // 合环频差 SET_LABLE_VOLJL, // 列表名 自动解列控制字 SET_VOLJL_TT, // 电压越限解列投入 SET_DYJL_HCBS_TT, // 电压滑差闭锁功能 SET_PLJL_TT, // 频率越限解列投入 SET_DPJL_HCBS_TT, // 频率滑差闭锁功能 SET_LABLE_PLJL, // 列表名 自动解列定值 SET_JL_CHAR_T, // 解列充电时间 SET_GDYJL_U, // 电压过低解列定值 SET_GDYJL_T, // 电压过低解列时间 SET_DYJL_U, // 低电压解列定值 SET_DYJL_T, // 低电压解列时间 SET_GYJL_U, // 高电压解列定值 SET_GYJL_T, // 高电压解列时间 SET_GGYJL_U, // 过高电压解列定值 SET_GGYJL_T, // 过高电压解列时间 SET_DYJL_HCBS_U, // 电压滑差定值 SET_GDPJL_HZ, // 频率过低解列定值 SET_GDPJL_T, // 频率过低解列时间 SET_DPJL_HZ, // 低频解列定值 SET_DPJL_T, // 低频解列时间 SET_GPJL_HZ, // 高频解列定值 SET_GPJL_T, // 高频解列时间 SET_GGPJL_HZ, // 频率过高解列定值 SET_GGPJL_T, // 频率过高解列时间 SET_DPJL_HCBS_HZ, // 频率滑差定值 #ifdef XDL_ZT // 小电流接地 SET_LABLE_XDLJD_TT, // 列表名 小电流接地控制字 SET_XDL_TT, // 小电流接地保护 SET_XDL_STR_AR_TT, // 小电流接地保护启动重合闸 SET_XDL_HJS_TT, // 小电流接地保护后加速 SET_XDLQD_TT, // 小电流启动类型 SET_LABLE_XDLJD_DZ, // 列表名 小电流接地定值 SET_XDL_T, // 小电流接地故障时间 SET_XDL_HJSKF_T, // 后加速开放时间 SET_XDL_I, // 小电流暂态电流 #elif defined FUN_JDXX // 接地选线 SET_LABLE_JDXX, // 列表名 SET_JDXXGJ_TT, // 小电流接地告警 SET_JDXXTZ_TT, // 小电流接地跳闸 SET_JDXX_CPH_TT, // 接地选相投退 SET_JDXX_P0_TT, // 接地功率方向投退 SET_JDXX_ZERO, // 零漂值 SET_JDXX_QD, // 启动值 SET_JDXX_QDPOINTS, // 启动点数 SET_JDXX_SUREPOINTS, // 确认点数 SET_JDXX_FAULTPOINTS, // 一次接地,判断故障总的采样点数 SET_JDXX_VOLTYPE, // 参考电压 SET_JDXX_VOLZERO, // 参考电压零漂值 SET_JDXX_U0, // 接地U0定值 SET_JDXX_TRIP_TIME, // 小电流接地出口时间 SET_JDXX_GJ_TIME, // 小电流接地告警时间 SET_JDTYPE, // 系统接地方式 #endif SET_LABLE_LA, // 列表名 线路断线告警 SET_LA_BREAKLINE_A_T, // 线路断线告警延时 SET_LA_BREAKLINE_M_T, // 线路断线判定方式 SET_LA_BREAKLINE_Z_U, // 线路断线零压 SET_LA_BREAKLINE_Z_C, // 线路断线零流 SET_LA_BREAKLINE_D_U, // 线路断线低电压 #ifdef FUNC_DRIVE SET_LABLE_BTDCD, // 列表名 不停电传动 SET_DRIVE_HZ_T, // 延时合闸时间 SET_FZ_END_T, // 结束传动时间 SET_DRIVE_FZ_T, // 延时分闸时间 SET_HZ_END_T, // 合闸结束传动时间 #endif #ifdef FUNC_DRIVE_JY SET_LABEL_DRIVE, // 传动功能 SET_UA1, // 传动模拟电源侧电压 SET_UA2, // 传动模拟负荷侧电压 SET_U0, // 传动模拟零序电压 SET_I, // 不停电传动功能模拟IA SET_I0, // 不停电传动功能模拟I0 SET_DRIVE_UA1_T, // 传动电源侧电压时间 SET_DRIVE_UA2_T, // 传动负荷侧电压时间 SET_DRIVE_U0_T, // 传动零压时间 SET_DRIVE_I_T, // 传动过流时间 SET_DRIVE_I0_T, // 传动零流时间 SET_DRIVE_AGAIN_T, // 再次传动时间 #endif SET_LABLE_FSX, // 列表名 SET_FSX_TT, // 反时限投退 SET_FSX_I, // 反时限基准值 SET_FSX_Tp, // 反时限时间常数 SET_FSX_TYPE, // 反时限类型 SET_LABLE_DLYX, // 列表名 电流越限 SET_DLZZ_TT, // 电流重载 SET_DLZZ_I, SET_DLZZ_T, SET_DLGZ_TT, // 电流过载 SET_DLGZ_I, SET_DLGZ_T, SET_DLYX_TT, // 负荷越限 SET_DLYX_I, SET_DLYX_T, SET_LXYX_TT, // 零序电流越限 SET_LXYX_I, SET_LXYX_T, SET_WAVE_RECORD_LABEL, // 列表名 录波 SET_WAVE_GLGZ, // 过流故障启动 SET_WAVE_LXGL, // 零序过流启动 SET_WAVE_LXDY, // 零序电压启动 SET_WAVE_XLSY, // 线路失压启动 SET_WAVE_LYTB, // 零压突变启动 SET_U0_TB, // 零压突变定值 SET_WAVE_LLTB, // 零流突变启动 SET_I0_TB, // 零流突变定值 SET_WAVE_CHZ, // 重合闸启动 SET_WAVE_TV, // 残压 SET_WAVE_FA, // FA动作 #if defined FUN_JDXX || defined XDL_ZT SET_WAVE_XDLJD, // 小电流接地启动 #endif SET_LABLE_OTHER, // 列表名 辅助定值 SET_CURRENT_INV_TT, // 功率取反投退 涉及功率计算和小电流接地判断 SET_DIR_INV_TT, // 保护方向取反投退 过流方向计算时使用 SET_TT_TWCN, // 未储能告警 SET_TT_KZHL, // 控制回路 SET_QYD_BS_TT, // 气压低闭锁分合闸 SET_PT1_LL_CHECK_TT, // PT1断线检查投退 SET_PT2_LL_CHECK_TT, // PT2断线检查投退 #ifdef CUSTOMIZE_BZT // 备自投 SET_LABLE_BZT, // 列表名 SET_BZT_TT, // 备自投投退 SET_BZT_FS, // 备自投方式 SET_BZTT_T, // 备自投跳闸时间 SET_BZTH_T, // 备自投合闸时间 SET_TCD, // 备自投充电时间 SET_POWERON_U, // 备自投有压定值 SET_POWEROFF_U, // 备自投无压定值 SET_BZT_WL, // 备自投无流定值 SET_BZT_MX_PT1, // 母线电压1 SET_BZT_MX_PT2, // 母线电压2 SET_BZT_DL1_PT, // 1#进线电压 SET_BZT_DL2_PT, // 2#进线电压 SET_BZT_DL1_I, // 1#进线电流 SET_BZT_DL2_I, // 2#进线电流 #endif SET_NUM }; // 公共定值 enum { SET_LABLE_EQUSET = 0, // 列表名 设备参数 SET_BHCT1_A, // CT额定一次值 SET_BHCT2_A, // CT额定二次值 SET_I0CT1_A, // 零序CT额定一次值 SET_I0CT2_A, // 零序CT额定二次值 SET_APT1_U, // 电源侧PT额定一次值 SET_APT2_U, // 电源侧PT额定二次值 SET_BPT1_U, // 负荷侧PT额定一次值 SET_BPT2_U, // 负荷侧PT额定二次值 SET_PPT_TYPE, // A侧PT接线方式 SET_LPT_TYPE, // B侧PT接线方式 SET_LABLE_SEC_SET, // 列表名 定值区 SET_SECTION, // 定值区号 #ifdef FIXAREA_VERSION_T // 待召唤定值区号、待执行定值区号 SET_SECTION_ONCALL, // 待召唤定值区号 SET_SECTION_ONDO, // 待执行定值区号 #endif SET_LABLE_PUBTT, // 列表名 运行软压板 SET_EDIT_PAR_YB, // 远程运维投入 SET_LABLE_PUBPARA, // 列表名 电压参数 SET_GDY_TT, // 过电压投退 SET_GDY_U, // 过电压定值 SET_GDY_T, // 过电压时间 SET_DDY_TT, // 低电压投退 SET_DDY_U, // 低电压定值 SET_DDY_T, // 低电压时间 SET_YY_TT, // 线路有压投退 SET_YY_U, // 有压定值 SET_YY_T, // 有压时间 SET_WY_TT, // 线路无压投退 SET_WY_U, // 无压定值 SET_WY_T, // 无压时间 SET_DC1GJ_TT, // 直流电压1告警投退 SET_DC1GJ_U, // 直流电压1告警定值 SET_DC1GJ_T, // 直流电压1告警时间 SET_DC2GJ_TT, // 直流电压2欠压告警投退 SET_DC2GJ_U, // 直流电压2告警定值 SET_DC2GJ_T, // 直流电压2告警时间 #ifdef CUSTOMIZE_BZT // 备自投 SET_LOST_TT, // 失压投退 SET_LOST_U, // 失压分闸定值 SET_LOST_T, // 失压时间 #endif SET_LABLE_FDL, // 列表名 非电量保护 SET_FDL1_TT, // 非电量1保护 SET_FDL2_TT, // 非电量2保护 SET_FDL3_TT, // 非电量3保护 SET_FDL4_TT, // 非电量4保护 SET_FDL5_TT, // 非电量5保护 SET_FDL6_TT, // 非电量6保护 SET_FDL1_T, // 非电量1时间 SET_FDL2_T, // 非电量2时间 SET_FDL3_T, // 非电量3时间 SET_FDL4_T, // 非电量4时间 SET_FDL5_T, // 非电量5时间 SET_FDL6_T, // 非电量6时间 SET_TT_OTHER_PUB, // 列表名 其他 SET_TT_GZJD, // 经高阻接地方式 SET_TBLTYPE, // 小电流突变方式 SET_FILTER, // 信号滤波方式 SET_WAVETYPE, // 小波类型 SET_WAVE_ORDER, // 小波卷积阶数 SET_HILBERT, // H 变换 SET_TQ_FH, // 同期合闸判断返回时间 #ifdef FUNC_SET_FA_JS SET_FA_JS, // FA合闸解锁时间 #endif #ifdef VOLT_ADAPTIVE_FACTOR SET_ADAPTIVEFACTOR, // 自适应电压系数 #endif SET_PUB_NUM }; // 装置参数 enum { PARA_LABEL_PROTOCAL = 0, // 列表名 规约参数 PARA_ADDR, // 装置地址 PARA_YXTYPE, // 遥信类型 PARA_YKTYPE, // 遥控类型 PARA_YCTYPE, // 遥测类型 PARA_YCTIME, // 遥测发送间隔 PARA_YCAUTO, // 遥测自动上送 PARA_YC_DEAD_TYPE, // 遥测死区上传类型 PARA_COSAUTO, // COS自动上传 PARA_EVPARA, // COS自动上传 PARA_YK_TIME, // 遥控超时时间 PARA_101LINKADDR, // 101链路地址 PARA_101APPADDR, // 101应用地址 PARA_101COT, // 101传送原因 PARA_104_Client, // 104端口 是服务器还是客户端 PARA_104_PORT, // 104端口 PARA_104_ACK_TIME, // 104确认超时 PARA_104_TEST_TIME, // 104测试超时 PARA_104_K, // 104 K值 PARA_104_W, // 104 W值 PARA_IP_104MASTER1, // 104主站IP1 PARA_IP_104MASTER2, // 104主站IP2 PARA_IP_104MASTER3, // 104主站IP3 PARA_IP_104MASTER4, // 104主站IP4 PARA_LABEL_LINK, // 列表名 PARA_IP_104LINK1, // 104级联IP1 PARA_IP_104LINK2, // 104级联IP2 PARA_IP_104LINK3, // 104级联IP3 PARA_IP_104LINK4, // 104级联IP4 PARA_IP_104LINK5, // 104级联IP5 PARA_IP_104LINK6, // 104级联IP6 PARA_IP_104LINK7, // 104级联IP7 PARA_IP_104LINK8, // 104级联IP8 PARA_LABEL_SERIAL, // 列表名 串行口 PARA_PROTOCOL_S1, // 规约类型 PARA_BAUD_S1, // 波特率 PARA_PARITY_S1, // 校验方式 PARA_PROTOCOL_S2, // 规约类型 PARA_BAUD_S2, // 波特率 PARA_PARITY_S2, // 校验方式 PARA_PROTOCOL_S3, // 规约类型 PARA_BAUD_S3, // 波特率 PARA_PARITY_S3, // 校验方式 PARA_PROTOCOL_S4, // 规约类型 PARA_BAUD_S4, // 波特率 PARA_PARITY_S4, // 校验方式 PARA_PROTOCOL_S5_GPS, // 规约类型 PARA_BAUD_S5_GPS, // 波特率 PARA_PARITY_S5_GPS, // 校验方式 PARA_PROTOCOL_S6, // 规约类型 PARA_BAUD_S6, // 波特率 PARA_PARITY_S6, // 校验方式 PARA_PROTOCOL_S7, // 规约类型 PARA_BAUD_S7, // 波特率 PARA_PARITY_S7, // 校验方式 #ifdef FUN_FUXI_ESAM PARA_PROTOCOL_S8_S1, // 规约类型 PARA_BAUD_S8_S1, // 波特率 PARA_PARITY_S8_S1, // 校验方式 #endif PARA_LABEL_ETHERNET, // 列表名 以太网通道 PARA_NET1, PARA_IP_NET1, PARA_MA_NET1, PARA_ROUTE_NET1, // 网段 PARA_ROUTE_NETMASK1, // 掩码 PARA_ROUTE_GATE1, // 网关 PARA_NET2, PARA_IP_NET2, PARA_MA_NET2, PARA_ROUTE_NET2, // 网段 PARA_ROUTE_NETMASK2, // 掩码 PARA_ROUTE_GATE2, // 网关 PARA_NET3, PARA_IP_NET3, PARA_MA_NET3, PARA_ROUTE_NET3, // 网段 PARA_ROUTE_NETMASK3, // 掩码 PARA_ROUTE_GATE3, // 网关 PARA_NET4, PARA_IP_NET4, PARA_MA_NET4, PARA_ROUTE_NET4, // 网段 PARA_ROUTE_NETMASK4, // 掩码 PARA_ROUTE_GATE4, // 网关 PARA_GATE_NET, // 网关 PARA_LABEL_TIME, // 列表名 对时 PARA_TIMETYPE, // 对时方式 PARA_TIMETYPE_STANDER, // 标准化对时方式选择 PARA_GPS_INTERVAL, // GPS/北斗对时间隔 PARA_CHANGETIME, // 对时切换时长 PARA_IP_SNTP, // SNTP服务器IP PARA_SNTP_SYNC_TM, // SNTP对时间隔 PARA_LABEL_BATTERY, // 列表名 电池活化 PARA_BATBEGIN_YMD, // 电池活化启动时间 PARA_BATBEGIN_HMS, // 电池活化启动时刻 PARA_BAT_INTERVAL, // 电池活化间隔 PARA_BAT_ALARM, // 电池告警阀值 PARA_LABLE_RMT, // 列表名 远动参数 PARA_DEAD_ZONE_ALL, // 遥测死区 PARA_DEAD_I, // 电流死区 PARA_DEAD_U, // 交流电压死区 PARA_DEAD_ZL, // 直流电压死区 PARA_DEAD_P, // 功率死区 PARA_DEAD_F, // 频率死区 PARA_DEAD_COS, // 功率因数死区 PARA_YXFD, // 遥信防抖时间 PARA_FZPULSE, // 分闸脉冲 PARA_HZPULSE, // 合闸脉冲 PARA_U_ZERO, // 电压零漂 PARA_PHASE_I_ZERO, // 相电流零漂 PARA_ZERO_I_ZERO, // 零序电流零漂 #ifdef CPU_FUXI PARA_DC_ZERO, // 直流电压零漂 #endif PARA_LABEL_OTHERS, // 列表名 其它 PARA_FHZPULSE, PARA_RST_TT, // 自动复归投退 PARA_RSTTIME, // 自动复归时间 #ifdef YX_RESET_TIME PARA_EVTRSTTIME, // 遥信复归时间 故障遥信保持时间 #endif PARA_LHTTIME, // 液晶背光时间 PARA_LINK_STATE, // 级联状态通道 #if (defined GD_AREA_ZHONGSHAN || defined GD_AREA_ZHONGSHAN_2020) PARA_GOOSE_ID, // goose通信ID PARA_GOOSE_T1, // goose通信ID PARA_GOOSE_T2, // goose通信ID #endif #ifdef RCD_STRAN_M_EN PARA_LB_MASTER_TT, // 级联录波使能 #endif #ifdef YPARA_LINK_S_EN PARA_YPAR_CHG_TT, #endif #ifdef FUN_FUXI_ESAM PARA_LABEL_S1, // 列表名 PARA_S1_MODE, // 加密工作模式 PARA_S1_PORT, // 监听端口号 PARA_S1_NAT, // NAT PARA_S1_IP, // 加密芯片IP PARA_S1_MASK, // 掩码 PARA_S1_GATE, // 网关 PARA_S1_FAR_IP, // 远端IP PARA_S1_FAR_MASK, // 掩码 PARA_S1_FAR_GATE, // 网关 #endif #ifdef METERING_ENERGY // 历史记录文件定值 PARA_LABEL_HISFILE, // 列表名 PARA_YC_JG_T, // 遥测定点间隔 PARA_LL_FILE_TT, // 线损文件投退 PARA_LL_SW_ID, // 开关ID PARA_LL_MONTHD_DAY, // 考核日冻结日 PARA_LL_MONTHD_HOUR, // 考核日冻结小时 #endif PARA_NUM }; // 内部定值 enum { CSTSET_LABEL_PROTECT = 0, // 列表名 保护 #ifdef XDL_ZT CSTSET_XDL_U0_U1, // 小电流接地零压定值1 CSTSET_XDL_U0_T1, // 小电流接地零压时间1 CSTSET_XDL_U0_U2, // 小电流接地零压定值2 CSTSET_XDL_U0_T2, // 小电流接地零压时间2 #endif CSTSET_FZLBXS, // 幅值加速滤波系数 CSTSET_TBLQD, // 突变量定值 CSTSET_IWL, // 无流定值 CSTSET_TZZ, // 整组复归时间 CSTSET_TZSB, // 跳闸失败时间 CSTSET_HZSB, // 合闸失败时间 CSTSET_U0BS_TT, // 零压闭锁零流 CSTSET_DDYBS_TT, // 低压闭锁过流 CSTSET_U0BS_U, // 零压闭锁零流定值 CSTSET_DDYBS_U, // 低压闭锁过流定值 CSTSET_DP_DELTAF_TT, // 低频滑差投入 CSTSET_DP_DELTAF, // 低频滑差 #ifdef PRO_AL_LOCK_HZ CSSET_JL_LOCK_CHZ, // 解列闭锁重合闸 CSSET_START_CHZ_JUDGE_FREQ, // 解列后重合闸判频率 CSSET_START_CHZ_JUDGE_VOLT, // 解列后重合闸判电压 #endif CSTSET_LABEL_CALC, // 列表名 计算功能 CSTSET_FREQ, // 频率跟踪投退 CSSET_HARMONIC_NUM, // 谐波计算次数 CSSET_HARMONIC_FACTOR, // 谐波校正系数 CSSET_TEMP_FACTOR_AC, // 交流温漂(ppm) CSSET_TEMP_FACTOR_DC, // 直流温漂(ppm) CSTSET_RET_ZERO, // 归零值投退 CSTSET_U0ZC_TT, // 零序电压自产 CSTSET_LABEL_COMM, // 列表名 通讯 CSSET_101RESEND_T, // 101子站重发 CSSET_IEC101, // 101通道时间 CSSET_101_COT03, // 101初始化原因03 CSSET_104_CHECK_ACK, // 104序号检查 CSSET_101FCB, // 101FCB检查 CSSET_DI_CONTINUE, // 点号连续上送 CSSET_SM2_TT, // 加密功能 CSSET_RMTTEST_TT, // 远动测试模式 CSSET_SOE_RESUME_COMM, // SOE通讯续传,通讯重连时上送未确认的SOE CSSET_SOE_RESUME_POWER, // SOE上电续传 #ifdef FIX_PARAM_FORMAT CSSET_SET_ULF8, // 固定参数上送格式 ulf-8 江苏要求 #endif CSSET_EQU_TYPE, // 装置类型 CSSET_YC_FILTER_FACTOR, // 遥测滤波系数,防止遥测没有稳定下来突发上送 CSTSET_LABEL_FA, // 列表名 馈线自动化 CSTSET_SYBOARD_TT, // 瞬压板投退 CSTSET_GOOSE_CD_T, // DFA充电时间 CSTSET_GOOSE_GLFD_T, // DFA隔离放电时间 CSTSET_GOOSE_LLFD_T, // DFA恢复放电时间 CSTSET_GOOSE_FORBIT_T, // DFA禁止转发时间 CSTSET_GOOSE_SENDEXT_T, // DFA发送展宽时间 CSTSET_GOOSE_CHECK_T, // goose判断时间 CSTSET_GOOSE_FHKG_PUB, // 负荷开关goose发布 CSTSET_GOOSE_SEND_FAULT, // goose发布在故障确认后 CSTSET_SHORT_LDJS_T, // 单侧来电解锁时间 CSTSET_BS_YKON_TT, // FA闭锁合闸禁止遥合 #ifdef FA_PL_PJ CSSET_JUDGE_FREQ, // 有压判频率投退 #endif CSSET_U_PJ, // 有压判据 CSTSET_WAVE_RECORD_LABEL, // 列表名 录波功能 CSTSET_WAVE_FILETYPE, // 文件格式 CSTSET_WAVE_VOL_TYPE, // 电压选择 CSTSET_WAVE_XNYX, // 虚拟遥信记录 CSTSET_WAVE_YXDES_TYPE, // 遥信描述类型 CSTSET_WAVE_SWNUM, // 本开关间隔号 CSTSET_LABEL_OTHERS, // 列表名 辅助定值 CSTSET_WCNALARM_T, // 未储能告警时间 CSTSET_SD_YX_T, // 失电闭锁遥信时间 CSTSET_CHARGEOK_TIME, // 电池充满维持时间 CSSET_HS_FILE_TT, // 记录文件投退 CSSET_HS_FILE_FORMAT, // 记录文件格式 CSSET_RST_REUSE_FUNC, // 复归按键复用功能选择 CSSET_RST_REUSE_FILTER_TIME, // 复归按键复用功能防抖时长 CSSET_RMT_PARA_TT, // 远动参数有效 CSSET_LOG_PRINTF_TT, // 现场运行模式 CSSET_101_TRANSSURE_TT, // 101文件传输确认帧 CSSET_ZERO, // 测量差值 CSSET_ZL, // 直流电压定值 CSSET_SET_DC_NUM, // 直流通道数 CSSET_PT2_VOL, // 负荷侧电压选择 CSSET_DISP_ONE_TWO, // 液晶遥测数据显示 CSSET_FAULT_PARA_DKY, // 故障事件遥信地址长度 #ifdef YC_QUANTITY CSSET_YC_NUM, // 设置每间隔遥参数量 #endif #ifdef METERING_ENERGY CSSET_DD_CALC_MODE, // 电度计算方式 CSSET_JLJX, // 计量接线方式 CSSET_WGFS, // 无功电能算法 #endif CSSET_SET_EV_YC_RATE, // SOE遥测系数投退 CSSET_SET_YC_DEAD_ZONE_ALL, // 遥测总死区有效投退 CSTSET_NUM }; // 时间定值 enum { TIME_YEAR, TIME_MONTH, TIME_DAY, TIME_HOUR, TIME_MINUTE, TIME_SECOND, TIME_NUM, }; // 用户密码 enum { CODE, CODE_NUM, }; /*------------------------------ 类型结构 ------------------------------------- */ // 串口参数结构体 typedef struct SERIAL_PARA { DWORD dBaud; // 485 波特 WORD wParity; // 串口校验方式无奇偶校验等 WORD wProtocol; // 规约类型 bool bInit; bool b101PH; } SERIAL_PARA; // 网络参数结构体 typedef struct NET_PARA { DWORD wIp; DWORD wGate; DWORD wMask; WORD wProtocol; // 规约类型 bool bInit; BYTE changed; // 网络参数改变标志.IP是bit0, Gate是bit1, Mask是bit2 BYTE ethid; // 对应的物理网卡 BYTE index; // 虚拟号 BYTE old_ethid; // 上一次的网卡序号 BYTE old_index; // 虚拟号 DWORD wRouteNet; // 网段 DWORD wRouteNetMask; // 网段掩码 DWORD wRouteGate; // 网关 } NET_PARA; typedef struct OC_SET { DWORD dI; // 越限定值 DWORD dI_fh; // 越限定值返回值 #if defined GD_AREA_ECZD_2020 DWORD dU; // 低电压定值 DWORD dU_fh; // 越限定值返回值 DWORD dU2; // 负序电压值 DWORD dU2_fh; // 负序电压值 #endif DWORD dT; // 动作时间 bool bTz; // 跳闸 bool bGj; // 告警 bool bDir; // 方向投入 } OC_SET; typedef struct GOC_SET // 智能FA定值 { DWORD dIgl; // 过流定值 DWORD dIgl_fh; // 过流定值返回值 DWORD dTgl; // 过流时间 DWORD dIgl2; // 过流定值 DWORD dIgl2_fh; // 过流定值返回值 DWORD dTgl2; // 过流时间 DWORD dIlx; // 零序定值 DWORD dIlx_fh; // 零序定值返回值 DWORD dTlx; // 零序时间 DWORD dTll; // 联络合闸时间 bool bTT_ll; // 联络合闸投退 bool bTT_sdlost; // 首段失压投退 DWORD dTsdlost; // 首端失压时间 DWORD dTgzgl; // 故障隔离时间 bool bsw_sd; // 首端开关 bool bsw_fz; // 末端开关 bool bsw_ll; // 联络开关 bool bFA_slow; // 缓动 型FA bool bTT_gooseFA; bool bTT_DIR; bool bTT_mxTfz; // 母线故障跳分支 bool bKg_mainloop; // 主环开关 #if defined GD_AREA_ZHONGSHAN_2020 OC_SET tOc[FAG_BHNUMBER]; // 手合故障跳闸 goose #endif } GOC_SET; typedef struct TSETSW { /* 功能压板 */ bool btt_gnyb_cg; // 常规保护投入 bool btt_gnyb_zdchz; // 自动重合闸投入 bool btt_gnyb_fa; // 就地馈线自动化投入 bool btt_gnyb_dfa; // 智能分布式投入 bool btt_gnyb_jzs; // 集中模式压板 bool btt_gnyb_tqhz; // 同期合闸投入 bool btt_gnyb_zdjl; // 自动解列投入 bool btt_gnyb_xdljd; // 小电流接地保护投入 bool btt_gnyb_xldxgj; // 线路断线告警投入 bool btt_gnyb_btdcd; // 不停电传动投入 /* 运行压板 */ bool btt_yxyb_gnztt; // 自动化功能总投退软压板 bool btt_yxyb_gnzck; // 自动化功能总出口软压板 bool btt_yxyb_chz; // 重合闸软压板 #ifdef YK_SOFT_YB // 遥控压板 bool bTT_SOFT_YK_YB; #endif OC_SET toc[BHOC_NUMBER]; // 过量保护 GOC_SET tGocSet; // goose 过流 DWORD dT_SpeedUp_Open; // 后加速开放时间 bool dT_ch_gl_tt; // 过流重合默认投入 bool dT_ch_jd_tt; // 接地重合默认投入 DWORD dT_chz[MAX_AR_TIMES]; // 重合时间 DWORD dT_chz_bs; // 重合闸闭锁时间 DWORD dT_chz_ok; // 重合闸确认时间 用于判断重合闸闭锁 DWORD dT_chz_cd; // 重合闸充电时间,一次重合闸15秒,二次重合闸180秒 DWORD dT_chz_Topen; // 重合闸开放时间 DWORD d_chz_times; // 重合闸次数 DWORD dA_chz_deltaAng; // 重合同期角差 角度差定值固定取30° DWORD dU_chz_deltaU; // 重合同期压差 20%额定电压 DWORD dU_chz_wy; // 重合无压判断 40%额定电压 DWORD dU_chz_yy; // 重合无压判断 40%额定电压 DWORD d_bh_xbcoe; // 谐波系数 bool bTT_chz_wy; // 重合检无压 DWORD bTT_chz_wy_type; // 重合检无压方式 0母有线无 1母无线有 2两侧无压 bool bTT_chz_tq; // 重合检同期 bool bTT_CHZ; // 重合闸投退 bool bTT_TTCH_TT; // 偷跳启动重合 bool bTT_3U0; // 零序过电压投退 bool bTT_3U0Tz; // 零序过电压保护跳闸 bool bTT_3U0Gj; // 零序过电压保护告警 DWORD dBHOverU0; // 零序过电压 DWORD dBHOverU0_fh; // 零序过电压返回值 DWORD dBHTOverU0; // 零序过电压时间 DWORD dIglfsx; // 反时限过流基准值--10 DWORD dTglfsx; // 反时限过流时间 DWORD dIglfsx098; // 反时限过流*0.96 DWORD dIglfsx105; // 反时限过流*1.05*1.05 DWORD dRVS_MIN_T; // 反时限最短时间 DWORD dRVS_MAX_T; // 反时限最长时间 bool bTT_FSX; // 反时限投退 WORD wFsxType; // 反时限类型 bool bTT_bh_ptdx; // 保护PT断线检查 bool bTT_bh_xbbs; // 保护谐波闭锁 DWORD dT_tq; // 同期时间 DWORD dU_tq_deltaU; // 同期压差 DWORD dA_tq_delatA; // 同期角差 DWORD dF_tq_deltaF; // 同期频差 bool bTT_jl_dy; // 电压解列 DWORD dT_jl_ggdy; // 高电压解列时间 DWORD dT_jl_gddy; // 低电压解列时间 DWORD dT_jl_gdy; // 电压解列时间 DWORD dT_jl_ddy; // 电压解列时间 DWORD dU_jl_ggdy; // 高电压解列定值 DWORD dU_jl_gddy; // 低电压解列定值 DWORD dU_jl_gdy; // 电压解列时定值 DWORD dU_jl_ddy; // 电压解列时定值 DWORD dU_jl_ggdy_fh; // 高电压解列定值 DWORD dU_jl_gddy_fh; // 低电压解列定值 DWORD dU_jl_gdy_fh; // 电压解列时定值 DWORD dU_jl_ddy_fh; // 电压解列时定值 bool bTT_jl_hz; // 频率解列 DWORD dT_jl_ghz; // 高频解列时间 DWORD dT_jl_dhz; // 低频解列时间 DWORD dT_jl_lowhz; // 频解列时间 DWORD dU_jl_ghz; // 高频解列定值 DWORD dU_jl_dhz; // 低频解列定值 DWORD dU_jl_lowhz; // 过低频解列定值 DWORD dU_jl_ghz_fh; // 高频解列定值 DWORD dU_jl_dhz_fh; // 低频解列定值 DWORD dU_jl_lowhz_fh; // 过低频解列定值 bool bTT_hcbs_hz; // 滑差闭锁投退 bool bTT_hcbs_dy; // 电压滑差闭锁功能 DWORD dhcbs_hz; // 频率滑差定值 DWORD dhcbs_u; // 电压滑差定值 bool bTT_FA; // FA投退 bool bTT_fa_LL; // 分段联络模式 bool bTT_fa_poweron; // 电源侧上电合闸 bool bTT_fa_lineon; // 负荷侧上电合闸 BYTE bTT_fa_poweroff; // 电源侧失压联络选择 BYTE bTT_fa_lineoff; // 负荷侧失压联络选择 bool bTT_fa_gzbshz; // 合到故障闭锁合闸 bool bTT_fa_Lostfz; // 失压分闸投退 bool bTT_fa_Icheck; // 合到故障电流判断 bool bTT_fa_bsTz; // 合闸成功闭锁分闸 bool bTT_fa_gzTz; // 合后故障跳闸 bool bTT_fa_sfbs; // 手分闭锁合闸 bool bTT_fa_shbs; // 手合闭锁分闸 bool bTT_fa_scyy_bs; // 双侧有压闭锁 bool bTT_fa_gl2; // 过流告警 bool bTT_fa_lx2; // 零序告警 bool bTT_fa_cybs; // 残压闭锁 bool bTT_fa_xbbs; // FA谐波闭锁 bool bTT_fa_ptdx; // 保护PT断线检查 bool bTT_fa_U0Tz; // 合后接地故障 零序过压投退 bool bTT_fa_U0Gj; // 合后接地故障 零序过压投退 DWORD dU_fa_YY; // 有压定值 DWORD dU_fa_YY_fh; // 有压定值 DWORD dU_fa_YY2; // 有压定值 DWORD dU_fa_YY2_fh; // 有压定值 DWORD dT_fa_YY; // 有压定值 DWORD dU_fa_WY; // 无压定值 DWORD dU_fa_WY_fh; // 无压定值 DWORD dU_fa_WY2; // 无压定值 DWORD dU_fa_WY2_fh; // 无压定值 DWORD dT_fa_WY; // 无压定值 DWORD dT_X; // X时间 DWORD dT_Y; // Y时间 DWORD dT_LL_CD; // 联络充电时间 DWORD dT_XL; // X时间 DWORD dT_Z; // 失压 时间 DWORD dT_fa_bsTz; // 闭锁分闸复归时间 DWORD dT_fa_ocing; // 相间故障电流II段时间 DWORD dT_fa_lxing; // 接地故障时间定值 DWORD d_fa_xbcoe; // 谐波系数 DWORD dU_OverU0; // 合后零压,固定为额定值20% DWORD dU_OverU0_fh; DWORD dT_OverU0; // 合后零压时间,固定为 0.6s DWORD dU_UF; // 瞬压定值固定取25%额定值 DWORD dU_UF2; // 瞬压定值固定取25%额定值 bool bTT_hzbs; // 连续分闸闭锁 DWORD hzbstimes; DWORD dT_hzbs; DWORD dT_wldz; // FA无流定值 #ifdef FA_OC_COUNT bool bTT_fa_oc_count; // 过流脉冲计数投退字 DWORD fa_oc_count_m; // 过流脉冲次数 DWORD fa_oc_conut_time; // 过流脉冲时间,复归时间 #endif bool bTT_goose_xbbs; // FA谐波闭锁 DWORD d_goose_xbcoe; // 谐波系数 bool bTT_WCN; // 弹簧未储能告警投退 bool bTT_KZHL; // 控制回路 bool bTT_Current_Inv; // 电流取反投退,涉及功率计算和小电流接地判断 bool bTT_DIR_Inv; // 电流取反投退,涉及功率计算和小电流接地判断 bool bTT_Power_v2; // 功率计算是否选择第二路电压 bool bTT_QYD_BS; // 气压低闭锁 #ifdef XDL_ZT bool bTT_xdlgj; // 小电流接地告警 bool bTT_xdltz; // 小电流接地跳闸 int bTT_xdlqd; // 小电流启动类型 DWORD dI_xdl; // 小电流接地电流 DWORD dI_xdl_300ma; DWORD dI_xdl_fh; // 小电流接地返回电流 DWORD dI_xdl_zt; // 小电流接地暂态电流 #endif bool bTT_xdlsg; // 小电流接地事故总 float dT_xdl_T; // 小电流跳闸时间 float dT_xdl_GT; // 小电流告警时间 DWORD dT_xdl_hjs; // 小电流零压后加速时间 #if (defined RECORD_SW_U0TB) DWORD dU_xdl_u0TB; // 小电流零压突变定值 DWORD dU_xdl_u0TB_fh; // 小电流零压突变返回定值 #endif bool bTT_lxpolar; // 零序电流反极性投退 bool bTT_PT1_ll_check; // pt1断线检查投退 bool bTT_PT2_ll_check; // pt2断线检查投退 #ifdef PRO_AL_LOCK_HZ DWORD dU_reclose_gdy_fh; // 用于解列后重合闸时判电压高值 DWORD dU_reclose_ddy_fh; // 用于解列后重合闸时判电压低值 #endif bool bTT_IBSCHZ; // 大电流闭锁重合 DWORD dIBSCHZ; // 大电流闭锁重合闸定值 #ifdef FUNC_DRIVE_JY bool bTT_drive; // 传动功能投退 float dU_drive_ua1; // 传动电源侧电压 float dU_drive_ua2; // 传动负荷侧电压 float dU_drive_u0; // 传动零压 float dU_drive_i; // 传动过流 float dU_drive_i0; // 传动零流 DWORD dT_drive; // 传动持续时间 DWORD dT_drive_ua1; // 传动电源侧电压时间 DWORD dT_drive_ua2; // 传动负荷侧电压时间 DWORD dT_drive_u0; // 传动零压时间 DWORD dT_drive_i; // 传动过流时间 DWORD dT_drive_i0; // 传动零流时间 DWORD dT_drive_again; // 分/合闸失败时延时后再次分/合闸 #endif #ifdef FUNC_DRIVE DWORD dT_Drive_hz; // 传动延时合闸时间 DWORD dT_Drive_fz; // 传动延时分闸时间 DWORD dT_fz_end; // 结束传动时间 DWORD dT_hz_end; // 合闸结束传动时间 #endif bool bTT_rcd_type[RECORD_TYPE_NUM]; // 录波投退项 DWORD dU_u0TB; // 零压突变录波定值 DWORD dU_u0TB_fh; // 零压突变录波返回定值 DWORD dI_i0TB; // 零流突变录波定值 DWORD dI_i0TB_fh; // 零流突变录波返回定值 #ifdef CUSTOMIZE_BZT // 备自投 DWORD dBZT_TYPE; // 备自投方式 bool bBZT_BH_TT; // 备自投保护投退 bool bBZT_TT; // 备自投投退 bool bFD; // 分段方式投退 bool bJX; // 进线方式投退 bool bAUTO; // 互投方式投退 bool bDJX; // 单进线投退 bool bZF; // 自复投退 DWORD dT_BTTZ; // 备自投跳闸时间 DWORD dT_BTHZ; // 备自投合闸时间 DWORD dT_BTCD; // 备自投充电时间 DWORD dJX1UPower; DWORD dJX1UPower_fh; DWORD dJX1UPowerLost; DWORD dJX1UPowerLost_fh; DWORD dJX2UPower; DWORD dJX2UPower_fh; DWORD dJX2UPowerLost; DWORD dJX2UPowerLost_fh; DWORD dMX1UPower; DWORD dMX1UPower_fh; DWORD dMX1UPowerLost; DWORD dMX1UPowerLost_fh; DWORD dMX2UPower; DWORD dMX2UPower_fh; DWORD dMX2UPowerLost; DWORD dMX2UPowerLost_fh; DWORD dwl; DWORD dwl_fh; u8 bzt_mx_pt1; u8 bzt_mx_pt2; u8 bzt_dl1_pt; u8 bzt_dl2_pt; u8 bzt_dl1_ct; u8 bzt_dl2_ct; #endif } TSETSW; typedef struct VOL_SET { DWORD dUVol; // 电压定值 DWORD dUVol_fh; // 电压定值返回 DWORD dTVol; bool bTT; } VOL_SET; // 保护定值结构 typedef struct TSET { /* 保护定值 */ TSETSW tSwSet[SWITCH_NUM_MAX]; /* 公共定值 */ u8 section; // 定值区 #ifdef FIXAREA_VERSION_T // 待召唤定值区号、待执行定值区号 u8 section_zh; // 待召唤定值区 u8 section_zx; // 待执行定值区 #endif float ct_one; // CT额定一次值 float ct_two; // CT额定二次值 float ct0_one; // 零序CT额定一次值 float ct0_two; // 零序CT额定二次值 float a_pt_one; // 电源侧PT额定一次值 float a_pt_two; // 电源侧PT额定二次值 float b_pt_one; // 负荷侧PT额定一次值 float b_pt_two; // 负荷侧PT额定二次值 u8 a_side_pt_type; // A侧PT接线方式 u8 b_side_pt_type; // B侧PT接线方式 bool bTT_EDIT_YB; // 远程运维投入 VOL_SET tVolSet[VOL_NUMBER]; // 电压定值 含 过电压、低电压、电源有压,电源无压 U0告警 #ifdef CUSTOMIZE_BZT // 备自投 VOL_SET tVolLostSet; #endif bool bTT_FDLTz[6]; // 非电量保护 bool bTT_FDLGj[6]; // 非电量保护 DWORD dTFDL[6]; // 非电量保护 bool bTT_GZJD; // 经高阻接地投退 WORD bTT_TBLTYPE; // 小电流突变方式 WORD bTT_FILTER; // 小电流信号滤波方式 BYTE bTT_WAVE[8]; // 小波类型 WORD bTT_WAVE_ORDER; // 小波分解阶数 bool bTT_HILEBERT; // H 变换 DWORD dT_tq_fh; // 同期判断返回时间 #ifdef FUNC_SET_FA_JS DWORD dT_FA_JS; // FA合闸解锁 #endif #ifdef VOLT_ADAPTIVE_FACTOR bool bTT_AdaptiveFactor; // 投退自适应电压系数,为1时电压值按计算系数匹配10kv上送,不按转发点表配置系数 #endif /* 内部定值 */ #ifdef XDL_ZT bool bTT_xdl; // 小电流接地投入,只要任一线路小电流接地投入就投入 DWORD dU_xdl_u0[2]; // 小电流零压定值 DWORD dU_xdl_u0_fh[2]; // 小电流零压返回定值 DWORD dU_xdl_u0_zt[2]; // 小电流零压暂态定值 DWORD dT_xdl_u0[2]; // 小电流零压时间 DWORD dU_xdl_22V[2]; // 小电流零压暂态定值 #endif float fFZLBXS; // 幅值加速滤波系数 DWORD dTBLValue[SWITCH_NUM_MAX]; // 突变量定值 DWORD dIWL_SQR[SWITCH_NUM_MAX]; // 无流定值 DWORD dT_ZZFG; // 整组复归时间 DWORD dT_TZSB; // 跳闸失败时间 DWORD dT_HZSB; // 合闸失败时间 bool bTT_U0BS; // 零压闭锁零流 bool bTT_DDYBS; // 低电压闭锁 DWORD dU_U0BS; // 零压闭锁零流定值 DWORD dU_DDYBS; // 低压闭锁过流定值 bool bKG2_DP_DELTAF; // 低频滑差闭锁投 =1投入 =0 退出 DWORD dDP_DELTAF; // 低频减载滑差定值 #ifdef PRO_AL_LOCK_HZ bool bTT_JLlockCHZ; // 解列闭锁重合闸 bool bTT_StartCHZ_judgeFreq; // 解列后启动重合闸判频率 bool bTT_StartCHZ_judgeVolt; // 解列后启动重合闸判电压 #endif bool bTT_FREQ; // 频率跟踪投退 float f_temp_factor_ac; // 交流温漂(ppm) float f_temp_factor_dc; // 直流温漂 bool bTT_RET_ZERO; // 归零值投退 bool bTT_U0ZC; // 零序电压自产 DWORD dT101Resend; // 101重发时间 DWORD dT101Check; // 101通道检查时间 bool bTT_101Cot03; // 101规约初始化结束原因 bool bTT_104ChkAck; // 104检查确认序号 bool bDIContinue; // 点号不连续 bool bTT_101FCB; // 101FCB不判断 bool bTT_SM2; // 国网配电加密功能,使用软件加密 bool bTT_ESAM; // 国网ESAM加密功能,使用ESAM芯片 bool bTT_RmtTest; // 远动测试模式 DWORD dGroupYxSize; // 组召遥信分组大小,为0则无效 DWORD dGroupYcSize; // 组召遥测分组大小,为0则无效 bool bTT_SoeResumeComm; // SOE通讯续传,通讯重连时上送未确认的SOE bool bTT_SoeResumePower; // SOE上电续传 #ifdef FIX_PARAM_FORMAT bool bTT_Utf8; // 固定参数上送格式 UTF-8 bool bTT_Unicode; // 固定参数上送格式 UNICODE #endif WORD wEquTypeDFTU; // DTFU模式 WORD wEquTypeManager; // 通信管理机模式 float f_yc_filter_factor; // 遥测上送滤波系数 bool bTT_SY_Board; // 瞬压板投退 DWORD dT_cd; // DFA充电时间 DWORD dT_glfd; // DFA隔离放电时间 DWORD dT_llfd; // DFA恢复放电时间 DWORD dT_frobit; // DFA禁止转发时间 DWORD dT_sendext; // DFA发送展宽时间 默认300毫秒 DWORD dT_goosecheck; // goose判断时间 bool bTT_fhkg_pub; // 负荷开关goose发布 bool bTT_goose_send_after; // goose发布在故障确认后 DWORD dT_ldjs; // 单侧来电解锁时间 DWORD bTT_bs_ykon; // FA闭锁合闸禁止遥合 #ifdef FA_PL_PJ bool bTT_judgeFreq; // 有压判频率投退 #endif bool bTT_UYYmin; // 有压判据 DWORD lb_vol_type; // 录波 电压选择 0 第一组 1第二组 2全部 bool lb_xyx; // 虚拟遥信记录 bool lb_yx_type; // 遥信描述类型 DWORD lb_sw_num; // 本开关间隔号 DWORD dWCN_T; // 未储能告警时间 DWORD dSDYX_T; // 失电闭锁遥信时间 float bat_chargeok_time; // 电池充满维持时间 bool bTT_HistoryFile; // 记录文件投退 bool bTT_MsgFile; // 记录文件格式 msg格式 bool bTT_XmlFile; // 记录文件格式 xml格式 WORD wHSFileFormat; // 历史文件格式 BYTE resReuseFuncSelect; // 复归按键复用功能选择 DWORD resReuseFuncFilterTime; // 复归按键复用功能防抖时间 bool bTT_RmtPara; // 远动参数有效 bool bTT_LogPrintf; // 现场运行模式 bool bTT_101Transsure; // 101文件传输确认帧 DWORD dSmoothZero; // 测量差值 DWORD dwZL; // 直流电压定值 DWORD dDc_num; // 直流通道数量 DWORD pt2vol; // 负荷侧电压选择 bool bTT_ShowOne; // 液晶遥测数据显示 bool bTT_faultparaDKY; // 故障事件遥信地址长度 #ifdef YC_QUANTITY DWORD dYC_num; // 每间隔遥参数量 #endif #ifdef METERING_ENERGY u8 dd_calc_mode; // 电度计算方式 WORD wJLJX; // 计量接线方式 WORD wWGFS; // 无功方式 #endif bool bTT_EV_YCRate; // 故障事件上送一/二次值切换标志 bool bTT_YC_DeadZone_All; // 遥测总死区有效 /* 装置参数 一些数据 */ WORD wDDJG; // 电度定点间隔 WORD wDDRL; // 电度存储容量 WORD wZDJG; // 整点间隔 WORD wZDRL; // 整点存储容量 WORD wJZRL; // 极值存储容量 WORD wCAPJG; // 电容器管理间隔 WORD wCAPRL; // 电容器管理存储容量 WORD wUDCRL; // 电池电压存储容量 bool bTT_CheckPhase; // 相序检查 bool bTT_CTYC; // CT异常检查 // 内部参数 DWORD dKU[PUB_AC_NUM]; // 相电压比例系数1V对应的码值*256 float pt_rate; // PT变比 DWORD dT_XCY; // 残压时间定值 // 常量定值 DWORD dU02V_SQR; DWORD dVOL10V_SQR; DWORD dVOL16V_SQR; DWORD dVOL50V_SQR; DWORD dVOL90V_SQR; DWORD dVOL70V_SQR; } TSET; /********************************************************** 运行参数由两部份组成,装置参数,测控参数 通信参数及测控参数校验错误,将点亮告警灯,但不闭锁保护 ***********************************************************/ typedef struct RUN_PARA { WORD byAddr; // 装置地址 bool bDPI; // 遥信类型,双点信息上送 bool bSDPI; // 遥信类型,单双点 int YKtype; // 遥控类型,双点信息上送 bool bYcBDH; // 遥测类型,上送标度化值 bool bYcFloat; // 遥测上送 浮点数 float fYcTime; // 遥测发送间隔 bool bAutoSendYc; // 遥测自动上送 bool bDeadType; // 遥测死区类型 bool bAutoCos; // cos 自动上传 bool bEvPara; // cos 自动上传 DWORD dYKTime; // 遥控超时时间 DWORD dSM2Time; // 加密遥控超时时间 bool b101Addr2Byte; // 101链路地址 bool b101App2Byte; // 101应用地址 bool b101Cot2Byte; // 101传送原因 WORD w104Port; // 104规约端口号,默认2404 WORD w104AckTime; // 104确认超时 WORD w104TestTime; // 104测试超时 WORD w104K; // 104 K值,为0则K值无效。 WORD w104W; // 104 W值,为0则W值无效。 bool b104Client; DWORD ip104Master1; // 104主站IP1 DWORD ip104Master2; // 104主站IP2 DWORD ip104Master3; // 104主站IP3 DWORD ip104Master4; // 104主站IP4 DWORD ip104Master[4]; volatile DWORD ip104Link[CFG_LINK_104_NUM]; // 104级联IP DWORD dLinkCallTime; SERIAL_PARA tUartPara[CFG_UART_NUM_MAX]; // 串口参数 NET_PARA tNetPara[CFG_ETH_MAX_LOGIC]; // 逻辑网络参数 bool bGPS; // 对时方式 // TODO 待与GPS对时对接 EWen WORD set_time_mode; // 对时方式 0: 全方式 1:仅卫星 2:仅主站 3:仅时间同步装置 bool bGPS_sync_enable; // WORD GPS_sync_time; // 卫星对时间隔 WORD GPS_switch_delay; // 卫星对时切换延时 DWORD dTBatBegin; // 电池活化启动时间 DWORD dTBatInterval; // 电池活化间隔 float bat_alarm; // 电池告警阀值 bool bAutoRst; // 自动复归 DWORD dTRstT; // 自动复归时间 DWORD dLightTime; // lcd 背光时间,0代表永不熄灭 1分钟,3分钟,5分钟,10分钟,30分钟,60分钟, DWORD dMainTime; // 返回主界面 DWORD dLinkStateCh; // 级联通道监视 #ifdef YX_RESET_TIME DWORD dTEventRst; // 故障遥信保持时间 #endif float fT_LBXH_RST; // 录波信号返回时间 WORD wYXFD; // 遥信防抖时间 WORD wFZMC; // 分闸脉冲时间 WORD wHZMC; // 合闸脉冲时间 #ifdef CPU_FUXI float wDC_ZERO; // 直流零飘值 #endif WORD wFAFZT; // FA 逻辑用分合闸脉冲 WORD wFAHZT; // 合闸脉冲时间 SYSTEM_DATA sysData; // 系统掉电保存数据 WORD wPassword; // 密码 BYTE wPasswordstr[10]; BYTE wPasswordstr2[10]; bool sock_104_flag; // 104 socket初始化标志 #if defined GD_AREA_ZHONGSHAN || defined GD_AREA_ZHONGSHAN_2020 WORD gse_id; // goose通信ID DWORD gse_T1; DWORD gse_T2; #endif bool b_lb_master; // 级联录波主站使能 bool b_ypar_slave; // 参数变化通知使能 #ifdef FUN_FUXI_ESAM WORD s1_mode; WORD s1_port; // 加密芯片端口号 DWORD s1_nat; // 加密芯片IP DWORD s1_ip; // 加密芯片IP DWORD s1_mask; // 掩码 DWORD s1_gate; // 网关 DWORD s1_far_ip; // 远端IP DWORD s1_far_mask; // 掩码 DWORD s1_far_gate; // 网关 #endif #ifdef METERING_ENERGY bool bTT_LLFile; WORD wSWID; WORD wMonday; WORD wMonhour; #endif } RUN_PARA; // 有效定值区 typedef struct TSECTIONINFO { short sCurSec; // 当前运行定值区 BYTE szSections[SEC_NUMBER]; // 0x55=定值有效,0=定值无效 } TSECTIONINFO; // 定值列表描述结构体 typedef struct SET_LIST { char *str; // 索引名称 DWORD dat; // 索引代表的值 } SET_LIST; // #ifdef YPARA_LINK enum { LINK_NET = 0, /*网路级联*/ LINK_S1, /*串口级联*/ }; // 定值列表描述结构体 typedef struct SET_PARAID { u32 parId; u8 group_type; u16 setno; u16 b_rd_only; /*级联信息*/ u8 link_ch; u32 link_cp; } SET_PARAID; // 定值列表描述结构体 // typedef union set_para_v //{ // float f_val; // char str[32]; //}set_para_v; typedef struct SET_PARA_VAL { u8 datatype; /*数据类型*/ u8 len; u8 str[64]; } SET_PARA_VAL; // #endif #ifdef YPARA_LINK extern SET_PARA_VAL tPara_val[MAX_SET_NUMBER]; #endif // 定值列表描述结构体 extern SET_PARAID tParaID[]; extern int ParaIDNum; // 整定值参数表结构 typedef struct TSETTABLE { WORD wType; // 定值类型 WORD wUnit; // 定值单位 float fMin; // 最小值 float fMax; // 最大值 float fDef; // 缺省值 const SET_LIST *list; // 索引列表首地址 int listnum; // 索引列表内容个数 u32 group; // 定值分组 float fStep; // 步长 char szName[PARA_NAME_LEN]; // 定值名称 } TSETTABLE; // 控制字表 typedef struct TKGTABLE { const BYTE byNum; // 本组控制字位的数目(通常是1,最大值=3) const BYTE sBitNo[3]; // 本组控制字各位的位号 const char **pNames; // 本组控制字各种编码(按小到大)的描述 } TKGTABLE; struct set_disp_index { int num; // 按开关重新分配后的定值总数 int swnum; u16 no[MAX_SET_NUMBER]; // 重新编号的定值顺序 u16 Y_offset[MAX_SET_NUMBER]; // 重新编号的定值现实位置 u16 screennum[MAX_SET_NUMBER]; // 每屏定值数 u16 bgn[MAX_SET_NUMBER]; // 每屏定值数 }; typedef struct { BYTE valType; // 定值类型 WORD arrIndex; // 定值在数组里的索引号 WORD forwardAddr; // 转发地址 } CSTVAL_FORWARD_TABLE; // 遥参转发表 // 远方修改定值数据类型定义 #define NULL_R 0 // 无 #define BOOL_R 1 // 布尔 Boolean 1 1 1:true,0:false #define TINY_R 43 // 小整形 Tiny 43 1 -128…127 #define UTINY_R 32 // 无符号 小整形 UTiny 32 1 0…255 #define SHORT_R 33 // 短整形 Short 33 2 -32768…32767 #define USHORT_R 45 // 无符号 短整形 UShort 45 2 0…65535 #define INT_R 2 // 整形 Int 2 4 -2^31…2^31-1 #define UINT_R 35 // 无符号整形 Uint 35 4 0…2^32-1 #define LONG_R 36 // 长整形 Long 36 8 -2^63…2^63-1 #define ULONG_R 37 // 无符号长整形 Ulong 37 8 0…2^64-1 #define FLOAT_R 38 // 单精度浮点 Float 38 4 -3.4028235E+38…3.4028235E+38 #define DOUBLE_R 39 // 双精度浮点 Double 39 8 -1.79769313486231570E+308 #define STR_R 4 // OcterString 4 可变 OcterString // #define RMT_SET_NUMBER (SWITCH_NUM_MAX*19+21+16+12) // 开关定值+ CT变比 19 公共参数21 FTU逻辑定值 16,固定定值11 #define RMT_SET_NUMBER 200 // 开关定值+ CT变比 19 公共参数21 FTU逻辑定值 16,固定定值11 // 通用定值 enum { #if !defined CPU_FUXI FIXED_SET_EQU = 0, // 终端类型 FIXED_SET_SYS, // 终端操作系统 FIXED_SET_MAU, // 终端制造商 FIXED_SET_HVR, // 终端硬件版本 FIXED_SET_SVR, // 终端软件版本 FIXED_SET_CRC, // 终端软件版本校验码 FIXED_SET_COM, // 终端通信规约类型 FIXED_SET_TPE, // 终端出厂型号 FIXED_SET_ID, // 终端ID号 FIXED_SET_MAC1, // 终端网卡1MAC地址 FIXED_SET_MAC2, // 终端网卡2MAC地址 FIXED_SET_PTRATE, // PT变比 FIXED_SET_CTRATE, // CT变比 #else FIXED_SET_ID = 0, // 终端ID FIXED_SET_MAU, // 终端厂商 FIXED_SET_TPE, // 终端型号 FIXED_SET_HVR, // 终端硬件版本 FIXED_SET_SVR, // 终端软件版本 FIXED_SET_COM, // 规约参数 FIXED_SET_EQU_ADDR, // 终端逻辑地址 FIXED_SET_YC_DEAD_ZONE, // 遥测死区 FIXED_SET_DI_AS_TIME, // 开入量采集防抖时间 FIXED_SET_BAAC, // 蓄电池自动活化周期 FIXED_SET_IP_M1, // 主站侧IP1地址 FIXED_SET_IP_M2, // 主站侧IP2地址 FIXED_SET_IP_M3, // 主站侧IP3地址 FIXED_SET_IP_M4, // 主站侧IP4地址 FIXED_SET_CRC, // 软件校验 FIXED_SET_MAN, // 终端名称 FIXED_SET_CPT, // 编译时间 #endif FIXED_SET_MAX, }; // 整定值参数表结构 typedef struct TRMTSETTABLE { WORD di; // 对应点号 WORD unit; // 定值单位 WORD group; // 定值组属性 WORD offset; // 开关定值偏移索引 float rate; // 系数 WORD index; // 对应索引 } TRMTSETTABLE; enum { RMT_GRP_PUSET = 0, // 公共定值 RMT_GRP_SWSET, // 开关定值 RMT_GRP_EQSET, // 装置参数 RMT_GRP_CSSET, // 内部定值 RMT_GRP_NUMBER, }; typedef struct TFIXEDSETTABLE // 固定定值表 { WORD index; WORD di; // 对应点号 WORD unit; // 定值单位 char *vstr; // 值 char *name; } TFIXEDSETTABLE; /*------------------------------ 变量声明 ------------------------------------- */ extern const TRMTSETTABLE tRmtsettable[]; // 定值 extern const int RMT_SET_TABLE_NUMBER; extern const TFIXEDSETTABLE tfixedsettable[]; // 固有参数 extern const int FIXEDSET_TABLE_NUMBER; extern WORD m_runsection; extern int g_goose_net_type; extern TSECTIONINFO tSecInfo; // 定值信息(包括定值区号及有效定值区) extern const TSETTABLE tEquipParaTable[]; // 装置参数 extern const int EQUIP_PARA_NUMBER; // 装置参数个数 extern const TSETTABLE tSwSetTable[]; // 保护定值 extern const int SW_SET_NUMBER; // 保护定值总个数 extern const int SET_NUMBER; // 全部开关保护定值总个数 extern const TSETTABLE tPubSetTable[]; // 公共定值 extern const int PUB_SET_NUMBER; // 公共定值总个数 extern const TSETTABLE tCstSetTable[]; // 内部定值 extern const int CSTSET_NUMBER; // 内部定值个数 extern RUN_PARA tRunPara; extern TSET tRunSet[]; // 运行定值缓冲区 extern TSET *pRunSet; extern const TSETTABLE tPasswordTable[]; extern const int TIME_SET_NUMBER; extern const TSETTABLE tTimeTable[]; extern const TSETTABLE tPasswordTable[]; extern TSECTIONINFO tSecInfo; // 定值信息(包括定值区号及有效定值区) extern const char *SetUints[]; extern bool bRunSetModify; extern const int CODE_SET_NUMBER; extern const TSETTABLE tCodeTable[]; extern u16 g_crc_set_desc; extern u16 g_crc_set_data; extern struct set_disp_index g_set_disp; // 挑选后的保护定值 extern BH_SET_GROUP SetGroups[]; // 单位符号定义,对应定值 extern const SET_LIST BaudList[]; // 波特率列表 /*------------------------------ 函数声明 ------------------------------------- */ bool ReadEppData(DWORD wAddr, void *pdat, WORD num); bool SaveEppData(DWORD wAddr, void *pdat, WORD num); bool CheckRunSet(void); bool MakeRunSet(bool bFirst); void MakeRunPara(bool bFirstInit, bool bUboot); // 增加UBoot环境变量相关操作.bUboot=true,表示从环境变量中读出来.bUboot=false,表示写到环境变量中. bool ReadPara(void *pbuf, DWORD wAddr, WORD num, const TSETTABLE *pTable); bool SavePara(void *pbuf, DWORD wAddr, WORD num, const TSETTABLE *pTable); void GetDefPara(float *pbuf, WORD num, const TSETTABLE *pTable); bool ReadSysData(SYSTEM_DATA *st); bool WriteSysData(SYSTEM_DATA *st); WORD ReadPassword(void); bool SavePassword(BYTE *str); bool SavePassword2(BYTE *str); bool SaveSet(WORD setno, void *pf); bool ReadSet(WORD setno, void *pbuf); void GetDefSet(float *pbuf); int set_get_network_id_from_socket(SOCKET s); int set_get_list_index(const SET_LIST *p_list); int set_create_desc_file(void); int set_create_data_file(void); int set_save_data_file(s32 index); void create_set_file(void); int get_ethcnt(int no, int eth_id); int set_get_fixed_arg(int index, char *buf, int len); int set_get_fixed_args_sz(int index, char *buf, int len); void GetDefDebugNetPara(void); int print_EquipParaTable(void); void mmd_get_set_dip_index(const TSETTABLE *pTable, int num); void ReadUqua(void); void SaveUqua(bool clr); void GetDefSetGroup(u8 *dat); void fresh_set_soe(WORD soe_no, bool bY, bool bFirst, int sw); void create_set_data_txt(void); // 生成txt格式的定值文件,保存在tmp文件下 void get_yx_ac(u8 index, u32 type); WORD GetCstValForwardAddr(const BYTE type, const int index); extern DWORD GetSetSQR(float ff, float fk); extern void check_shmdata_change(void); #endif //__SET_H //========================== 本文件结束 =============================