154 lines
5.2 KiB
C++

#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
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;
string m_ShowContent;
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();
private:
void InitShowVec();
public:
map<string, AlarmCfg*> m_StopAlarmCfgMap;
map<string, AlarmCfg*> m_PauseAlarmCfgMap;
map<string, AlarmCfg*> m_WarnAlarmCfgMap;
map<string, AlarmCfg*> m_AllAlarmMap;
vector<AlarmCfg*> m_StopAlarmShowVec;
//map<string, TrText*> m_AlarmTr;
AlarmCfg* m_PLCKeepaliveAlarm; //PLC心跳报警
AlarmCfg* m_DeviceJudgeDisconnectAlarm; //设备判断连接断开报警
AlarmCfg* m_PLCJudgeDisconnectAlarm; //PLC判断连接断开报警
AlarmCfg* m_SystemStopAlarm; //系统急停
//AlarmCfg* m_HighPressureLackAlarm; //高压不足报警
AlarmCfg* m_PowerBreakAlarm; //外部断电报警
AlarmCfg* m_LaserChillerAlarm; //激光器冷水机报警
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_Laser1ComAlarm; //激光器1通讯报警
AlarmCfg* m_Laser2ComAlarm; //激光器2通讯报警
AlarmCfg* m_Laser3ComAlarm; //激光器3通讯报警
AlarmCfg* m_Laser4ComAlarm; //激光器4通讯报警
AlarmCfg* m_HeatingAlarm; //加热异常报警
AlarmCfg* m_UpDownLimitAlarm; //升降限位报警
AlarmCfg* m_PrintCabinDoorOpenAlarm; //舱门打开
AlarmCfg* m_PrintCabinDoorLockOpenAlarm; //舱门电锁打开
AlarmCfg* m_PrintMoldServoAlarm; //升降伺服报警
AlarmCfg* m_ArmServoAlarm; //铺粉伺服报警
AlarmCfg* m_SupplyServoAlarm; //供粉伺服报警
AlarmCfg* m_PLCInnerStopAlarm; //PLC内部停机报警
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_ScannerCtrlComAlarm; //振镜通讯报警
AlarmCfg* m_LinearEncoderCompensateAlarm; //光栅尺补偿失效报警
AlarmCfg* m_RecoatCheckAlarm; //铺粉检测报警
AlarmCfg* m_HeatingTempAlarm; //加热温度报警
AlarmCfg* m_OxygenSensorDisconnectAlarm; //测氧仪通讯断开报警
AlarmCfg* m_HeatingDisconnectAlarm; //温控通讯断开报警
AlarmCfg* m_HighPressureLackAlarm; //高压气压力不足异常
AlarmCfg* m_ProtectGasLackAlarm; //保护气压力不足异常
AlarmCfg* m_OutdoorOxygenAlarm; //室外测氧仪异常
AlarmCfg* m_SupplyPipeBlockWarn; //吸筛送管道堵塞警示
AlarmCfg* m_AddPowderWarn; //加粉警示
AlarmCfg* m_MoldServoPosWarn; //升降伺服位置警示
AlarmCfg* m_ArmLimitAlarm;
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;
};