| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309 |
- /******************************************************************************
- 版权所有:
- 文件名称: dcfactor.h
- 文件版本: 01.01
- 创建作者: sunxi
- 创建日期: 2013-05-20
- 功能说明: 内部运行状态
- 其它说明:
- 修改记录:
- */
- #ifndef _RUN_STATUS_H
- #define _RUN_STATUS_H
- /*------------------------------- 头文件 --------------------------------------
- */
- /*------------------------------- 宏定义 --------------------------------------
- */
- // 遥控器4个按键
- enum
- {
- RMT_A,
- RMT_B,
- RMT_C,
- RMT_D,
- RMT_NUM,
- };
- // 遥控器4个按键对应的功能
- // 解锁3秒内,按分闸实现分闸;解锁3秒内,按合闸实现合闸;单按复归实现复归
- // 多键并存,按键无效
- enum
- {
- RMT_KEY_FZ, // 分闸
- RMT_KEY_ULK, // 解锁
- RMT_KEY_FG, // 复归
- RMT_KEY_HZ, // 合闸
- RMT_KEY_NUM,
- };
- // 遥控器相关命令
- enum
- {
- CMD_NILL,
- CMD_HZ, // 合闸命令
- CMD_FZ, // 分闸命令
- CMD_FG, // 复归命令
- CMD_PAIR, // 配对命令
- CMD_CLRPAIR, // 清除配对命令
- YK_CMD_NUM,
- };
- //动作类型
- enum
- {
- RY_DZ_NULL=0, //无动作
- RY_DZ_XYBS, //X/Y闭锁合闸
- RY_DZ_BHT, //保护跳
- RY_DZ_BHGJ, //保护告警
- RY_DZ_HZ, //FA合闸
- RY_DZ_NUM,
- };
- /*------------------------------ 类型结构 -------------------------------------
- */
- // 与内部状态开入状态结构体
- struct di_stu
- {
- u32 pub_di; // 公共开入
- u32 sw_di[SWITCH_NUM_MAX]; // 开关开入
- };
- // 内部状态结构体
- struct run_stu
- {
- u8 yf; // 远方
- u8 jd; //就地
- u8 fg; // 复归
- u8 js; // FA解锁按钮
- u8 fg_js; //复归+解锁
- u8 kz_out_tt; //控制出口
- u8 rmtjs; // 遥控解锁
- u8 button_on; // 复归按钮按下
- #ifdef FUNC_ONLY_MMD_JS
- bool b_mmdjs; // 液晶解锁
- #endif
- u32 dcjlsd; // 电池交流失电
- u32 dcjlsd_t; // 电池交流失电,带延时定时器
- u8 dcdygz; // 电池电源故障
- u8 dcqy; // 电池欠压
- u8 dchh; // 电池欠压
- #if defined BATTERY_WITH_COMM && defined FUNC_SEL_BAT_MODULE
- u8 dcgygj; // 电池过压告警
- u8 dclxgj; // 电池离线告警
- u8 dcfzgj; // 电池反接告警
- u8 dcbyjlsd; // 电池备用点交流失电
- u8 dcrlgz; // 电池容量故障
- #endif
- u8 pubdz; // 动作
- u8 rmt_A; // 遥控器A
- u8 rmt_B; // 遥控器B
- u8 rmt_C; // 遥控器C
- u8 rmt_D; // 遥控器D
- u8 pt1yy; // PT1有压
- u8 pt2yy; // PT2有压
- u8 pt1cyy; // PT1曾有压
- u8 pt2cyy; // PT2曾有压
- u8 bToolRmtTest;// 维护工具测试
- u8 bHmiRmtTest;// 维护工具测试
- u8 bhall; // 保护投退
- u8 bjx; // 装置检修额
- u8 mb_yuk; //面板预控
- u8 mb_hz; //面板分闸
- u8 mb_fz; //面板合闸
- u8 yxError; //遥信异常
- #ifdef YX_DI_ERROR
- u8 yxEnable; //遥信使能,自检
- #endif
- u32 cd;
- u8 led[CFG_UART_NUM_MAX*2+CFG_ETH_NUM_MAX];
- };
- // 内部状态结构体
- typedef struct run_stu_sw
- {
- u8 sw; // 开关位置
- u8 hw; // 开关合位
- u8 tw; // 开关分位
- u8 hw_change;
- u8 tw_change;
- u8 hzw;
- u8 tzw;
- u8 wcn; // 未储能
- u8 gld; // 隔离刀闸
- u8 jdd; // 接地刀闸
- u8 qyd_bs; // 气压低闭锁
- u8 qyd_gj; // 气压低告警
- u8 pt1uf; // PT1瞬压
- u8 pt2uf; // PT2瞬压
- u8 sw_sh; // 手合
- u8 sw_sf; // 手分
- u8 bhztt; // 保护总投退
- u8 jzs_tt; // 集中式投退
- u8 cgbhtt; // 常规保护投退
- u8 fatt; // fa功能跟投退
- u8 fa_g_tt; // 智能 fa功能跟投退
- u8 fa_ls; // 联络分段
- u8 chzyb; // 重合闸
- u8 fa_start_hz; // 对侧开关位置信号,对侧合位后,B侧有压才有效。用于启动fa来电合闸信号
- u8 kgyf;
- u8 gl; // 保护过流
- u8 jd; // 保护接地
- u8 chzdz; // 重合闸动作
- u8 chzcd; // 重合闸充电
- u8 fa_ll_cd; // 联络充电
- u8 goose_glcd;
- u8 goose_qccd;
- u8 goose_ll_cd;
- u8 gy; // 过压
- u8 gj_led;
- u8 dz; // 保护动作
- u8 bs; // 闭锁
- u8 fgbs; // 智能分布式闭锁
- u8 bsch;
- u8 XT;
- u8 YT;
- u8 lock;
- u8 exerr; // 外部异常
- u8 pt1yy; // PT1有压
- u8 pt2yy; // PT2有压
- u8 kzdx; // 控制回路断线 开入信号
- u8 chzbs;
- u8 bh_yx; // 常规保护遥信点
- u8 fa_yx; // fa功能遥信点
- u8 fa_g_yx; // 智能 fa功能遥信点
- u8 gldz; // 隔离刀闸
- u8 jddz; // 接地刀闸
- } RUN_STU_SW;
- struct rmt_oprate
- {
- u8 key;
- u8 cmd;
- u8 stu;
- u8 step[RMT_KEY_NUM];
- u8 key_en[RMT_KEY_NUM];
- TIMERELAY tTULK3STime; // 解锁3s
- };
- // 内部状态文件描述
- struct instu
- {
- u8 type; //显示类型:16进制,10进制,2进制
- s8 name[20]; //名称
- u32 *fstdata; //对应的值
- };
- // 内部状态文件描述
- struct instu_desc
- {
- u8 type; //显示类型:16进制,10进制,2进制
- s8 name[20]; //名称
- u8 reserved[11];
- };
- // 内部状态文件头,16bytes
- struct instu_file_head
- {
- u32 signature; //文件签名
- u32 version; //文件版本
- u32 reserved0; //保留0
- u32 reserved1; //保留1
- };
- // 内部状态文件格式
- struct instu_file_head_data
- {
- // 内部状态文件头
- struct instu_file_head cfh;
-
- // 装置类型
- u8 equ_sw_num;
- u8 equ_brd_num;
- char equ_name[14];
- // 内部状态描述
- u32 instu_addr;
- u32 instu_num;
- u32 Reserved[2];
- };
- typedef union USWST
- {
- DWORD wfFlag;
- struct
- {
- #ifdef CUSTOMIZE_BZT //备自投
- WORD b1DLHW:1; //1DL合位
- WORD b2DLHW:1; //2DL合位
- WORD b3DLHW:1; //3DL合位
- WORD bBZTBS:1;
- WORD bBZTSY:1;
- #endif
- DWORD bTZWZ:1; //重合闸用位置信号
- DWORD bHZWZ:1; //重合闸用位置信号
- DWORD bDIHW:1; //外部开入合位
- DWORD bDITW:1; //外部开入跳位
- DWORD bWCN:1; //未储能告警
- DWORD bKZHL:1;
- DWORD bTWYL:1; //跳位有流告警
- DWORD bSXWL:1; //三相无流
- DWORD bSHJS:1; //手合加速
-
- DWORD bSDJS:1; //上电加速
- DWORD bFagLLJS:1; //智能分布式联络合闸,加速
- DWORD bBSTZ:1; //闭锁跳闸
- DWORD bCYY:1; //曾有压
- DWORD bFAWL:1; //Fa无流
- DWORD bIBSCHZ:1; //大电流闭锁重合闸
- }bFlag;
- }USWST;
- typedef struct TSWST
- {
- USWST uSWST;
- TIMERELAY tTRunST_20s1s;
- TIMERELAY tSHz3s10ms; // 手合
- TIMERELAY tSTz3s10ms; // 手跳
- TIMERELAY tSf3s; // 手分保持3秒报 闭锁
- TIMERELAY tTTWYL_10S1S; // 跳位有流
- TIMERELAY tTWCNGJ1s; // 弹簧未储能
- TIMERELAY tTKZHLGJ1s; // 控制回路
- TIMERELAY tCTXXYC; // CT相序异常
- TIMERELAY tCTYC; // CT断线
- TIMERELAY tBatChk; // 电池异常
- TIMERELAY tBatOver; // 电池过压
- TIMERELAY tIBSCHZ; // 大电流闭锁重合闸
- DWORD wfFlagsave;
- }TSWST;
- /*------------------------------ 变量声明 -------------------------------------
- */
- extern const int INSTU_NUM;
- extern struct run_stu g_run_stu; // 内部运行状态
- extern struct rmt_oprate g_rmt_op; // 遥控器
- extern struct instu g_instu_desc[];
- extern TIMERELAY g_tJLSDTime; // 交流失电定时器
- /*------------------------------ 函数声明 -------------------------------------
- */
- int run_status_init(void);
- int run_status_check(u32 dStep);
- int run_status_dz_all(void);
- int app_action_result(void);
- int rmt_key_init(void);
- #endif//
- //========================== 本文件结束 =============================
|