| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #ifndef __SYSTEMALARM_H__
- #define __SYSTEMALARM_H__
- /*--------------------------------------------------------------------------------------
- * @file SystemAlarm.h
- * @author ZhangJing
- * @version base on stm32f0x
- * @date 2015.10.12
- * @brief 系统报警处理
- ---------------------------------------------------------------------------------------*/
- #include "stdint.h"
- #define ALARM_OFF 0//报警关
- #define ALARM_ON 1//报警开
- #define ALARM_SCREEN 2//报警屏蔽
- #define ALARM_CONTINUE 3//持续报警
- #define ALARM_PREPARE 4//预报警
- //压力正常值
- /*
- #define PRESSURE_ALARM_VALUE_A 11 //无药盒报警阈值
- //#define PRESSURE_ALARM_VALUE_B 30 //无液或气泡报警阈值低
- #define PRESSURE_ALARM_VALUE_B 16 //无液或气泡报警阈值低
- #define PRESSURE_ALARM_VALUE_C 10 //管路脱落暂定10kpa
- //#define PRESSURE_ALARM_VALUE_D 45 //无液或气泡报警阈值高
- #define PRESSURE_ALARM_VALUE_D 23 //无液或气泡报警阈值高
- //#define PRESSURE_ALARM_VALUE_E 56 //堵塞报警阈值
- #define PRESSURE_ALARM_VALUE_E 33 //堵塞报警阈值*/
- #define PRESSURE_ALARM_VALUE_A 11 //无药盒报警阈值
- //#define PRESSURE_ALARM_VALUE_B 30 //无液或气泡报警阈值低
- #define PRESSURE_ALARM_VALUE_B 11 //无液或气泡报警阈值低
- #define PRESSURE_ALARM_VALUE_C 10 //管路脱落暂定10kpa
- //#define PRESSURE_ALARM_VALUE_D 45 //无液或气泡报警阈值高
- #define PRESSURE_ALARM_VALUE_D 24 //无液或气泡报警阈值高
- //#define PRESSURE_ALARM_VALUE_E 56 //堵塞报警阈值
- #define PRESSURE_ALARM_VALUE_E 40 //堵塞报警阈值
- //压力测试值
- // #define PRESSURE_ALARM_VALUE_A 5 //无药盒报警阈值
- // #define PRESSURE_ALARM_VALUE_B 7 //无液或气泡报警阈值低
- // #define PRESSURE_ALARM_VALUE_C 10 //管路脱落暂定10kpa
- // #define PRESSURE_ALARM_VALUE_D 14 //无液或气泡报警阈值高
- // #define PRESSURE_ALARM_VALUE_E 24 //堵塞报警阈值
- //电压测试值
- // #define BATTERY_VOLT_LOW_LIMIT 47 //电池低电压下限 SOC < 47% 3.7V
- //电压正常值
- #define BATTERY_VOLT_LOW_LIMIT 20 //电池低电压下限 SOC < 40% 3.3V
- #define BATTERY_VOLT_LOW_PREPARE 40 //电池低电压预报 SOC < 80% 4.6V
- typedef struct
- {
- uint8_t SysRunTest;//系统运行测试
- uint8_t alarmCollect;//报警收集
- uint8_t MechanicalFault;//机械故障
- uint8_t JamFault;//堵塞故障
- uint8_t MaxFault;//极限值故障
- uint8_t BubbleFault;//气泡或无液故障
- uint8_t NonePillCase;//未装药盒故障
- uint8_t InputEnding;//输液将结束
- uint8_t InputEnd; //输液结束
- uint8_t VoltLowest; //电池电量低
- uint8_t MotorFalt;//电机故障
- uint8_t LineLost;//管道脱落
- uint8_t InstallFalt;//未夹装到位
- uint8_t Zhentongxiaoguo;//镇痛效果
- uint8_t InputTotal;//输入总量
- }AlarmTypeFrame;
- typedef struct
- {
- uint8_t JamFaultJudgeFlag;//堵塞故障判断标志
- uint8_t BubbleFaultJudgeFlag;//气泡或无液故障标志
- uint8_t NonePillCaseJudgeFlag;//未装药盒故障标志
- uint8_t VoltLowestJudgeFlag; //电池电量低标志
- uint8_t JamFaultJudgeCounts;//堵塞故障判断次数
- uint8_t BubbleFaultJudgeCounts;//气泡或无液故障次数
- uint8_t NonePillCaseJudgeCounts;//未装药盒故障次数
- uint8_t VoltLowestJudgeCounts; //电池电量低次数
- }AlarmJudgeFrame;
- void PECASelfTestHandle( void );
- void MechanicalFaultHandle( void );
- void JamFaultHandle( void );
- void MaxFaultHandle( void );
- void BubbleFaultHandle( void );
- void NonePillCaseHandle( void );
- void BatteryVoltLowHandle( void );
- void LineLostHandle( void );
- void SystemAlarmJudge( void );
- void InputTotalHandle( void );
- extern AlarmJudgeFrame SysAlarmJudge;//报警判断
- //extern uint8_t MechanicalFaultCounts;//机械故障报警计数,大于2次则报警
- extern uint32_t Timer_VoltLowes; //预报警延时30分钟
- extern uint8_t VoltLowest_Alarm_Flag; //低电量报警标志
- extern AlarmTypeFrame sysAlarmFlag; //报警标志位
- extern AlarmTypeFrame AlarmRecord;
- extern uint8_t JamSelfcheckCycle; //堵塞自检周期
- extern uint8_t JamSelfcheckThroughCycle; //堵塞自检通过周期
- #endif
|