You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
223 lines
4.3 KiB
223 lines
4.3 KiB
using System;
|
|
using System.ComponentModel;
|
|
|
|
namespace DataService
|
|
{
|
|
|
|
public class AlarmItem : IComparable<AlarmItem>, INotifyPropertyChanged
|
|
{
|
|
int _condiId;
|
|
|
|
Severity _severity;
|
|
SubAlarmType _alarmType;
|
|
DateTime _startTime;
|
|
TimeSpan _duration;
|
|
object _alarmValue;
|
|
string _alarmText;
|
|
string _source;
|
|
|
|
public SubAlarmType SubAlarmType
|
|
{
|
|
get
|
|
{
|
|
return _alarmType;
|
|
}
|
|
set
|
|
{
|
|
_alarmType = value;
|
|
}
|
|
}
|
|
|
|
public Severity Severity
|
|
{
|
|
get
|
|
{
|
|
return _severity;
|
|
}
|
|
set
|
|
{
|
|
_severity = value;
|
|
}
|
|
}
|
|
|
|
public DateTime StartTime
|
|
{
|
|
get
|
|
{
|
|
return _startTime;
|
|
}
|
|
set
|
|
{
|
|
_startTime = value;
|
|
}
|
|
}
|
|
|
|
public int ConditionId
|
|
{
|
|
get
|
|
{
|
|
return _condiId;
|
|
}
|
|
set
|
|
{
|
|
_condiId = value;
|
|
}
|
|
}
|
|
|
|
public TimeSpan Duration
|
|
{
|
|
get
|
|
{
|
|
//return _endTime-_startTime;
|
|
return _duration;
|
|
}
|
|
set
|
|
{
|
|
_duration = value;
|
|
OnPropertyChanged("Duration");
|
|
}
|
|
}
|
|
|
|
public object AlarmValue
|
|
{
|
|
get
|
|
{
|
|
return _alarmValue;
|
|
}
|
|
set
|
|
{
|
|
_alarmValue = value;
|
|
}
|
|
}
|
|
|
|
public string AlarmText
|
|
{
|
|
get
|
|
{
|
|
return _alarmText;
|
|
}
|
|
set
|
|
{
|
|
_alarmText = value;
|
|
}
|
|
}
|
|
|
|
public string Source
|
|
{
|
|
get
|
|
{
|
|
return _source;
|
|
}
|
|
set
|
|
{
|
|
_source = value;
|
|
}
|
|
}
|
|
|
|
public AlarmItem(DateTime time, string alarmText, object alarmValue, SubAlarmType type, Severity severity, int condId, string source)
|
|
{
|
|
this._startTime = time;
|
|
this._alarmType = type;
|
|
this._alarmText = alarmText;
|
|
this._alarmValue = alarmValue;
|
|
this._severity = severity;
|
|
this._condiId = condId;
|
|
this._source = source;
|
|
}
|
|
|
|
public AlarmItem()
|
|
{
|
|
this._startTime = DateTime.Now;
|
|
this._alarmType = SubAlarmType.None;
|
|
this._alarmText = string.Empty;
|
|
this._severity = Severity.Normal;
|
|
this._condiId = -1;
|
|
this._source = string.Empty;
|
|
}
|
|
|
|
#region IComparable<AlarmItem> Members
|
|
|
|
public int CompareTo(AlarmItem other)
|
|
{
|
|
return this._startTime.CompareTo(other._startTime);
|
|
}
|
|
|
|
#endregion
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|
private void OnPropertyChanged(string propertyName)
|
|
{
|
|
if (this.PropertyChanged != null)
|
|
{
|
|
|
|
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
[Flags]
|
|
public enum AlarmType
|
|
{
|
|
None = 0,
|
|
Level = 1,
|
|
Dev = 2,
|
|
Dsc = 4,
|
|
ROC = 8,
|
|
Quality = 16,
|
|
Complex = 32,
|
|
WordDsc = 64
|
|
}
|
|
|
|
[Flags]
|
|
public enum SubAlarmType
|
|
{
|
|
None = 0,
|
|
LoLo = 1,
|
|
Low = 2,
|
|
High = 4,
|
|
HiHi = 8,
|
|
MajDev = 16,
|
|
MinDev = 32,
|
|
Dsc = 64,
|
|
|
|
BadPV = 128,
|
|
MajROC = 256,
|
|
MinROC = 512
|
|
}
|
|
|
|
public enum Severity
|
|
{
|
|
Error = 7,
|
|
High = 6,
|
|
MediumHigh = 5,
|
|
Medium = 4,
|
|
MediumLow = 3,
|
|
Low = 2,
|
|
Information = 1,
|
|
Normal = 0
|
|
}
|
|
|
|
[Flags]
|
|
public enum ConditionState : byte
|
|
{
|
|
Acked = 4,
|
|
Actived = 2,
|
|
Enabled = 1
|
|
}
|
|
|
|
public enum EventType : byte
|
|
{
|
|
Simple = 1,
|
|
TraceEvent = 2,
|
|
ConditionEvent = 4,
|
|
}
|
|
|
|
public enum ConditionType : byte
|
|
{
|
|
Absolute = 0,
|
|
Percent = 1
|
|
}
|
|
|
|
}
|
|
|