using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using MECF.Framework.Common.CommonData;
namespace Aitex.Core.UI.ControlDataContext
{
[DataContract]
[Serializable]
public class AnalogDeviceDataItem : NotifiableItem
{
///
/// 设备的唯一名称,UI与RT交互的ID
///
[DataMember]
public string DeviceName { get; set; }
///
/// 显示在界面上的名称
///
[DataMember]
public string DisplayName { get; set; }
///
/// IO 表中定义的物理编号,物理追溯使用 比如: M122
///
[DataMember]
public string DeviceId { get; set; }
[DataMember]
public string Unit { get; set; }
[DataMember]
public string Description { get; set; }
///
/// 量程
///
[DataMember]
public double Scale { get; set; }
private double _setPoint;
///
/// 设定值
///
[DataMember]
public double SetPoint {
get=>_setPoint;
set
{
_setPoint = value;
this.InvokePropertyChanged("SetPoint");
} }
[DataMember]
public double SetValue { get; set; }
[DataMember]
public bool IsCharge { get; set; }
private double _feedBack;
///
/// 实际反馈值
///
[DataMember]
public double FeedBack
{
get => _feedBack;
set
{
_feedBack = value;
this.InvokePropertyChanged("FeedBack");
}
}
///
/// 默认值
///
[DataMember]
public double DefaultValue { get; set; }
///
/// 是否有报警
///
[DataMember]
public bool IsWarning { get; set; }
///
/// alarm或是erro时显示的信息
///
[DataMember]
public string ErroMessage { get; set; }
///
/// MFC,PC
///
[DataMember]
public string Type { get; set; }
private double _factor = 1.0;
[DataMember]
public double Factor { get { return _factor; } set { _factor = value; } }
private double _virtualFeedBack;
[DataMember]
public double VirtualFeedBack {
get=> _virtualFeedBack;
set
{
_virtualFeedBack = value;
InvokePropertyChanged(nameof(VirtualFeedBack));
} }
///
/// 格式化显示
///
[DataMember]
public string FormatString { get; set; }
[DataMember]
public double RampValue { get; set; }
[DataMember]
public bool IsRampCharge { get; set; }
[DataMember]
public double SetRampValue { get; set; }
[DataMember]
public double RampMaxValue { get; set; } = 99999;
[DataMember]
public double RampMinValue { get; set; }
public AnalogDeviceDataItem()
{
DisplayName = "未定义设备";
FormatString = "F1";
}
}
public class AnalogDeviceOperation
{
public const string Ramp = "Ramp";
}
}