コード例 #1
0
ファイル: AlarmsViewModel.cs プロジェクト: saeednazari/Rubezh
		public void Sort(AlarmType? sortingAlarmType)
		{
			SortingAlarmType = sortingAlarmType;

            Alarm oldAlarm = null;
            if (SelectedAlarm != null)
            {
                oldAlarm = SelectedAlarm.Alarm.Clone();
            }

			Alarms.Clear();
			foreach (var alarm in allAlarms)
			{
				if ((sortingAlarmType == null) || (alarm.AlarmType == sortingAlarmType))
				{
					var alarmViewModel = new AlarmViewModel(alarm);
					Alarms.Add(alarmViewModel);
				}
			}

            if (oldAlarm != null)
            {
                SelectedAlarm = Alarms.FirstOrDefault(x => x.Alarm.IsEqualTo(oldAlarm));
            }
		}
コード例 #2
0
ファイル: KerbalAlarmClock.cs プロジェクト: artwhaley/krpc
 public static IList<Alarm> AlarmsWithType(AlarmType type)
 {
     CheckAPI ();
     return KACWrapper.KAC.Alarms
         .Where (x => x.AlarmType == type.FromAlarmType ())
         .Select (x => new Alarm (x))
         .ToList ();
 }
コード例 #3
0
 internal Alarm(string text, object code, object tag, AlarmType type)
 {
     mTimeStamp = DateTime.Now;
     mTimeout = 5000;
     mActive = false;
     Text = text;
     Type = type;
     mTag = tag;
     mCode = code;
 }
コード例 #4
0
        internal SensorAlarmReport(Node node, byte[] payload) : base(node)
        {
            if (payload == null)
                throw new ArgumentNullException(nameof(payload));
            if (payload.Length < 3)
                throw new ReponseFormatException($"The response was not in the expected format. {GetType().Name}: Payload: {BitConverter.ToString(payload)}");

            // 5 bytes: byte 3 and 4 unknown
            Source = payload[0];
            Type = (AlarmType)payload[1];
            Level = payload[2];
        }
コード例 #5
0
		public InstructionViewModel(Device device, Zone zone, AlarmType alarmType)
		{
			Title = "Инструкция ";
            AlarmType = alarmType;

            Instruction = FindInstruction(device, zone);
			HasContent = Instruction != null;
			if (Instruction != null)
			{
				Title += Instruction.Name;
			}
		}
コード例 #6
0
ファイル: InstructionViewModel.cs プロジェクト: hjlfmy/Rubezh
        public InstructionViewModel(Guid deviceUID, AlarmType alarmType)
        {
            Title = "Инструкции";

            DeviceId = deviceUID;
            StateType = AlarmTypeToStateType(alarmType);

            HasContent = FindDeviceInstruction(DeviceId) || FindZoneInstruction(ZoneNo);
            if (!HasContent)
            {
                Instruction = InstructionGeneral;
            }
        }
コード例 #7
0
ファイル: Alarm.cs プロジェクト: s12chung/stopnow_c_sharp
 public void ChangeAlarm(AlarmType alarm)
 {
     switch (alarm)
     {
         case AlarmType.None:
             this.alarm = new EventHandler(None);
             break;
         case AlarmType.Beep:
             this.alarm = new EventHandler(Beep);
             break;
         case AlarmType.LockWorkstation:
             this.alarm = new EventHandler(LockWorkstation);
             break;
     }
 }
コード例 #8
0
ファイル: EnumsConverter.cs プロジェクト: saeednazari/Rubezh
        public static StateType AlarmTypeToStateType(AlarmType alarmType)
        {
            switch (alarmType)
            {
				case AlarmType.Guard:
                case AlarmType.Fire:
                    return StateType.Fire;

                case AlarmType.Attention:
                    return StateType.Attention;

                case AlarmType.Info:
                    return StateType.Info;

                default:
                    return StateType.No;
            }
        }
コード例 #9
0
ファイル: CarAlarmType.cs プロジェクト: lexzh/Myproject
 public static void LoadAllCarAlarmTypeList()
 {
     if ((m_CarAlarmTypeList == null) || (m_CarAlarmTypeList.Count <= 0))
     {
         DataTable table = new SqlDataAccess().getDataBySql(m_StrSql);
         if ((table != null) && (table.Rows.Count > 0))
         {
             string key = string.Empty;
             foreach (DataRow row in table.Rows)
             {
                 AlarmType type = new AlarmType();
                 FillAlarmData(ref type, row);
                 key = Convert.ToString(row["SimNum"]);
                 if ((m_CarAlarmTypeList != null) && !m_CarAlarmTypeList.ContainsKey(key))
                 {
                     m_CarAlarmTypeList.Add(key, type);
                 }
             }
         }
     }
 }
コード例 #10
0
ファイル: WeatherRange.cs プロジェクト: ufjl0683/Center
        public WeatherRange(DeviceBaseWrapper dev,AlarmType alarm_type)
            : base(dev)
        {
            this.m_alarm_type = alarm_type;
            switch (m_alarm_type)
            {
                case AlarmType.RD:
                    this.m_class = 47;
                    break;
                case AlarmType.VI:
                    this.m_class = 45;
                    break;
                case AlarmType.WD:
                    this.m_class = 46;
                    break;
                case AlarmType.LS:
                    this.m_class = 50;
                    break;

                case AlarmType.BS:
                    this.m_class = 51;

                    break;
            }

               // this.m_eventmode = Global.getEventMode(this.m_class);
            this.m_eventmode = Global.getEventModeBySectionID(this.getSectionId(), this.m_class, ref this.IsLock, ref this.description);

            try
            {
                this.EventId = Global.getEventId();
            }
            catch
            {
                this.m_eventmode = EventMode.DontCare;
            }
        }
コード例 #11
0
 public Alarm CreateMessage(object code, AlarmType type)
 {
     return CreateMessage("", code, null, type);
 }
コード例 #12
0
ファイル: AlarmType.cs プロジェクト: dongdong-2009/LteTools
        public static string GetAlarmTypeDescription(this AlarmType type)
        {
            Tuple <AlarmType, string> tuple = alarmTypeDescriptionList.FirstOrDefault(x => x.Item1 == type);

            return((tuple != null) ? tuple.Item2 : "其他告警");
        }
コード例 #13
0
 public void ChooseAlarm(AlarmType alarmType)
 {
     _alarm.DetachFrom(_filter);
     _alarm = AlarmFactory.CreateAlarm(alarmType);
     _alarm.AttachTo(_filter);
 }
コード例 #14
0
 public KACAlarm(String vID, String NewName, String NewNotes, double UT, Double Margin, AlarmType atype, Boolean NewHaltWarp, Boolean NewPause, KACXFerTarget NewTarget)
     : this(vID, NewName, NewNotes, UT, Margin, atype, NewHaltWarp, NewPause)
 {
     //Set target details
     XferOriginBodyName = NewTarget.Origin.bodyName;
     XferTargetBodyName = NewTarget.Target.bodyName;
 }
コード例 #15
0
        public void LoadFromString3(String AlarmDetails, Double CurrentUT)
        {
            //String is "VesselID|Name|Notes|AlarmTime.UT|AlarmMarginSecs|Type|Enabled|HaltWarp|PauseGame|ActionedAt|Manuever|Xfer|Target|Options|<ENDLINE>");

            String[] vars = AlarmDetails.Split("|".ToCharArray(), StringSplitOptions.None);
            this.SaveName        = HighLogic.CurrentGame.Title;
            this.VesselID        = vars[0];
            this.Name            = KACUtils.DecodeVarStrings(vars[1]);
            this.Notes           = KACUtils.DecodeVarStrings(vars[2]);
            this.AlarmTime.UT    = Convert.ToDouble(vars[3]);
            this.AlarmMarginSecs = Convert.ToDouble(vars[4]);
            this.TypeOfAlarm     = (KACAlarm.AlarmType)Enum.Parse(typeof(KACAlarm.AlarmType), vars[5]);
            this.Enabled         = Convert.ToBoolean(vars[6]);
            this.HaltWarp        = Convert.ToBoolean(vars[7]);
            this.PauseGame       = Convert.ToBoolean(vars[8]);
            this.ActionedAt      = Convert.ToDouble(vars[9]);

            if (vars[10] != "")
            {
                this.ManNodes = ManNodeDeserializeList(vars[10]);
            }

            if (vars[11] != "")
            {
                try
                {
                    String[] XferParts = vars[11].Split(",".ToCharArray());
                    this.XferOriginBodyName = XferParts[0];
                    this.XferTargetBodyName = XferParts[1];
                }
                catch (Exception ex)
                {
                    KACWorker.DebugLogFormatted("Unable to load transfer details for {0}", Name);
                    KACWorker.DebugLogFormatted(ex.Message);
                }
            }
            if (vars[12] != "")
            {
                //find the targetable object and set it
                this.TargetObject = TargetDeserialize(vars[12]);
                if (this.TargetObject == null && vars[12].StartsWith("Vessel,"))
                {
                    this.TargetLoader = vars[12];
                }
            }

            //Now do the work to set Actioned/triggered/etc if needed
            //KACWorker.DebugLogFormatted("A:{0},T:{1:0},Act:{2:0}", this.Name, CurrentUT, this.ActionedAt);
            if (ActionedAt > 0 && CurrentUT > ActionedAt)
            {
                KACWorker.DebugLogFormatted("Suppressing Alarm on Load:{0}", this.Name);
                this.Triggered         = true;
                this.Actioned          = true;
                this.AlarmWindowClosed = true;
            }
            else if (ActionedAt > CurrentUT)
            {
                KACWorker.DebugLogFormatted("Reenabling Alarm on Load:{0}", this.Name);
                this.Triggered         = false;
                this.Actioned          = false;
                this.ActionedAt        = 0;
                this.AlarmWindowClosed = false;
            }
        }
