using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text;
using System.Windows.Input;
using Aitex.Core.UI.MVVM;
using MECF.Framework.Common.CommonData;
namespace Aitex.Core.Common.DeviceData
{
[DataContract]
[Serializable]
public class AITPressureMeterData : NotifiableItem, IDeviceData
{
[DataMember]
public string Module { get; set; }
[DataMember]
public string DeviceName { get; set; }
///
/// 显示在界面上的名称
///
[DataMember]
public string DisplayName { get; set; }
///
/// IO 表中定义的物理编号,物理追溯使用 比如: M122
///
[DataMember]
public string DeviceSchematicId { get; set; }
[DataMember]
public string Unit { get; set; }
[DataMember]
public string Description { get; set; }
///
/// 量程
///
[DataMember]
public double Scale { get; set; }
///
/// 设定值
///
[DataMember]
public double SetPoint { get; set; }
[DataMember]
public double FeedBack { get; set; }
[DataMember]
public double Precision
{
get; set;
}
///
/// 默认值
///
[DataMember]
public double DefaultValue { get; set; }
///
/// 是否有报警
///
[DataMember]
public bool IsWarning { get; set; }
[DataMember]
public bool IsError { get; set; }
[DataMember]
public bool GaugeAlarm { get; set; }
///
/// alarm或是erro时显示的信息
///
[DataMember]
public string ErroMessage { get; set; }
///
/// MFC,PC
///
[DataMember]
public string Type { get; set; }
[DataMember]
public double Factor { get; set; }
public string Display
{
get
{
return FeedBack > Precision ? Precision.ToString(FormatString) : FeedBack.ToString(FormatString);
}
}
[DataMember]
public string FormatString
{
get ;set;
}
public AITPressureMeterData()
{
DisplayName = "Undefined";
Factor = 1.0;
Unit = "";
Type = "";
GaugeAlarm = false;
Precision = double.MaxValue;
FormatString = "F5";
}
public void Update(IDeviceData data)
{
throw new NotImplementedException();
}
}
public class AITPressureMeterPropertyName
{
public const string Feedback = "Feedback";
}
}