#pragma once #include #include #include //#include "../../stdafx.h" #include "HbdLanguage.h" using namespace std; #define ALARM_TYPE_STOP 0 #define ALARM_TYPE_PAUSE 1 #define ALARM_TYPE_WARN 2 #define ALARM_TYPE_AUTO_PAUSE 3 class AlarmCfg { public: AlarmCfg(); AlarmCfg(string code, string content, int type); ~AlarmCfg(); string GetUpdateSql(); virtual void SetUse(bool isUse); static string GetTypeInfo(int t); public: int m_id; int m_Type; string m_Code; string m_Content; //传 bool m_IsEnable; //传 bool m_IsAlarm; //传 bool m_IsShow; //传 string m_AlarmInfo; unsigned int m_AlarmContinueTick; unsigned int m_CheckAlarmSetTick; bool m_Shielding; public: static const string TABLE_NAME; static const string FIELD_ID; static const string FIELD_CODE; static const string FIELD_TYPE; static const string FIELD_CONTENT; static const string FIELD_ISENABLE; }; class AlarmCfgWrapper { public: AlarmCfgWrapper(); ~AlarmCfgWrapper(); void Init(); void UpdateCfg(const string& key, bool isEnable); private: void InitShowVec(); public: map m_StopAlarmCfgMap; map m_PauseAlarmCfgMap; map m_WarnAlarmCfgMap; map m_AllAlarmMap; //是上面3个map之和 vector m_StopAlarmShowVec; map m_ScannerComAlarmMap; // map m_AlarmTr; AlarmCfg* m_DeviceJudgeDisconnectAlarm; //设备判断连接断开报警 AlarmCfg* m_PLCJudgeDisconnectAlarm; //PLC判断连接断开报警 AlarmCfg* m_PLCKeepliveAlarm; //PLC心跳报警 AlarmCfg* m_SystemStopAlarm; //系统急停 AlarmCfg* m_PowerBreakAlarm; //外部断电报警 AlarmCfg* m_LaserChillerAlarm; //激光器冷水机报警 AlarmCfg* m_UpLaserAirBreakAlarm; //上激光支路空开异常报警 AlarmCfg* m_UpServoAirBreakAlarm; //上层伺服空开异常报警 AlarmCfg* m_ScannerPowerExceptionAlarm; //振镜电源异常报警 AlarmCfg* m_BusAirSwitchAlarm; //总空开报警 AlarmCfg* m_ExtDevicePowerAirSwitchAlarm; //外部设备电源空开报警 AlarmCfg* m_HeatingPowerAirSwitchAlarm; //加热电源空开报警 AlarmCfg* m_LaserPowerAirSwitchAlarm; //激光电源空开报警 AlarmCfg* m_ServoPowerAirSwitchAlarm; //伺服电源空开报警 AlarmCfg* m_Laser1Alarm; //激光器1报警 AlarmCfg* m_Laser2Alarm; //激光器2报警 AlarmCfg* m_Laser3Alarm; //激光器3报警 AlarmCfg* m_Laser4Alarm; //激光器4报警 AlarmCfg* m_Laser5Alarm; //激光器5报警 AlarmCfg* m_Laser6Alarm; //激光器6报警 AlarmCfg* m_Laser7Alarm; //激光器7报警 AlarmCfg* m_Laser8Alarm; //激光器8报警 AlarmCfg* m_Laser1ComAlarm; //激光器1通讯报警 AlarmCfg* m_Laser2ComAlarm; //激光器2通讯报警 AlarmCfg* m_Laser3ComAlarm; //激光器3通讯报警 AlarmCfg* m_Laser4ComAlarm; //激光器4通讯报警 AlarmCfg* m_Laser5ComAlarm; //激光器5通讯报警 AlarmCfg* m_Laser6ComAlarm; //激光器6通讯报警 AlarmCfg* m_Laser7ComAlarm; //激光器7通讯报警 AlarmCfg* m_Laser8ComAlarm; //激光器8通讯报警 AlarmCfg* m_HeatingAlarm; //加热异常报警 AlarmCfg* m_UpDownLimitAlarm; //升降限位报警 AlarmCfg* m_PrintCabinDoorOpenAlarm; //舱门打开 AlarmCfg* m_PrintCabinDoorLockOpenAlarm; //舱门电锁打开 AlarmCfg* m_PrintMoldServoAlarm; //升降伺服报警 AlarmCfg* m_ArmServoAlarm; //铺粉伺服报警 AlarmCfg* m_SupplyServoAlarm; //供粉伺服报警 AlarmCfg* m_UPSAlarm; //UPS报警 AlarmCfg* m_PrintTrackDisableAlarm; //轨道打印位感应失效报警 AlarmCfg* m_CleanLiftStopAlarm; //清粉升降急停异常 AlarmCfg* m_MainPowerLossCheckAlarm; //主电源缺相检测异常 AlarmCfg* m_ArmLimitAlarm; //铺粉限位报警 AlarmCfg* m_GeneralChillerAlarm; //总冷水机报警 AlarmCfg* m_MainMoldSoftLimitAlarm; //打印主轴软限位报警 AlarmCfg* m_ArmSoftLimitAlarm; //铺粉软限位报警 AlarmCfg* m_UpServiceDoorOpenAlarm; //上层维修门打开报警 AlarmCfg* m_DownServiceDoorOpenAlarm; //下层维修门打开报警 AlarmCfg* m_ArmCatpureHomeAlarm; //铺粉归原点异常报警 AlarmCfg* m_SealPressureExceptionAlarm; //密封圈压力异常报警 AlarmCfg* m_MoldLoadOverLimitAlarm; //成型缸负载越限报警 AlarmCfg* m_LayerLinearPosAlarm; //层光栅位置偏差报警 AlarmCfg* m_PrintLinnearAccDevAlarm; //打印光栅累积误差报警 AlarmCfg* m_ArmLoadOverLimitAlarm; //铺粉臂负载越限报警 AlarmCfg* m_PurifierDisconnectAlarm; //净化连接断开报警 AlarmCfg* m_InverterRunSignalAlarm; //变频运行信号报警 AlarmCfg* m_OxygenOverLimitAlarm; //氧含量越限 AlarmCfg* m_PrintSignalAlarm; //可打印信号报警 //AlarmCfg* m_ScananerChillerAlarm; //光路冷水机报警 AlarmCfg* m_PurifierChillerAlarm; //净化器冷水机报警 AlarmCfg* m_WindOverLimitAlarm; //风速越线报警 AlarmCfg* m_FanFreqLowAlarm; //风机频率过低报警 AlarmCfg* m_PowderEmpty; //供粉不足 AlarmCfg* m_PowderStickLowLevelAlarm; //粉棒低位报警 AlarmCfg* m_VoltageAlarm; //供电电压报警 AlarmCfg* m_ScannerVoltageAlarm; //振镜电压报警 AlarmCfg* m_PurifierKeepAliveAlarm; //净化器心跳报警 AlarmCfg* m_PurifierOxygenAlarm; //净化器氧含量报警 AlarmCfg* m_PurifierMidTempAlarm; //净化器中校高温报警 AlarmCfg* m_PurifierInternalAlarm; //净化器内部报警 AlarmCfg* m_ScannerInteriorAlarm; //振镜内部报警 AlarmCfg* m_Scanner1CtrlComAlarm; //振镜1通讯报警 AlarmCfg* m_Scanner2CtrlComAlarm; //振镜2通讯报警 AlarmCfg* m_Scanner3CtrlComAlarm; //振镜3通讯报警 AlarmCfg* m_Scanner4CtrlComAlarm; //振镜4通讯报警 AlarmCfg* m_Scanner5CtrlComAlarm; //振镜5通讯报警 AlarmCfg* m_Scanner6CtrlComAlarm; //振镜6通讯报警 AlarmCfg* m_Scanner7CtrlComAlarm; //振镜7通讯报警 AlarmCfg* m_Scanner8CtrlComAlarm; //振镜8通讯报警 AlarmCfg* m_PipeWaterTempAlarm; //管道水温报警 AlarmCfg* m_LinearEncoderCompensateAlarm; //光栅尺补偿失效报警 AlarmCfg* m_RecoatCheckAlarm; //铺粉检测报警 AlarmCfg* m_HeatingTempAlarm; //加热温度报警 AlarmCfg* m_OxygenSensorDisconnectAlarm; //测氧仪通讯断开报警 AlarmCfg* m_HeatingDisconnectAlarm; //温控通讯断开报警 AlarmCfg* m_InnerTempOverLimit; //舱内温度越限报警 AlarmCfg* m_InnerHumidityOverLimitAlarm; //舱内湿度越限报警 AlarmCfg* m_HighPressureLackAlarm; //高压气压力不足异常 AlarmCfg* m_ProtectGasLackAlarm; //保护气压力不足异常 AlarmCfg* m_OutdoorOxygenAlarm; //室外测氧仪异常 AlarmCfg* m_SupplyPipeBlockWarn; //吸筛送管道堵塞警示 AlarmCfg* m_AddPowderWarn; //加粉警示 AlarmCfg* m_MoldServoPosWarn; //升降伺服位置警示 AlarmCfg* m_FanFreqWarn; //风机频率预警 int m_WindOverLimitJudgeFlag; }; class AlarmShowInfo { public: AlarmShowInfo() { m_HadSendEmail = false; } ~AlarmShowInfo() {} public: string m_JobName; string m_JobId; time_t m_HappenTime; uint32_t m_LayerIndex; string m_AlarmCode; string m_AlarmName; string m_AlarmContent; string m_AlarmShowInfo; int m_AlarmType; time_t m_TFlag; bool m_HadSendEmail; };