コード例 #16
0
ファイル: ZpAlarm.cs プロジェクト: ZQuanLi/Test
        /// <summary>
        /// 更新下发命令
        /// </summary>
        /// <param name="command"></param>
        /// <param name="lpszVal"></param>
        /// <param name="lpszdateTime"></param>
        /// <param name="errCode"></param>
        /// <param name="errTxt"></param>
        public static void DbCmdRefresh(CommandVModel command, string lpszVal, DateTime lpszdateTime, AlarmType errCode, string errTxt)
        {
            if (command == null || lpszdateTime.Year < 2000)
            {
                return;
            }
            if (command.Module_id == 0)
            {
                return;
            }
            DataProcessBLL bll = new DataProcessBLL(command.Ledger, Config.Uid);

            if (command.Log_id != 0)
            {
                //FileLog.WriteLog(command.LpszDbVarName + " 后台Log:"+ command.Log_id  + JsonHelper.Serialize(command));
                bll.UpdataCmd(command, (int)errCode, errTxt);
            }
            else
            {
                if (command.IsNDb == true)
                { /*更新记录*/
                    //FileLog.WriteLog(command.LpszDbVarName + " 后台标示IsNDb:true :" + JsonHelper.Serialize(command));
                    bll.AddCmdLog(command, (int)errCode, errTxt);
                }
            }
        }
コード例 #17
0
ファイル: CarAlarmType.cs プロジェクト: lexzh/Myproject
 private AlarmType method_0(string string_1)
 {
     string str = string.Format(m_StrSql + this.string_0, string_1);
     AlarmType type = new AlarmType();
     try
     {
         DataTable table = new SqlDataAccess().getDataBySql(str);
         if ((table != null) && (table.Rows.Count > 0))
         {
             FillAlarmData(ref type, table.Rows[0]);
         }
     }
     catch (Exception exception)
     {
         ErrorMsg msg = new ErrorMsg("CarAlarmType", "GetSingleRowData", exception.Message);
         new LogHelper().WriteError(msg);
     }
     return type;
 }
コード例 #18
0
 public static void AssertTypes(this AlarmView view, AlarmLevel level, AlarmCategory category, AlarmType type,
                                string typeDescription)
 {
     Assert.AreEqual(view.AlarmTypeDescription, typeDescription);
     Assert.AreEqual(view.AlarmCategoryDescription, category.GetEnumDescription());
     Assert.AreEqual(view.AlarmLevelDescription, level.GetEnumDescription());
 }
