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"; } }