| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using CCDCount.MODEL.AlarmModel;
- namespace CCDCount.DLL.AlarmTools
- {
- public static class SystemAlarm
- {
- private static List<AlarmMessModel> AlarmMessList = new List<AlarmMessModel>()
- {
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.系统异常,
- AlarmName = "系统异常",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.相机实例创建失败,
- AlarmName = "相机实例创建失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.开启相机失败,
- AlarmName = "开启相机失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.相机采集开始失败,
- AlarmName = "相机采集开始失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.相机采集停止失败,
- AlarmName = "相机采集停止失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.识别线程启动失败,
- AlarmName = "识别线程启动失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.识别线程停止失败,
- AlarmName = "识别线程停止失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.待识别队列数据堆积,
- AlarmName = "待识别队列数据堆积",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.数粒通讯连接失败,
- AlarmName = "数粒通讯连接失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.PLC通讯连接失败,
- AlarmName = "PLC通讯连接失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.结果发送线程启动失败,
- AlarmName = "结果发送线程启动失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.结果发送线程停止失败,
- AlarmName = "结果发送线程停止失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.未检测到相机,
- AlarmName = "未检测到相机",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.相机加载失败,
- AlarmName = "相机加载失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.数据分配线程启动失败,
- AlarmName = "数据分配线程启动失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.数据分配线程停止失败,
- AlarmName = "数据分配线程停止失败",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.心跳异常,
- AlarmName = "心跳异常",
- AlarmEnType = "SystemException",
- AlarmChType = "系统",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.气压压力检测开关报警,
- AlarmName = "气压压力检测开关报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.急停开关按下报警,
- AlarmName = "急停开关按下报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.触发上限位报警,
- AlarmName = "触发上限位报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.触发下限位报警,
- AlarmName = "触发下限位报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.升降变频器报警,
- AlarmName = "升降变频器报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.传送带变频器报警,
- AlarmName = "传送带变频器报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.门开报警,
- AlarmName = "门开报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.数粒超大粒,
- AlarmName = "数粒超大粒",
- AlarmEnType = "VisionException",
- AlarmChType = "视觉报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.数粒超小粒,
- AlarmName = "数粒超小粒",
- AlarmEnType = "VisionException",
- AlarmChType = "视觉报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.数粒超长粒,
- AlarmName = "数粒超长粒",
- AlarmEnType = "VisionException",
- AlarmChType = "视觉报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.数粒超短粒,
- AlarmName = "数粒超短粒",
- AlarmEnType = "VisionException",
- AlarmChType = "视觉报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.丢帧颗粒,
- AlarmName = "丢帧颗粒",
- AlarmEnType = "VisionException",
- AlarmChType = "视觉报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.疑似叠粒,
- AlarmName = "疑似叠粒",
- AlarmEnType = "VisionException",
- AlarmChType = "视觉报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.罐装阀伺服报警,
- AlarmName = "罐装阀伺服报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.设备缺料停机,
- AlarmName = "设备缺料停机",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.传动轴伺服报警,
- AlarmName = "传动轴伺服报警",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.堵瓶停机,
- AlarmName = "堵瓶停机",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.缺瓶停机,
- AlarmName = "缺瓶停机",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- new AlarmMessModel()
- {
- ID = (int)AlarmMessageList.等待复位,
- AlarmName = "等待复位",
- AlarmEnType = "PlcException",
- AlarmChType = "PLC报警",
- IsAlarm =false
- },
- };
- /// <summary>
- /// 开启指定警告
- /// </summary>
- /// <param name="ID"></param>
- public static void AlarmAlert(AlarmMessageList ID,string EnMessage,string ChMessage, string AlarmPath)
- {
- var alarm = AlarmMessList.Find(x => x.ID == (int)ID);
- if (alarm == null || alarm.IsAlarm)
- {
- return;
- }
- else
- {
- var ChanegAlarm = AlarmMessList.Find(x => x.ID == (int)ID);
- ChanegAlarm.IsAlarm = true;
- ChanegAlarm.AlarmDateTime = DateTime.Now;
- ChanegAlarm.AlarmPath = AlarmPath;
- ChanegAlarm.AlarmEnMess = EnMessage;
- ChanegAlarm.AlarmChMess = ChMessage;
- FaultLog.RecordErrorMessage(alarm.AlarmEnMess,ChanegAlarm.AlarmPath);
- }
- }
- /// <summary>
- /// 关闭指定警告
- /// </summary>
- public static void AlarmCancel(AlarmMessageList ID)
- {
- AlarmMessList.Find(x => x.ID == (int)ID).IsAlarm = false;
- }
- public static void AlarmCancelByTime(AlarmMessageList ID,int DelayTime)
- {
- var CancelValue = AlarmMessList.Find(x => x.ID == (int)ID);
- if ((DateTime.Now - CancelValue.AlarmDateTime).TotalMilliseconds > DelayTime)
- {
- CancelValue.IsAlarm = false;
- }
- }
- public static void AllVisionAlarmCancel(int DelayTime)
- {
- foreach (var alarm in AlarmMessList)
- {
- if(alarm.IsAlarm && alarm.AlarmEnType == "VisionException")
- {
- if ((DateTime.Now - alarm.AlarmDateTime).TotalMilliseconds > DelayTime)
- {
- alarm.IsAlarm = false;
- }
- }
- }
- }
- /// <summary>
- /// 获取所有警告
- /// </summary>
- public static List<AlarmMessModel> GetAllAlarm()
- {
- return AlarmMessList;
- }
- /// <summary>
- /// 获取所有已触发警告
- /// </summary>
- public static List<AlarmMessModel> GetAlarm()
- {
- return AlarmMessList.Where(x => x.IsAlarm == true).OrderByDescending(o=>o.AlarmDateTime).ToList();
- }
- }
- }
|