コード例 #19
0
ファイル: AlarmReport.cs プロジェクト: zzh-git/KS
 public bool SetAlarmType(AlarmType type)
 {
     if (type == AlarmType.AlarmSafe)
     {
         if (currentAlarm == type)
         {
             return(false);
         }
         else if (currentAlarm == AlarmType.AlarmYellow)
         {
             alarmMes     = "";
             currentAlarm = type;
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             return(false);
         }
         else if (currentAlarm == AlarmType.AlarmOrange)
         {
             alarmMes     = "";
             currentAlarm = type;
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             return(false);
         }
         else if (currentAlarm == AlarmType.AlarmRed)
         {
             alarmMes     = "";
             currentAlarm = type;
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             return(false);
         }
         else if (currentAlarm == AlarmType.AlarmWhite)
         {
             alarmMes     = "";
             currentAlarm = type;
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             return(false);
         }
         isAlarming = false;
     }
     else if (type == AlarmType.AlarmYellow)
     {
         //如果上一次是安全
         if (currentAlarm == AlarmType.AlarmSafe)
         {
             alarmMes     = "";
             currentAlarm = type;
             AlarmTime    = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
         //如果一直是黄色报警,30分钟以内不再弹框
         else if (currentAlarm == type)
         {
             if ((DateTime.Now - ConfirmTime).TotalMinutes < SetMinituesYellow)
             {
                 return(false);
             }
             else
             {
                 isAlarming = true;
             }
         }
         //如果上一次是橙色报警
         else if (currentAlarm == AlarmType.AlarmOrange)
         {
             alarmMes     = "";
             currentAlarm = type;
             //结束橙色报警
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             //开始黄色报警
             AlarmTime = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
         //如果上一次是红色报警
         else if (currentAlarm == AlarmType.AlarmRed)
         {
             alarmMes     = "";
             currentAlarm = type;
             //结束红色报警
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             //开始黄色报警
             AlarmTime = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
     }
     else if (type == AlarmType.AlarmOrange)
     {
         if (currentAlarm == AlarmType.AlarmSafe)
         {
             alarmMes     = "";
             currentAlarm = type;
             AlarmTime    = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
         else if (currentAlarm == type)
         {
             if ((DateTime.Now - ConfirmTime).TotalMinutes < SetMinituesOrange)
             {
                 return(false);
             }
             else
             {
                 isAlarming = true;
             }
         }
         else if (currentAlarm == AlarmType.AlarmYellow)
         {
             alarmMes     = "";
             currentAlarm = type;
             //结束橙色报警
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             //开始黄色报警
             AlarmTime = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
         else if (currentAlarm == AlarmType.AlarmRed)
         {
             alarmMes     = "";
             currentAlarm = type;
             //结束红色报警
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             //开始黄色报警
             AlarmTime = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
     }
     else if (type == AlarmType.AlarmRed)
     {
         //如果上次也是一级报警
         if (currentAlarm == type)
         {
             double second = 900d - (DateTime.Now - AlarmTime).TotalSeconds;
             //红色报警时间超过900秒
             if (second < 0)
             {
                 alarmMes = ",已超过900秒, 立即打闸停机!";
             }
             else
             {
                 alarmMes = ",还剩下" + (int)second + "秒";
             }
             isAlarming = true;
         }
         //如果上一次是安全,那么就把这次的报警保存数据库,并且记录当前ID
         else if (currentAlarm == AlarmType.AlarmSafe)
         {
             alarmMes     = "";
             currentAlarm = type;
             AlarmTime    = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
         //如果上一次是黄色报警,则结束黄色报警,开始红色报警
         else if (currentAlarm == AlarmType.AlarmYellow)
         {
             alarmMes     = "";
             currentAlarm = type;
             //结束黄色报警
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             //开始红色报警
             AlarmTime = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
         //如果上一次是橙色,则结束橙色,开始红色
         else if (currentAlarm == AlarmType.AlarmOrange)
         {
             alarmMes     = "";
             currentAlarm = type;
             //结束黄色报警
             SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
             //开始红色报警
             AlarmTime = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
     }
     else if (type == AlarmType.AlarmWhite)
     {
         if (currentAlarm == AlarmType.AlarmSafe)
         {
             alarmMes     = "";
             currentAlarm = type;
             //开始报警
             AlarmTime = DateTime.Now;
             SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
             isAlarming = false;
         }
         else
         {
             if (currentFlag == flags)
             {
                 //和上次同样的报警
                 if ((DateTime.Now - ConfirmTime).TotalMinutes < SetMinituesWhite)
                 {
                     return(false);
                 }
                 else
                 {
                     isAlarming = true;
                 }
             }
             else
             {
                 //报警
                 alarmMes     = "";
                 currentAlarm = type;
                 //结束上次报警
                 SQLHelper.ExecuteSql("update AlarmFCZ set AlarmEndTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',AlarmState='已结束'" + ",AlarmLasts='" + PublicFunction.GetTimeSpanString(DateTime.Now - AlarmTime) + "' where AlarmTime='" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "'");
                 //开始报警
                 AlarmTime = DateTime.Now;
                 SQLHelper.ExecuteSql("insert into AlarmFCZ (AlarmTime,AlarmText,AlarmState,AlarmDesc,UnitNO) values ('" + AlarmTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + AlarmMessage + "','正在报警','" + AlarmName + "'," + UnitNO + ")");
                 isAlarming = false;
             }
         }
         currentFlag = flags;
     }
     return(true);
 }
コード例 #20
0
ファイル: AlarmsViewModel.cs プロジェクト: hjlfmy/Rubezh
        public void Sort(AlarmType? alarmType)
        {
            _alarmType = alarmType;

            Alarms.Clear();

            foreach (var alarm in allAlarms)
            {
                if ((alarmType == null) || (alarm.AlarmType == alarmType))
                {
                    var alarmViewModel = new AlarmViewModel(alarm);
                    Alarms.Add(alarmViewModel);
                }
            }
        }
コード例 #21
0
 public AlarmEventArgs(AlarmType type, bool active)
 {
     AlarmType = type;
     Active    = active;
 }
コード例 #22
0
 public static bool Stop(AlarmType alarmType, int alarmId, int typeId, out string msg)
 {
     return(Database.NonQuery(string.Format("UPDATE [dbo].[{0}] SET [StopTime] = GETDATE() WHERE [StopTime] < '2001-01-01' AND [AlarmId] = {1} AND [AlarmType] = '{2}' AND [TypeId] = {3}", TableName, alarmId, alarmType, typeId), out msg));
 }
コード例 #23
0
        private void CalculateAlarmEvents()
        {
            int    tempIntForTryParse    = 0;
            double tempDoubleForTryParse = 0;

            IList <PointKeyValue> points = this.tempList;

            double highLimit = double.MaxValue;

            if (double.TryParse(this.AlarmHighLimit, out tempDoubleForTryParse))
            {
                highLimit = double.Parse(this.AlarmHighLimit);
            }
            double lowLimit = double.MinValue;

            if (double.TryParse(this.AlarmLowLimit, out tempDoubleForTryParse))
            {
                lowLimit = double.Parse(this.AlarmLowLimit);
            }
            int highAlarmDelay = int.MaxValue;

            highAlarmDelay = int.Parse(TempsenFormatHelper.GetSecondsFromFormatString(this.AlarmHighDelay));
            int lowAlarmDelay = int.MaxValue;

            lowAlarmDelay = int.Parse(TempsenFormatHelper.GetSecondsFromFormatString(this.AlarmLowDelay));
            AlarmType highAlarmType = AlarmType.Single;

            if ("Cumulative Event".Equals(this.HighAlarmType, StringComparison.InvariantCultureIgnoreCase))
            {
                highAlarmType = AlarmType.Cumulative;
            }
            AlarmType lowAlarmType = AlarmType.Single;

            if ("Cumulative Event".Equals(this.LowAlarmType, StringComparison.InvariantCultureIgnoreCase))
            {
                lowAlarmType = AlarmType.Cumulative;
            }
            int logInterval = 0;

            if (int.TryParse(this.LogInterval, out tempIntForTryParse))
            {
                logInterval = int.Parse(this.LogInterval);
            }

            int      overHighLimitEvents     = 0;
            int      belowLowLimitEvents     = 0;
            DateTime highAlarmFirstTriggered = DateTime.MinValue;
            DateTime lowAlarmFirstTriggered  = DateTime.MinValue;
            int      overHighLimitTotalTime  = 0;
            int      belowLowLimitTotalTime  = 0;

            int overHighLimitCumulativePoints = 0;
            int belowLowLimitCumulativePoints = 0;

            DateTime timeOfTheLastPointWithoutMark = DateTime.MinValue;

            foreach (var item in points)
            {
                if (!item.IsMark)
                {
                    if (item.PointTemp >= highLimit)
                    {
                        overHighLimitCumulativePoints++;
                        if (belowLowLimitCumulativePoints > 0)
                        {
                            belowLowLimitEvents++;
                            int actualIntervals = belowLowLimitCumulativePoints - 1;
                            if (actualIntervals == 0)
                            {
                                actualIntervals = 1;
                            }
                            belowLowLimitTotalTime       += logInterval * actualIntervals;
                            belowLowLimitCumulativePoints = 0;
                        }

                        int actualIntervalsToCheckAlarm = overHighLimitCumulativePoints - 1;
                        int actualTotalTimeToCheckAlarm = 0;
                        if (actualIntervalsToCheckAlarm == 0)
                        {
                            actualIntervalsToCheckAlarm = 1;
                        }
                        actualTotalTimeToCheckAlarm += logInterval * actualIntervalsToCheckAlarm;
                        if (AlarmType.Cumulative == highAlarmType)
                        {
                            actualTotalTimeToCheckAlarm += overHighLimitTotalTime;
                        }
                        if (highAlarmFirstTriggered == DateTime.MinValue && actualTotalTimeToCheckAlarm >= highAlarmDelay)
                        {
                            highAlarmFirstTriggered = item.PointTime;
                        }
                    }
                    else if (item.PointTemp <= lowLimit)
                    {
                        belowLowLimitCumulativePoints++;
                        if (overHighLimitCumulativePoints > 0)
                        {
                            overHighLimitEvents++;
                            int actualIntervals = overHighLimitCumulativePoints - 1;
                            if (actualIntervals == 0)
                            {
                                actualIntervals = 1;
                            }
                            overHighLimitTotalTime       += logInterval * actualIntervals;
                            overHighLimitCumulativePoints = 0;
                        }

                        int actualIntervalsToCheckAlarm = belowLowLimitCumulativePoints - 1;
                        int actualTotalTimeToCheckAlarm = 0;
                        if (actualIntervalsToCheckAlarm == 0)
                        {
                            actualIntervalsToCheckAlarm = 1;
                        }
                        actualTotalTimeToCheckAlarm += logInterval * actualIntervalsToCheckAlarm;
                        if (AlarmType.Cumulative == lowAlarmType)
                        {
                            actualTotalTimeToCheckAlarm += belowLowLimitTotalTime;
                        }
                        if (lowAlarmFirstTriggered == DateTime.MinValue && actualTotalTimeToCheckAlarm >= lowAlarmDelay)
                        {
                            lowAlarmFirstTriggered = item.PointTime;
                        }
                    }
                    else
                    {
                        if (belowLowLimitCumulativePoints > 0)
                        {
                            belowLowLimitEvents++;
                            int actualIntervals = belowLowLimitCumulativePoints - 1;
                            if (actualIntervals == 0)
                            {
                                actualIntervals = 1;
                            }
                            belowLowLimitTotalTime       += logInterval * actualIntervals;
                            belowLowLimitCumulativePoints = 0;

                            int actualIntervalsToCheckAlarm = belowLowLimitCumulativePoints - 1;
                            int actualTotalTimeToCheckAlarm = 0;
                            if (actualIntervalsToCheckAlarm == 0)
                            {
                                actualIntervalsToCheckAlarm = 1;
                            }
                            actualTotalTimeToCheckAlarm += logInterval * actualIntervalsToCheckAlarm;
                            if (AlarmType.Cumulative == lowAlarmType)
                            {
                                actualTotalTimeToCheckAlarm += belowLowLimitTotalTime;
                            }
                            if (lowAlarmFirstTriggered == DateTime.MinValue && actualTotalTimeToCheckAlarm >= lowAlarmDelay)
                            {
                                lowAlarmFirstTriggered = item.PointTime;
                            }
                        }
                        if (overHighLimitCumulativePoints > 0)
                        {
                            overHighLimitEvents++;
                            int actualIntervals = overHighLimitCumulativePoints - 1;
                            if (actualIntervals == 0)
                            {
                                actualIntervals = 1;
                            }
                            overHighLimitTotalTime       += logInterval * actualIntervals;
                            overHighLimitCumulativePoints = 0;

                            int actualIntervalsToCheckAlarm = overHighLimitCumulativePoints - 1;
                            int actualTotalTimeToCheckAlarm = 0;
                            if (actualIntervalsToCheckAlarm == 0)
                            {
                                actualIntervalsToCheckAlarm = 1;
                            }
                            actualTotalTimeToCheckAlarm += logInterval * actualIntervalsToCheckAlarm;
                            if (AlarmType.Cumulative == highAlarmType)
                            {
                                actualTotalTimeToCheckAlarm += overHighLimitTotalTime;
                            }
                            if (highAlarmFirstTriggered == DateTime.MinValue && actualTotalTimeToCheckAlarm >= highAlarmDelay)
                            {
                                highAlarmFirstTriggered = item.PointTime;
                            }
                        }
                    }
                    timeOfTheLastPointWithoutMark = item.PointTime;
                }
            }
            if (belowLowLimitCumulativePoints > 0)
            {
                belowLowLimitEvents++;
                int actualIntervals = belowLowLimitCumulativePoints - 1;
                if (actualIntervals == 0)
                {
                    actualIntervals = 1;
                }
                belowLowLimitTotalTime       += logInterval * actualIntervals;
                belowLowLimitCumulativePoints = 0;

                int actualIntervalsToCheckAlarm = belowLowLimitCumulativePoints - 1;
                int actualTotalTimeToCheckAlarm = 0;
                if (actualIntervalsToCheckAlarm == 0)
                {
                    actualIntervalsToCheckAlarm = 1;
                }
                actualTotalTimeToCheckAlarm += logInterval * actualIntervalsToCheckAlarm;
                if (AlarmType.Cumulative == lowAlarmType)
                {
                    actualTotalTimeToCheckAlarm += belowLowLimitTotalTime;
                }
                if (lowAlarmFirstTriggered == DateTime.MinValue && actualTotalTimeToCheckAlarm >= lowAlarmDelay)
                {
                    lowAlarmFirstTriggered = timeOfTheLastPointWithoutMark;
                }
            }
            if (overHighLimitCumulativePoints > 0)
            {
                overHighLimitEvents++;
                int actualIntervals = overHighLimitCumulativePoints - 1;
                if (actualIntervals == 0)
                {
                    actualIntervals = 1;
                }
                overHighLimitTotalTime       += logInterval * actualIntervals;
                overHighLimitCumulativePoints = 0;

                int actualIntervalsToCheckAlarm = overHighLimitCumulativePoints - 1;
                int actualTotalTimeToCheckAlarm = 0;
                if (actualIntervalsToCheckAlarm == 0)
                {
                    actualIntervalsToCheckAlarm = 1;
                }
                actualTotalTimeToCheckAlarm += logInterval * actualIntervalsToCheckAlarm;
                if (AlarmType.Cumulative == highAlarmType)
                {
                    actualTotalTimeToCheckAlarm += overHighLimitTotalTime;
                }
                if (highAlarmFirstTriggered == DateTime.MinValue && actualTotalTimeToCheckAlarm >= highAlarmDelay)
                {
                    highAlarmFirstTriggered = timeOfTheLastPointWithoutMark;
                }
            }

            this.HighAlarmEvents         = overHighLimitEvents;
            this.LowAlarmEvents          = belowLowLimitEvents;
            this.HighAlarmFirstTrigged   = highAlarmFirstTriggered.ToString(Common.GetDefaultDateTimeFormat(), CultureInfo.InvariantCulture);
            this.LowAlarmFirstTrigged    = lowAlarmFirstTriggered.ToString(Common.GetDefaultDateTimeFormat(), CultureInfo.InvariantCulture);
            this.HighAlarmTotalTimeAbove = TempsenFormatHelper.ConvertSencondToFormmatedTime(overHighLimitTotalTime.ToString());
            this.LowAlarmTotalTimeBelow  = TempsenFormatHelper.ConvertSencondToFormmatedTime(belowLowLimitTotalTime.ToString());
            AlarmHighStatus = HighAlarmEvents > 0 ? "Alarm" : "OK";
            AlarmLowStatus  = LowAlarmEvents > 0 ? "Alarm" : "OK";
        }
コード例 #24
0
ファイル: Alarm.cs プロジェクト: s12chung/stopnow_c_sharp
 public Alarm(MainWindow mainWindow, AlarmType alarm)
 {
     ChangeAlarm(alarm);
     this.mainWindow = mainWindow;
 }
コード例 #25
0
 public Alarm CreateMessage(string text, object code, object tag, AlarmType type)
 {
     Alarm msg = new Alarm(text, code, tag, type);
     msg.Changed += new EventHandler(OnMessageChanged);
     lock (mSyncLock) {
         mMessages.Add(msg);
     }
     return msg;
 }
コード例 #26
0
ファイル: AlarmReport.cs プロジェクト: zzh-git/KS
        /// <summary>
        /// 设置要报警的内容/颜色/闪烁时间间隔
        /// </summary>
        /// <param name="txt"></param>
        /// <param name="NoticeText"></param>
        /// <param name="type"></param>
        /// <param name="timeInterval"></param>
        /// <param name="isShowHide">是否显示隐藏按钮,隐藏按钮仅作用于黄色和橙色报警</param>
        /// <param name="flag">仅用于判断空冷岛阀门状态</param>
        public void SetText(string txt, string NoticeText, AlarmType type, int timeInterval, bool isShowHide, int flag)
        {
            this.AlarmMessage = txt;
            this.flags        = flag;
            if (SetAlarmType(type))
            {
                if (currentAlarm == AlarmType.AlarmRed)
                {
                    if (isAlarming)
                    {
                        timer.Enabled = true;
                    }
                    else
                    {
                        this.button1.Visible = false;
                        currentColor         = Color.Red;
                        //Alert.gosound();
                        timer.Enabled = true;
                    }
                }
                else if (currentAlarm == AlarmType.AlarmYellow)
                {
                    if (isAlarming)
                    {
                        //下面这个判断临时添加(20151030)
                        //抛物线黄色报警提示但不响声音
                        if (txt == "相对动应力显示图表黄色警报")
                        {
                            timer.Enabled = false;
                        }
                        else
                        {
                            timer.Enabled = true;
                        }
                        //return;
                    }
                    else
                    {
                        this.button1.Visible = isShowHide;
                        currentColor         = Color.Yellow;
                        //Alert.gosound();
                        //timer_Elapsed(null, null);
                        //timer.Interval = 10;
                        if (txt == "相对动应力显示图表黄色警报")
                        {
                            timer.Enabled = false;
                        }
                        else
                        {
                            timer.Enabled = true;
                        }
                    }
                }
                else if (currentAlarm == AlarmType.AlarmOrange)
                {
                    if (isAlarming)
                    {
                        timer.Enabled = true;
                        //return;
                    }
                    else
                    {
                        this.button1.Visible = isShowHide;
                        currentColor         = Color.DarkOrange;
                        //Alert.gosound();
                        timer.Enabled = true;
                    }
                }
                else if (currentAlarm == AlarmType.AlarmWhite)
                {
                    if (isAlarming)
                    {
                        timer.Enabled = true;
                        //return;
                    }
                    else
                    {
                        this.button1.Visible = isShowHide;
                        currentColor         = Color.Tomato;
                        //Alert.gosound();
                        timer.Enabled = true;
                    }
                }

                this.promteText.Text      = txt + alarmMes;
                this.promteText.ForeColor = currentColor;
                this.noticeLabel.Text     = NoticeText;
                this.timer1.Interval      = timeInterval;
                this.timer1.Enabled       = true;
                this.Visible = true;
            }
            else
            {
                this.Visible = false;
            }
        }
コード例 #27
0
ファイル: ZpAlarm.cs プロジェクト: ZQuanLi/Test
        /// <summary>
        /// 增加告警到数据库
        /// </summary>
        /// <param name="lpszDbVarName"></param>
        /// <param name="lpszVal"></param>
        /// <param name="lpszdateTime"></param>
        /// <param name="errCode"></param>
        /// <param name="errTxt"></param>
        public static void DbAddAlarm(CommandVModel command, string lpszVal, DateTime lpszdateTime, AlarmType errCode, string errTxt, bool isSend)
        {
            DataProcessBLL bll        = new DataProcessBLL(command.Ledger, Config.Uid);
            StringBuilder  strContent = new StringBuilder();
            DataTable      dtSource   = bll.GetMapInfo(command.LpszDbVarName);
            int            ccc        = dtSource.Rows.Count;

            if (ccc == 0)
            {
                FileLog.WriteLog("告警模块变量:" + command.LpszDbVarName + "不存在映射表中");
                return;
            }
            if (ccc > 1)
            {
                FileLog.WriteLog("告警模块变量:" + command.LpszDbVarName + "在映射表中存在多个");
                return;
            }

            int    module_id  = CommFunc.ConvertDBNullToInt32(dtSource.Rows[0]["Module_id"]);
            int    co_id      = CommFunc.ConvertDBNullToInt32(dtSource.Rows[0]["Co_id"]);
            int    fun_id     = CommFunc.ConvertDBNullToInt32(dtSource.Rows[0]["Fun_id"]);
            string moduleAddr = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["ModuleAddr"]);
            string funType    = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["FunType"]);

            if (funType.Equals(V0Fun.LeakAlarm.ToString()))
            {
                if (lpszVal.Substring(0, 12).Contains("1"))
                {
                    int cnt = 0;
                    foreach (char c in lpszVal.Substring(0, 12).ToCharArray())
                    {
                        string content = "";
                        ++cnt;
                        if (c.ToString().Equals("1"))
                        {
                            if (cnt <= 8)
                            {
                                content = "漏电流" + cnt + "发生告警";
                            }
                            else
                            {
                                content = "温度" + (cnt - 8) + "发生告警";
                            }
                        }
                        if (!string.IsNullOrEmpty(content))
                        {
                            if (!string.IsNullOrEmpty(strContent.ToString()))
                            {
                                strContent.Append(";");
                            }
                            strContent.Append(content);
                        }
                    }
                }
            }
            else
            {
                string content = "";
                System.Reflection.FieldInfo info = typeof(V0Fun).GetField(funType);
                if (info != null)
                {
                    var obj = info.GetCustomAttributes(typeof(DisplayAttribute), false);
                    if (obj != null)
                    {
                        foreach (DisplayAttribute md in obj)
                        {
                            content = md.Name;
                        }
                    }
                }
                strContent.Append(content);
            }
            long log_id = bll.AddAlarm(co_id, module_id, moduleAddr, errCode.ToString(), fun_id, strContent.ToString(), lpszVal, lpszdateTime, (int)errCode, errTxt);

            if (isSend == true)
            {/*发送告警*/
                SendHd(command.Ledger, log_id, errCode, HdType.AL_Sms, errTxt, module_id);
                SendHd(command.Ledger, log_id, errCode, HdType.AL_Email, errTxt, module_id);
            }
        }
コード例 #28
0
		void OnShowAlarms(AlarmType? alarmType)
		{
			AlarmsViewModel.Sort(alarmType);
		}
コード例 #29
0
ファイル: DS323x.cs プロジェクト: mozts2005/Meadow.Foundation
        /// <summary>
        ///     Set one of the two alarms on the DS323x module.
        /// </summary>
        /// <param name="alarm">Define the alarm to be set.</param>
        /// <param name="time">Date and time for the alarm.</param>
        /// <param name="type">Type of alarm to set.</param>
        public void SetAlarm(Alarm alarm, DateTime time, AlarmType type)
        {
            byte[] data     = null;
            var    register = Registers.Alarm1Seconds;
            var    element  = 0;

            if (alarm == Alarm.Alarm1Raised)
            {
                data    = new byte[5];
                element = 1;
                data[0] = Converters.ByteToBCD((byte)(time.Second & 0xff));
            }
            else
            {
                data     = new byte[4];
                register = Registers.Alarm2Minutes;
            }
            data[element++] = Converters.ByteToBCD((byte)(time.Minute & 0xff));
            data[element++] = Converters.ByteToBCD((byte)(time.Hour & 0xff));
            if ((type == AlarmType.WhenDayHoursMinutesMatch) || (type == AlarmType.WhenDayHoursMinutesSecondsMatch))
            {
                data[element] = (byte)(DayOfWeekToByte(time.DayOfWeek) | 0x40);
            }
            else
            {
                data[element] = Converters.ByteToBCD((byte)(time.Day & 0xff));
            }
            switch (type)
            {
            //
            //  Alarm 1 interrupts.
            //
            case AlarmType.OncePerSecond:
                data[0] |= 0x80;
                data[1] |= 0x80;
                data[2] |= 0x80;
                data[3] |= 0x80;
                break;

            case AlarmType.WhenSecondsMatch:
                data[1] |= 0x80;
                data[2] |= 0x80;
                data[3] |= 0x80;
                break;

            case AlarmType.WhenMinutesSecondsMatch:
                data[2] |= 0x80;
                data[3] |= 0x80;
                break;

            case AlarmType.WhenHoursMinutesSecondsMatch:
                data[3] |= 0x80;
                break;

            case AlarmType.WhenDateHoursMinutesSecondsMatch:
                break;

            case AlarmType.WhenDayHoursMinutesSecondsMatch:
                data[3] |= 0x40;
                break;

            //
            //  Alarm 2 interupts.
            //
            case AlarmType.OncePerMinute:
                data[0] |= 0x80;
                data[1] |= 0x80;
                data[2] |= 0x80;
                break;

            case AlarmType.WhenMinutesMatch:
                data[1] |= 0x80;
                data[2] |= 0x80;
                break;

            case AlarmType.WhenHoursMinutesMatch:
                data[2] |= 0x80;
                break;

            case AlarmType.WhenDateHoursMinutesMatch:
                break;

            case AlarmType.WhenDayHoursMinutesMatch:
                data[2] |= 0x40;
                break;
            }
            _ds323x.WriteRegisters(register, data);
            //
            //  Turn the relevant alarm on.
            //
            var controlRegister = ControlRegister;
            var bits            = (byte)ControlRegisterBits.A1IE;

            if (alarm == Alarm.Alarm2Raised)
            {
                bits = (byte)ControlRegisterBits.A2IE;
            }
            controlRegister |= (byte)ControlRegisterBits.INTCON;
            controlRegister |= bits;
            ControlRegister  = controlRegister;
        }
コード例 #30
0
ファイル: UpdateAlarm.cs プロジェクト: TimonYoon/Dev
 //테스트 메일 체커
 public void AlarmCheck(AlarmType type, bool check)
 {
     StartCoroutine(CheckerUp(type, check));
 }
コード例 #31
0
 public KACAlarm(String vID, String NewName, String NewNotes, double UT, Double Margin, AlarmType atype, Boolean NewHaltWarp, Boolean NewPause, List <ManeuverNode> NewManeuvers)
     : this(vID, NewName, NewNotes, UT, Margin, atype, NewHaltWarp, NewPause)
 {
     //set maneuver node
     ManNodes = NewManeuvers;
 }
コード例 #32
0
 public void FireAlarm(AlarmType alarmType)
 {
     FireAlarm(alarmType, false);
 }
コード例 #33
0
 public KACAlarm(String vID, String NewName, String NewNotes, double UT, Double Margin, AlarmType atype, Boolean NewHaltWarp, Boolean NewPause, ITargetable NewTarget)
     : this(vID, NewName, NewNotes, UT, Margin, atype, NewHaltWarp, NewPause)
 {
     //Set the ITargetable proerty
     TargetObject = NewTarget;
 }
コード例 #34
0
ファイル: SensorAlarm.cs プロジェクト: roblans/ZWave4Net
 public async Task<SensorAlarmReport> Get(AlarmType type)
 {
     var response = await Channel.Send(Node, new Command(Class, command.Get, Convert.ToByte(type)), command.Report);
     return new SensorAlarmReport(Node, response);
 }
コード例 #35
0
ファイル: AlarmMessageAlert.cs プロジェクト: 0dr4c1R/xenadmin
        private void ParseAlarmMessage(Message m)
        {
            /*
             * message.body will look similar to this:
             * value: 1234
             * config:
             * <variable>
             *  <name value="network_usage"/>
             *  <alarm_trigger_level value="1"/>
             *  <alarm_trigger_period value="60"/>
             * </variable>
            */
            List<string> lines = new List<string>(m.body.Split('\n'));
            if (lines.Count < 2)
                return;
            string value = lines[0].Replace("value: ", "");
            double.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out CurrentValue);

            string variableName = "";

            try
            {
                string xml = string.Join("", lines.GetRange(1, lines.Count - 1).ToArray()).Replace("config:", "");
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xml);

                XmlNodeList name = doc.GetElementsByTagName("name");
                if (name.Count > 0)
                    variableName = name[0].Attributes["value"].Value;
                // if this doesn't get set the alarm will appear as "unrecognised"
                //in the dialog and will show the message body instead

                XmlNodeList level = doc.GetElementsByTagName("alarm_trigger_level");
                if (level.Count > 0)
                    double.TryParse(level[0].Attributes["value"].Value, NumberStyles.Any, CultureInfo.InvariantCulture, out TriggerLevel);

                XmlNodeList period = doc.GetElementsByTagName("alarm_trigger_period");
                if (period.Count > 0)
                    int.TryParse(period[0].Attributes["value"].Value, NumberStyles.Any, CultureInfo.InvariantCulture, out TriggerPeriod);
            }
            catch (Exception e)
            {
                log.Debug("Error Parsing Message Description", e);
            }

            switch (variableName)
            {
                case PerfmonDefinition.ALARM_TYPE_CPU:
                    AlarmType = AlarmType.Cpu;
                    break;
                case PerfmonDefinition.ALARM_TYPE_NETWORK:
                    AlarmType = AlarmType.Net;
                    break;
                case PerfmonDefinition.ALARM_TYPE_DISK:
                    AlarmType = AlarmType.Disk;
                    break;
                case PerfmonDefinition.ALARM_TYPE_FILESYSTEM:
                    AlarmType = AlarmType.FileSystem;
                    break;
                case PerfmonDefinition.ALARM_TYPE_MEMORY_FREE:
                    AlarmType = AlarmType.Memory;
                    break;
                case PerfmonDefinition.ALARM_TYPE_MEMORY_DOM0_USAGE:
                    AlarmType = AlarmType.Dom0MemoryDemand;
                    break;
                default:
                    {
                        var match = PerfmonDefinition.SrRegex.Match(variableName);
                        if (match.Success)
                        {
                            AlarmType = AlarmType.Storage;
                            sr = GetStorage(match.Groups[1].Value);
                        }
                        else
                            AlarmType = AlarmType.None;
                    }
                    break;
            }
        }
コード例 #36
0
        public async Task <TopologyModel> UpdateLoadFlow(TopologyModel inputTopology)
        {
            string verboseMessage = $"{baseLogString} UpdateLoadFlow method called.";

            Logger.LogVerbose(verboseMessage);

            TopologyModel topology = inputTopology;

            try
            {
                Dictionary <long, float> loadOfFeeders = new Dictionary <long, float>();
                feeders      = new Dictionary <long, ITopologyElement>();
                syncMachines = new Dictionary <long, ITopologyElement>();
                dailyCurves  = DailyCurveReader.ReadDailyCurves();

                Logger.LogDebug($"{baseLogString} UpdateLoadFlow => Getting reclosers from model provider.");
                var modelProviderClient = CeModelProviderClient.CreateClient();
                reclosers = await modelProviderClient.GetReclosers();

                Logger.LogDebug($"{baseLogString} UpdateLoadFlow => Reclosers were delivered successfully.");


                if (topology == null)
                {
                    string message = $"{baseLogString} UpdateLoadFlow => Topology is null.";
                    Logger.LogWarning(message);
                    //throw new Exception(message);
                    return(topology);
                }

                await CalculateLoadFlow(topology, loadOfFeeders);

                await UpdateLoadFlowFromRecloser(topology, loadOfFeeders);

                foreach (var syncMachine in syncMachines.Values)
                {
                    await SyncMachine(syncMachine, loadOfFeeders);
                }

                var commands   = new Dictionary <long, float>();
                var modbusData = new Dictionary <long, AnalogModbusData>();

                foreach (var loadFeeder in loadOfFeeders)
                {
                    if (feeders.TryGetValue(loadFeeder.Key, out ITopologyElement feeder))
                    {
                        long signalGid = 0;
                        foreach (var measurement in feeder.Measurements)
                        {
                            if (measurement.Value.Equals(AnalogMeasurementType.FEEDER_CURRENT.ToString()))
                            {
                                signalGid = measurement.Key;
                            }
                        }

                        if (signalGid != 0)
                        {
                            Logger.LogDebug($"{baseLogString} UpdateLoadFlow => Calling SendAnalogCommand method from measurement provider. Measurement GID {signalGid:X16}, Value {loadFeeder.Value}.");
                            commands.Add(signalGid, loadFeeder.Value);

                            AlarmType alarmType = (loadFeeder.Value >= 36) ? AlarmType.HIGH_ALARM : AlarmType.NO_ALARM;
                            modbusData.Add(signalGid, new AnalogModbusData(loadFeeder.Value, alarmType, signalGid, CommandOriginType.CE_COMMAND));
                        }
                        else
                        {
                            Logger.LogWarning($"{baseLogString} UpdateLoadFlow => Feeder with GID 0x{feeder.Id:X16} does not have FEEDER_CURRENT measurement.");
                        }
                    }
                }

                var measurementProviderClient = MeasurementProviderClient.CreateClient();

                await measurementProviderClient.SendMultipleAnalogCommand(commands, CommandOriginType.CE_COMMAND);

                Logger.LogDebug($"{baseLogString} UpdateLoadFlow => SendAnalogCommand method from measurement provider successfully finished.");

                Logger.LogDebug($"{baseLogString} UpdateLoadFlow => Calling update analog measurement method from measurement provider.");
                await measurementProviderClient.UpdateAnalogMeasurement(modbusData);

                Logger.LogDebug($"{baseLogString} UpdateLoadFlow => Update analog measurement method from measurement provider successfully finished.");
            }
            catch (Exception e)
            {
                string errorMessage = $"{baseLogString} UpdateLoadFlow => Exception: {e.Message}";
                Logger.LogError(errorMessage, e);
            }

            return(topology);
        }
コード例 #37
0
ファイル: Alarm.cs プロジェクト: team-cha/Link
 //c# 에선 부모 생성자 base()
 public Alarm(AlarmType type, int linkID, string text, int primaryKey) : base(primaryKey)
 {
     this.type   = type;
     this.text   = text;
     this.linkID = linkID;
 }
コード例 #38
0
        //Methods



        /// <summary>
        /// Sets the Windows Phone Scheduled Alarm
        /// May want to refactor and seperate add remove functions
        /// </summary>
        /// <param name="alarmType">(WARNING, TIMES_UP)</param>
        /// <param name="active">true adds timer / false any active timers are removed</param>
        public void AddRemoveAlarm(AlarmType alarmType, bool active)//add two string values to member fields  (Warning, TimesUp) add switch statement to body and try catch for errors
        {
            AlarmWarnTime   = MeterWarningTime;
            AlarmReturnTime = MeterReturnTime;

            DateTime alarmWarnTime   = AlarmWarnTime;
            DateTime alarmReturnTime = AlarmReturnTime;
            bool     TimeCorrect     = false;


            try
            {
                //Reminder a = new Reminder("a");
                //Reminder b = new Reminder("b");

                if (DateTime.Now < alarmWarnTime.AddSeconds(30))
                {
                    reminderA = new Reminder("PMWarnReminder")
                    {
                        BeginTime      = MeterWarningTime,
                        ExpirationTime = AlarmWarnTime.AddSeconds(30),
                        Content        = "Parking Meter Warning",
                        RecurrenceType = RecurrenceInterval.None,
                        Title          = "Parking Meter Reminder"
                    };
                    TimeCorrect = true;
                }



                if (DateTime.Now < alarmReturnTime.AddSeconds(30))
                {
                    reminderB = new Reminder("PMReturnReminder") //change name to program name
                    {
                        BeginTime      = MeterReturnTime,
                        ExpirationTime = AlarmReturnTime.AddSeconds(30),
                        Content        = "Meter Time Has Run Out",
                        RecurrenceType = RecurrenceInterval.None,
                        Title          = "Parking Meter Reminder"
                    };
                    TimeCorrect = true;
                }

                if (active && TimeCorrect)
                {
                    switch (alarmType)
                    {
                    case AlarmType.WARNING:
                    {
                        if (ScheduledActionService.Find(reminderA.Name) != null)
                        {
                            ScheduledActionService.Remove(reminderA.Name);
                        }

                        ScheduledActionService.Add(reminderA);
                    } break;

                    case AlarmType.TIMES_UP:
                    {
                        if (ScheduledActionService.Find(reminderB.Name) != null)
                        {
                            ScheduledActionService.Remove(reminderB.Name);
                        }

                        ScheduledActionService.Add(reminderB);
                    } break;

                    default:
                    {
                    } break;
                    } //end switch
                }     //end if
                else
                {
                    switch (alarmType)
                    {
                    case AlarmType.WARNING:
                    {
                        if (reminderA != null)
                        {
                            if (ScheduledActionService.Find(reminderA.Name) != null)
                            {
                                ScheduledActionService.Remove(reminderA.Name);
                                reminderA = null;
                            }
                        }
                    } break;

                    case AlarmType.TIMES_UP:
                    {
                        if (reminderB != null)
                        {
                            if (ScheduledActionService.Find(reminderB.Name) != null)
                            {
                                ScheduledActionService.Remove(reminderB.Name);
                                reminderB = null;
                            }
                        }
                    } break;

                    default:
                    {
                    } break;
                    } //end switch
                }
            }         //end try
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Alarm Error", MessageBoxButton.OK);
            }
        }
コード例 #39
0
        private void ParseAlarmMessage(Message m)
        {
            /*
             * message.body will look similar to this:
             * value: 1234
             * config:
             * <variable>
             *  <name value="network_usage"/>
             *  <alarm_trigger_level value="1"/>
             *  <alarm_trigger_period value="60"/>
             * </variable>
             */
            List <string> lines = new List <string>(m.body.Split('\n'));

            if (lines.Count < 2)
            {
                return;
            }
            string value = lines[0].Replace("value: ", "");

            double.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out CurrentValue);

            string variableName = "";

            try
            {
                string      xml = string.Join("", lines.GetRange(1, lines.Count - 1).ToArray()).Replace("config:", "");
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xml);

                XmlNodeList name = doc.GetElementsByTagName("name");
                if (name.Count > 0)
                {
                    variableName = name[0].Attributes["value"].Value;
                }
                // if this doesn't get set the alarm will appear as "unrecognised"
                //in the dialog and will show the message body instead

                XmlNodeList level = doc.GetElementsByTagName("alarm_trigger_level");
                if (level.Count > 0)
                {
                    double.TryParse(level[0].Attributes["value"].Value, NumberStyles.Any, CultureInfo.InvariantCulture, out TriggerLevel);
                }

                XmlNodeList period = doc.GetElementsByTagName("alarm_trigger_period");
                if (period.Count > 0)
                {
                    int.TryParse(period[0].Attributes["value"].Value, NumberStyles.Any, CultureInfo.InvariantCulture, out TriggerPeriod);
                }
            }
            catch (Exception e)
            {
                log.Debug("Error Parsing Message Description", e);
            }

            switch (variableName)
            {
            case PerfmonDefinition.ALARM_TYPE_CPU:
                AlarmType = AlarmType.Cpu;
                break;

            case PerfmonDefinition.ALARM_TYPE_NETWORK:
                AlarmType = AlarmType.Net;
                break;

            case PerfmonDefinition.ALARM_TYPE_DISK:
                AlarmType = AlarmType.Disk;
                break;

            case PerfmonDefinition.ALARM_TYPE_FILESYSTEM:
                AlarmType = AlarmType.FileSystem;
                break;

            case PerfmonDefinition.ALARM_TYPE_MEMORY:
                AlarmType = AlarmType.Memory;
                break;

            default:
            {
                var match = PerfmonDefinition.SrRegex.Match(variableName);
                if (match.Success)
                {
                    AlarmType = AlarmType.Storage;
                    sr        = GetStorage(match.Groups[1].Value);
                }
                else
                {
                    AlarmType = AlarmType.None;
                }
            }
            break;
            }
        }
コード例 #40
0
ファイル: ClientService.cs プロジェクト: zrbruce/SharpSCADA
        void InitServerByDatabase()
        {
            try
            {
                using (var dataReader = DataHelper.Instance.ExecuteProcedureReader("InitServer", DataHelper.CreateParam("@TYPE", System.Data.SqlDbType.Int, 1)))
                {
                    if (dataReader == null)
                    {
                        Environment.Exit(0);
                    }
                    //dataReader.Read();
                    dataReader.Read();
                    int count = dataReader.GetInt32(0);
                    _list    = new List <TagMetaData>(count);
                    _mapping = new Dictionary <string, ITag>(count);
                    dataReader.NextResult();
                    while (dataReader.Read())
                    {
                        _list.Add(new TagMetaData(dataReader.GetInt16(0), dataReader.GetInt16(1), dataReader.GetString(2), dataReader.GetString(3), (DataType)dataReader.GetByte(4),
                                                  (ushort)dataReader.GetInt16(5), dataReader.GetBoolean(6), dataReader.GetFloat(7), dataReader.GetFloat(8), dataReader.GetInt32(9)));
                        //_list[i].Description = dataReader.GetSqlString(6).Value;
                    }
                    _list.Sort();
                    if (reader != null && group == null)
                    {
                        group = reader.AddGroup("Group1", 1, 0, 0, true) as ClientGroup;
                        group.AddItems(_list);
                    }
                    dataReader.NextResult();
                    _conditions    = new List <ICondition>();
                    _conditionList = new ObservableCollection <ICondition>();
                    while (dataReader.Read())
                    {
                        int        id   = dataReader.GetInt32(0);
                        AlarmType  type = (AlarmType)dataReader.GetInt32(2);
                        ICondition cond;
                        string     source = dataReader.GetString(1);
                        if (_conditions.Count > 0)
                        {
                            cond = _conditions[_conditions.Count - 1];
                            if (cond.ID == id)
                            {
                                cond.AddSubCondition(new SubCondition((SubAlarmType)dataReader.GetInt32(9), dataReader.GetFloat(10),
                                                                      (Severity)dataReader.GetByte(11), dataReader.GetString(12), dataReader.GetBoolean(13)));
                                continue;
                            }
                        }
                        switch (type)
                        {
                        case AlarmType.Complex:
                            cond = new ComplexCondition(id, source, dataReader.GetString(6), dataReader.GetFloat(7), dataReader.GetInt32(8));
                            break;

                        case AlarmType.Level:
                            cond = new LevelAlarm(id, source, dataReader.GetString(6), dataReader.GetFloat(7), dataReader.GetInt32(8));
                            break;

                        case AlarmType.Dev:
                            cond = new DevAlarm(id, (ConditionType)dataReader.GetByte(4), source, dataReader.GetString(6),
                                                dataReader.GetFloat(5), dataReader.GetFloat(7), dataReader.GetInt32(8));
                            break;

                        case AlarmType.ROC:
                            cond = new ROCAlarm(id, source, dataReader.GetString(6), dataReader.GetFloat(7), dataReader.GetInt32(8));
                            break;

                        case AlarmType.Quality:
                            cond = new QualitiesAlarm(id, source, dataReader.GetString(6));
                            break;

                        default:
                            cond = new DigitAlarm(id, source, dataReader.GetString(6), dataReader.GetInt32(8));
                            break;
                        }
                        cond.AddSubCondition(new SubCondition((SubAlarmType)dataReader.GetInt32(9), dataReader.GetFloat(10),
                                                              (Severity)dataReader.GetByte(11), dataReader.GetString(12), dataReader.GetBoolean(13)));

                        cond.IsEnabled = dataReader.GetBoolean(3);
                        var simpcond = cond as SimpleCondition;
                        if (simpcond != null)
                        {
                            simpcond.Tag = this[source];
                        }
                        else
                        {
                            var complexcond = cond as ComplexCondition;
                            if (complexcond != null)
                            {
                                var action = complexcond.SetFunction(reval.Eval(source));
                                if (action != null)
                                {
                                    ValueChangedEventHandler handle = (s1, e1) => { action(); };
                                    foreach (ITag tag in reval.TagList)
                                    {
                                        tag.ValueChanged += handle;// tag.Refresh();
                                    }
                                }
                            }
                        }
                        cond.AlarmActive += new AlarmEventHandler(cond_SendAlarm);
                        cond.AlarmAck    += new EventHandler(cond_AckAlarm);
                        //_conditions.Add(cond);// UpdateCondition(cond);
                        _conditions.Add(cond);
                    }
                    dataReader.NextResult();
                    while (dataReader.Read())
                    {
                        _scales.Add(new Scaling(dataReader.GetInt16(0), (ScaleType)dataReader.GetByte(1),
                                                dataReader.GetFloat(2), dataReader.GetFloat(3), dataReader.GetFloat(4), dataReader.GetFloat(5)));
                    }
                }
                reval.Clear();
                _scales.Sort();
                _compare = new CompareCondBySource();
                _conditions.Sort(_compare);
            }
            catch (Exception e)
            {
                App.AddErrorLog(e);
                Environment.Exit(0);
            }
        }
コード例 #41
0
 public Alarm CreateMessage(object code, object tag, AlarmType type)
 {
     return CreateMessage("", code, tag, type);
 }
コード例 #42
0
ファイル: BuBiaoData.cs プロジェクト: hhahh2011/CH.Gps
 /// <summary>
 /// 判断是否路线行驶时间不足/过长报警,并取得附加信息
 /// </summary>
 /// <param name="AlarmStatus"></param>
 /// <param name="AdditionMsg"></param>
 /// <param name="type"></param>
 /// <param name="AddItem"></param>
 /// <returns></returns>
 public static bool GetAlarmMsg(UInt32 AlarmStatus, string AdditionMsg, AlarmType type, ref LineSectionDriverTimeLessOrMoreAdditionItem AddItem)
 {
     bool bIsAlarm = IsAlarm(AlarmStatus, type);
     switch (type)
     {
         case AlarmType.LineSectionDriverTimeLessOrMore:
             List<AdditionMsgItem> addList = new List<AdditionMsgItem>();
             byte[] AdditionMsgByte = Encoding.ASCII.GetBytes(AdditionMsg);
             LocationReport LR = new LocationReport();
             LR.ParseAdditionMsg(AdditionMsgByte, 0, AdditionMsgByte.Length, ref addList);
             if (addList.Exists(o => o.MsgID == AdditionMsgIDType.LineSectionDriverTimeLessOrMoreAddition))
             {
                 AdditionMsgItem item = addList.Find(o => o.MsgID == AdditionMsgIDType.LineSectionDriverTimeLessOrMoreAddition);
                 item.ParseItem(ref AddItem);
             }
             break;
         default:
             break;
     }
     return bIsAlarm;
 }
コード例 #43
0
    /*public int Id;
     * public string MelderGruppe;
     * public string MelderNummer;
     * public string MelderTyp;
     * public string Melderart;
     * public string Hinweistext;
     * public string Freitext;
     * public string TimeDelay;*/

    public Alarm(int pId, int pTime, MelderType pMelderTyp, string pMelderGruppeNummer, string pInfotext, string pMeldertext, AlarmType pAlarmTyp)
    {
        id                 = pId;
        deltatime          = pTime;
        melderGruppeNummer = pMelderGruppeNummer;
        melderTyp          = pMelderTyp;
        infotext           = pInfotext;
        meldertext         = pMeldertext;
        alarmTyp           = pAlarmTyp;
    }
コード例 #44
0
ファイル: AlarmCondition.cs プロジェクト: usbr/Pisces
 public AlarmCondition(AlarmType t, double value)
 {
     this.Condition = t;
     this.Value = value;
 }
コード例 #45
0
ファイル: ZpAlarm.cs プロジェクト: ZQuanLi/Test
        private static void SendHd(int ledger, long log_id, AlarmType alarmType, HdType hdType, string content, int module_id)
        {
            SysPro pro;

            NCSys.Pro.TryGetValue(ledger, out pro);
            if (pro == null)
            {
                return;
            }
            DataProcessBLL         bll  = new DataProcessBLL(ledger, Config.Uid);
            v2_alarm_logHandVModel hand = bll.GetAlarmHand(log_id, hdType.ToString());

            hand.Content = content;

            if (hand.ErrCode == 1)
            {
                int sendSpan = CommFunc.ConvertDBNullToInt32(IniHepler.GetConfig(Config.lpFileName, "Alarm", "SendSpan"));

                if (hand.HdTime.AddMinutes(sendSpan) > DateTime.Now)
                {
                    return;
                }
                else
                {
                    hand.Aid = 0;/*新增一条记录*/
                }
            }
            DataTable     dtSource   = bll.GetSendInfo(module_id);
            List <string> mpReceipts = new List <string>();
            List <string> emReceipts = new List <string>();

            string coName = "", moduleName = "";

            foreach (DataRow drCrm in dtSource.Rows)
            {
                if (!string.IsNullOrEmpty(CommFunc.ConvertDBNullToString(drCrm["MPhone"])))
                {
                    mpReceipts.Add(CommFunc.ConvertDBNullToString(drCrm["MPhone"]));
                }
                if (!string.IsNullOrEmpty(CommFunc.ConvertDBNullToString(drCrm["Email"])))
                {
                    emReceipts.Add(CommFunc.ConvertDBNullToString(drCrm["Email"]));
                }
                coName     = CommFunc.ConvertDBNullToString(drCrm["CoName"]);
                moduleName = CommFunc.ConvertDBNullToString(drCrm["ModuleName"]);
            }
            bool   sue = false;
            string msg = "";

            try
            {
                if (hdType == HdType.AL_Sms)
                {
                    if (mpReceipts.Count > 0)
                    {
                        if (alarmType == AlarmType.Al_Use)
                        {/*感知万物演示用*/
                            string ccc = JsonHelper.Serialize(new { moduleName = moduleName });
                            if (!string.IsNullOrEmpty(pro.Sms.ComSmsConfig.ComSms))
                            {
                                sue = pro.Sms.SendMessage(mpReceipts, ccc, out msg);
                            }
                            else if (!string.IsNullOrEmpty(SmsFun.AliSmsConfig.AliAppKey))
                            {
                                sue = pro.Sms.SmsMessage(mpReceipts, ccc, out msg, "SMS_137657141");
                            }
                            else
                            {
                                msg = "没有发现短信接口";
                            }
                        }
                        else
                        {
                            msg = "感知演示,暂不开放";
                        }
                    }
                    else
                    {
                        msg = "无手机号码";
                    }
                }
                else if (hdType == HdType.AL_Email)
                {
                    if (mpReceipts.Count > 0)
                    {
                        StringBuilder mailcont1 = new StringBuilder();
                        mailcont1.Append("你好:" + coName);
                        mailcont1.Append("<br>");
                        mailcont1.Append("告警内容:" + hand.Content);
                        mailcont1.Append("<br>");
                        mailcont1.Append("告警时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo));
                        pro.Email.SendMail("告警通知", mailcont1.ToString(), "", emReceipts, null, null);
                        sue = true;
                    }
                    else
                    {
                        msg = "无邮箱地址";
                    }
                }
                hand.ErrCode = sue == true ? 1 : -1;
            }
            catch (Exception ex)
            {
                hand.ErrCode = -1;
                msg          = ex.Message;
            }
            hand.ErrTxt = msg;

            bll.UpAlarmHand(hand);
        }
コード例 #46
0
ファイル: InstructionViewModel.cs プロジェクト: hjlfmy/Rubezh
        StateType AlarmTypeToStateType(AlarmType alarmType)
        {
            switch (alarmType)
            {
                case AlarmType.Fire:
                    return StateType.Fire;

                case AlarmType.Attention:
                    return StateType.Attention;

                case AlarmType.Failure:
                    return StateType.Failure;

                case AlarmType.Off:
                    return StateType.Off;

                case AlarmType.Info:
                    return StateType.Info;

                case AlarmType.Service:
                    return StateType.Service;

                default:
                    return StateType.No;
            }
        }
コード例 #47
0
ファイル: ZpAlarm.cs プロジェクト: ZQuanLi/Test
        public static void DbEventWpf(CommandVModel command, string lpszVal, DateTime lpszdateTime, AlarmType errCode, string errTxt)
        {
            if (lpszVal == null || lpszdateTime.Year < 2000)
            {
                return;
            }
            if (errCode != AlarmType.Sue)
            {
                return;
            }

            DataProcessBLL bll = new DataProcessBLL(command.Ledger, Config.Uid);
            SysPro         pro;

            NCSys.Pro.TryGetValue(command.Ledger, out pro);
            if (pro == null)
            {
                FileLog.Error("CollectAlarm.DbEventWpf 模块没有项目:" + command.Ledger);
                return;
            }
            string        mkey    = pro.ProjectKey + command.LpszDbVarName;
            CollectVModel collect = null;

            if (NCSys.Result.TryGetValue(mkey, out collect) == false)
            {
                return;
            }

            RstVar rst   = collect.RstVar;// MemcachedMgr.GetVal<RstVar>(mkey);
            bool   isAdd = true;

            if (rst != null && !string.IsNullOrEmpty(rst.lpszVal))
            {
                MalignantVModel pp = JsonHelper.Deserialize <MalignantVModel>(rst.lpszVal);
                if (collect.IsDb == false)
                {
                    if (pp.CTime == lpszdateTime)
                    {
                        isAdd = false;
                    }
                }
                collect.IsDb = false;
            }
            if (isAdd == true)
            { /*增加到数据库中*/
                bll.AddAlarmOnCollect(command.Co_id, command.Module_id, command.ModuleAddr, command.FunType, command.Fun_id, lpszVal, (int)errCode, errTxt, lpszdateTime);
            }
        }
コード例 #48
0
 public KACAlarm(String vID, String NewName, String NewNotes, double UT, Double Margin, AlarmType atype, Boolean NewHaltWarp, Boolean NewPause)
 {
     //if (KACWorkerGameState.IsFlightMode)
     try { SaveName = HighLogic.CurrentGame.Title; }
     catch (Exception) { }
     VesselID        = vID;
     Name            = NewName;
     Notes           = NewNotes;
     AlarmTime.UT    = UT;
     AlarmMarginSecs = Margin;
     TypeOfAlarm     = atype;
     Remaining.UT    = AlarmTime.UT - Planetarium.GetUniversalTime();
     HaltWarp        = NewHaltWarp;
     PauseGame       = NewPause;
 }
コード例 #49
0
 public AlarmMember(ulong memberId, AlarmType alarmType)
 {
     this.memberId  = memberId;
     this.alarmType = alarmType;
 }
コード例 #50
0
ファイル: CarAlarmType.cs プロジェクト: lexzh/Myproject
 private static void FillAlarmData(ref AlarmType alarmType_0, DataRow dataRow_0)
 {
     try
     {
         alarmType_0.AlarmSwitch = NumHelper.ConvertToInt(dataRow_0["AlarmSwitch"]);
         alarmType_0.AlarmFlag = NumHelper.ConvertToInt(dataRow_0["AlarmFlag"]);
         alarmType_0.ShowAlarm = NumHelper.ConvertToInt(dataRow_0["ShowAlarm"]);
         alarmType_0.cust_AlarmSwitch = NumHelper.ConvertToInt(dataRow_0["cust_AlarmSwitch"]);
         alarmType_0.cust_AlarmFlag = NumHelper.ConvertToInt(dataRow_0["cust_AlarmFlag"]);
         alarmType_0.cust_ShowAlarm = NumHelper.ConvertToInt(dataRow_0["cust_ShowAlarm"]);
         alarmType_0.cust_AlarmName = Convert.ToString(dataRow_0["AlarmName"]);
         if (dataRow_0["AlarmSwitchExt"] != null)
         {
             alarmType_0.AlarmSwitchExt = Convert.ToInt64(dataRow_0["AlarmSwitchExt"].ToString());
         }
         if (dataRow_0["AlarmFlagExt"] != null)
         {
             alarmType_0.AlarmFlagExt = Convert.ToInt64(dataRow_0["AlarmFlagExt"].ToString());
         }
         if (dataRow_0["ShowAlarmExt"] != null)
         {
             alarmType_0.ShowAlarmExt = Convert.ToInt64(dataRow_0["ShowAlarmExt"].ToString());
         }
         alarmType_0.AlarmSwitch |= alarmType_0.cust_AlarmSwitch;
         alarmType_0.AlarmFlag |= alarmType_0.cust_AlarmFlag;
         alarmType_0.ShowAlarm |= alarmType_0.cust_ShowAlarm;
     }
     catch
     {
     }
 }
コード例 #51
0
ファイル: KerbalAlarmClock.cs プロジェクト: artwhaley/krpc
 public static Alarm CreateAlarm(AlarmType type, string name, double ut)
 {
     CheckAPI ();
     var id = KACWrapper.KAC.CreateAlarm (type.FromAlarmType (), name, ut);
     return new Alarm (KACWrapper.KAC.Alarms.First (x => x.ID == id));
 }
コード例 #52
0
ファイル: BuBiaoData.cs プロジェクト: hhahh2011/CH.Gps
 /// <summary>
 /// 是否报警(用于不含有附加信息的报警信息)
 /// </summary>
 /// <param name="AlarmStatus"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 public static bool GetAlarmMsg(UInt32 AlarmStatus, AlarmType type)
 {
     return IsAlarm(AlarmStatus, type);
 }
コード例 #53
0
ファイル: SensorAlarm.cs プロジェクト: vsssunder/automatica
 public Task <SensorAlarmReport> Get(AlarmType type)
 {
     return(Get(type, CancellationToken.None));
 }
コード例 #54
0
ファイル: Alarm.cs プロジェクト: Mongar23/AgileExam
 public Alarm(int hundred, int one, AlarmType type)
 {
     Hundred = hundred;
     One     = one;
     Type    = type;
 }
コード例 #55
0
ファイル: SensorAlarm.cs プロジェクト: vsssunder/automatica
        public async Task <SensorAlarmReport> Get(AlarmType type, CancellationToken cancellationToken)
        {
            var response = await Channel.Send(Node, new Command(Class, command.Get, Convert.ToByte(type)), command.Report, cancellationToken);

            return(new SensorAlarmReport(Node, response));
        }
コード例 #56
0
ファイル: BuBiaoData.cs プロジェクト: hhahh2011/CH.Gps
 /// <summary>
 /// 提供给报警服务使用,判断是否报警
 /// </summary>
 /// <param name="AlarmStatus">报警状态位</param>
 /// <param name="type">报警类型</param>
 /// <returns></returns>
 private static bool IsAlarm(UInt32 AlarmStatus, AlarmType type)
 {
     byte[] AlarmStatusByte = BitConverter.GetBytes(AlarmStatus);
     int bitValue = 0;
     switch (type)
     {
         case AlarmType.GNSSModalError:
             //GNSS模块发生故障
             bitValue = BuBiaoData.getBit(AlarmStatusByte[0], 4);
             break;
         case AlarmType.GNSSAntennaNoConn:
             //GNSS天线未接或被剪断
             bitValue = BuBiaoData.getBit(AlarmStatusByte[0], 5);
             break;
         case AlarmType.GNSSAntennaShortOut:
             //GNSS天线短路
             bitValue = BuBiaoData.getBit(AlarmStatusByte[0], 6);
             break;
         case AlarmType.TMLLCDError:
             //终端LCD或显示器故障
             bitValue = BuBiaoData.getBit(AlarmStatusByte[1], 1);
             break;
         case AlarmType.TTSModalError:
             //TTS模块故障
             bitValue = BuBiaoData.getBit(AlarmStatusByte[1], 2);
             break;
         case AlarmType.CameraError:
             //摄像头故障
             bitValue = BuBiaoData.getBit(AlarmStatusByte[1], 3);
             break;
         case AlarmType.VehicleVSSError:
             //车辆VSS故障
             bitValue = BuBiaoData.getBit(AlarmStatusByte[3], 0);
             break;
         case AlarmType.TMLPowerOff:
             //终端主电源掉电
             bitValue = BuBiaoData.getBit(AlarmStatusByte[1], 0);
             break;
         case AlarmType.TMLPowerLow:
             //终端主电源欠压
             bitValue = BuBiaoData.getBit(AlarmStatusByte[0], 7);
             break;
         case AlarmType.DayDriverTimeOut:
             //当天累计驾驶超时
             bitValue = BuBiaoData.getBit(AlarmStatusByte[2], 2);
             break;
         case AlarmType.EmergencyAlarm:
             //紧急报警
             bitValue = BuBiaoData.getBit(AlarmStatusByte[0], 0);
             break;
         case AlarmType.InOutArea:
             //进出区域
             bitValue = BuBiaoData.getBit(AlarmStatusByte[2], 4);
             break;
         case AlarmType.InOutLine:
             //进出路线
             bitValue = BuBiaoData.getBit(AlarmStatusByte[2], 5);
             break;
         case AlarmType.LineDriftAlarm:
             //路线偏离报警
             bitValue = BuBiaoData.getBit(AlarmStatusByte[2], 7);
             break;
         case AlarmType.LineSectionDriverTimeLessOrMore:
             //路段行驶时间不足/过长
             bitValue = BuBiaoData.getBit(AlarmStatusByte[2], 6);
             break;
         case AlarmType.SpeedingAlarm:
             //超速报警
             bitValue = BuBiaoData.getBit(AlarmStatusByte[0], 1);
             break;
         case AlarmType.StopTimeOut:
             //超时停车
             bitValue = BuBiaoData.getBit(AlarmStatusByte[2], 3);
             break;
         case AlarmType.TiredAlarm:
             //疲劳驾驶
             bitValue = BuBiaoData.getBit(AlarmStatusByte[0], 2);
             break;
         default:
             bitValue = 0;
             break;
     }
     if (bitValue == 1)
     {
         return true;
     }
     else
     {
         return false;
     }
 }