188 lines
7.2 KiB
C
Raw Normal View History

2024-03-19 17:45:12 +08:00
#pragma once
#include <string>
#include <vector>
#include <map>
//#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
2024-06-18 17:44:32 +08:00
class AlarmCfg
2024-03-19 17:45:12 +08:00
{
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;
2024-06-18 17:44:32 +08:00
string m_Content; //传
bool m_IsEnable; //传
bool m_IsAlarm; //传
bool m_IsShow; //传
2024-03-19 17:45:12 +08:00
string m_AlarmInfo;
unsigned int m_AlarmContinueTick;
unsigned int m_CheckAlarmSetTick;
bool m_Shielding;
2024-03-19 17:45:12 +08:00
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();
2024-06-18 17:44:32 +08:00
void UpdateCfg(const string& key, bool isEnable);
2024-03-19 17:45:12 +08:00
private:
void InitShowVec();
public:
map<string, AlarmCfg*> m_StopAlarmCfgMap;
map<string, AlarmCfg*> m_PauseAlarmCfgMap;
map<string, AlarmCfg*> m_WarnAlarmCfgMap;
2024-06-18 17:44:32 +08:00
map<string, AlarmCfg*> m_AllAlarmMap; //是上面3个map之和
2024-03-19 17:45:12 +08:00
vector<AlarmCfg*> m_StopAlarmShowVec;
map<int, AlarmCfg*> m_ScannerComAlarmMap;
// map<string, TrText*> m_AlarmTr;
2024-03-19 17:45:12 +08:00
AlarmCfg* m_DeviceJudgeDisconnectAlarm; //设备判断连接断开报警
AlarmCfg* m_PLCJudgeDisconnectAlarm; //PLC判断连接断开报警
AlarmCfg* m_PLCKeepliveAlarm; //PLC心跳报警
2024-03-19 17:45:12 +08:00
AlarmCfg* m_SystemStopAlarm; //系统急停
AlarmCfg* m_PowerBreakAlarm; //外部断电报警
AlarmCfg* m_LaserChillerAlarm; //激光器冷水机报警
AlarmCfg* m_UpLaserAirBreakAlarm; //上激光支路空开异常报警
AlarmCfg* m_UpServoAirBreakAlarm; //上层伺服空开异常报警
AlarmCfg* m_ScannerPowerExceptionAlarm; //振镜电源异常报警
2024-03-19 17:45:12 +08:00
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报警
2024-03-19 17:45:12 +08:00
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通讯报警
2024-03-19 17:45:12 +08:00
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; //密封圈压力异常报警
2024-03-19 17:45:12 +08:00
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; //光路冷水机报警
2024-03-19 17:45:12 +08:00
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; //管道水温报警
2024-03-19 17:45:12 +08:00
AlarmCfg* m_LinearEncoderCompensateAlarm; //光栅尺补偿失效报警
AlarmCfg* m_RecoatCheckAlarm; //铺粉检测报警
AlarmCfg* m_HeatingTempAlarm; //加热温度报警
AlarmCfg* m_OxygenSensorDisconnectAlarm; //测氧仪通讯断开报警
AlarmCfg* m_HeatingDisconnectAlarm; //温控通讯断开报警
AlarmCfg* m_InnerTempOverLimit; //舱内温度越限报警
AlarmCfg* m_InnerHumidityOverLimitAlarm; //舱内湿度越限报警
2024-03-19 17:45:12 +08:00
AlarmCfg* m_HighPressureLackAlarm; //高压气压力不足异常
AlarmCfg* m_ProtectGasLackAlarm; //保护气压力不足异常
AlarmCfg* m_OutdoorOxygenAlarm; //室外测氧仪异常
AlarmCfg* m_SupplyPipeBlockWarn; //吸筛送管道堵塞警示
AlarmCfg* m_AddPowderWarn; //加粉警示
AlarmCfg* m_MoldServoPosWarn; //升降伺服位置警示
AlarmCfg* m_FanFreqWarn; //风机频率预警
2024-03-19 17:45:12 +08:00
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;
};