| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | 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.RT.Device;using Aitex.Core.RT.IOCore;using Aitex.Core.RT.SCCore;using Aitex.Core.UI.MVVM;using Aitex.Core.Util;using MECF.Framework.Common.CommonData;using MECF.Framework.Common.Device.Bases;using MECF.Framework.Common.Event;namespace Aitex.Core.Common.DeviceData{    [DataContract]    [Serializable]    public class AITAuxData : NotifiableItem, IDeviceData    {        /// <summary>        /// </summary>        [DataMember]        public string IOName { get; set; }//AI        /// <summary>        /// 显示在界面上的名称        /// </summary>        [DataMember]        public string DisplayName { get; set; }        /// <summary>        /// </summary>        [DataMember]        public string Unit { get; set; }        /// <summary>        /// 当前设定值        /// </summary>        [DataMember]        public float SetPoint { get; set; }        /// <summary>        /// 实际反馈值        /// </summary>        [DataMember]        public float Feedback { get; set; }        [DataMember]        public int TableID { get; set; }        [DataMember]        public int Index { get; set; }        [DataMember]        public float WarningLowLimit { get; set; }        [DataMember]        public float WarningHighLimit { get; set; }        [DataMember]        public float AlarmLowLimit { get; set; }        [DataMember]        public float AlarmHighLimit { get; set; }        public bool IsAlarmLowLimit        {            get { return Feedback < SetPoint - AlarmLowLimit && AlarmLowLimit > 0 && SetPoint > 0; }        }        public bool IsAlarmHighLimit        {            get { return Feedback > SetPoint + AlarmHighLimit && AlarmHighLimit > 0 && SetPoint > 0; }        }        public bool IsWarningLowLimit        {            get { return Feedback < SetPoint - WarningLowLimit && !IsAlarmLowLimit && WarningLowLimit > 0 && SetPoint > 0;  }        }        public bool IsWarningHighLimit        {            get { return Feedback > SetPoint + WarningHighLimit && !IsAlarmHighLimit && WarningHighLimit > 0 && SetPoint > 0; }        }        public AlarmEventItem WarningLowLimitEvent { get; set; }        public AlarmEventItem WarningHighLimitEvent { get; set; }        public AlarmEventItem AlarmLowLimitEvent { get; set; }        public AlarmEventItem AlarmHighLimitEvent { get; set; }        public SCConfigItem AlarmLowLimitConfig { get; set; }        public SCConfigItem AlarmHighLimitConfig { get; set; }        public SCConfigItem WarningLowLimitConfig { get; set; }        public SCConfigItem WarningHighLimitConfig { get; set; }        public SCConfigItem SetPointConfig { get; set; }        public SCConfigItem UnitConfig { get; set; }        public SCConfigItem DisplayNameConfig { get; set; }        public R_TRIG WarningLowLimitTrig { get; set; }        public R_TRIG WarningHighLimitTrig { get; set; }        public R_TRIG AlarmLowLimitTrig { get; set; }        public R_TRIG AlarmHighLimitTrig { get; set; }        public AOAccessor AO { get; set; }        public AIAccessor AISV { get; set; }        public AOAccessor AOAlarmLower { get; set; }        public AOAccessor AOAlarmHigher { get; set; }        public bool IsWait { get; set; }        public float WaitHigh { get; set; }        public float WaitLow { get; set; }        public AITAuxData()        {            DisplayName = "";        }        public void Update(IDeviceData data)        {            throw new NotImplementedException();        }    }}
 |