123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- 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;
- namespace Aitex.Core.Common.DeviceData
- {
- [DataContract]
- [Serializable]
- public class AITWaterFlowMeterData : INotifyPropertyChanged, IDeviceData
- {
- public event PropertyChangedEventHandler PropertyChanged;
- public void InvokePropertyChanged(string propertyName)
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
- }
- }
- public void InvokePropertyChanged()
- {
- PropertyInfo[] ps = this.GetType().GetProperties();
- foreach (PropertyInfo p in ps)
- {
- InvokePropertyChanged(p.Name);
- if (p.PropertyType == typeof (ICommand))
- {
- DelegateCommand<string> cmd = p.GetValue(this, null) as DelegateCommand<string>;
- if (cmd != null)
- cmd.RaiseCanExecuteChanged();
- }
- }
- FieldInfo[] fi = this.GetType().GetFields();
- foreach (FieldInfo p in fi)
- {
- InvokePropertyChanged(p.Name);
- if (p.FieldType == typeof (ICommand))
- {
- DelegateCommand<string> cmd = p.GetValue(this) as DelegateCommand<string>;
- if (cmd != null)
- cmd.RaiseCanExecuteChanged();
- }
- }
- }
- /// <summary>
- /// 设备的唯一名称,UI与RT交互的ID
- /// </summary>
- [DataMember]
- public string DeviceName { get; set; }
- /// <summary>
- /// 显示在界面上的名称
- /// </summary>
- [DataMember]
- public string DisplayName { get; set; }
- /// <summary>
- /// IO 表中定义的物理编号,物理追溯使用 比如: M122
- /// </summary>
- [DataMember]
- public string DeviceSchematicId { get; set; }
- [DataMember]
- public string Unit { get; set; }
- [DataMember]
- public string Description { get; set; }
- /// <summary>
- /// 量程
- /// </summary>
- [DataMember]
- public double Scale { get; set; }
- /// <summary>
- /// 设定值
- /// </summary>
- [DataMember]
- public double SetPoint { get; set; }
- [DataMember]
- public double FeedBack { get; set; }
- /// <summary>
- /// 默认值
- /// </summary>
- [DataMember]
- public double DefaultValue { get; set; }
- /// <summary>
- /// 是否有报警
- /// </summary>
- [DataMember]
- public bool IsWarning { get; set; }
- /// <summary>
- /// alarm或是erro时显示的信息
- /// </summary>
- [DataMember]
- public string ErroMessage { get; set; }
- /// <summary>
- /// MFC,PC
- /// </summary>
- [DataMember]
- public string Type { get; set; }
- [DataMember]
- public double Factor { get; set; }
- [DataMember]
- public bool IsOutOfTolerance { get; set; }
- public AITWaterFlowMeterData()
- {
- DisplayName = "Undefined";
- Factor = 1.0;
- Unit = "sccm";
- Type = "FS";
- }
- public void Update(IDeviceData data)
- {
- throw new NotImplementedException();
- }
- }
-
- /// <summary>
- /// 在Spin项目中设定流量计报警值使用
- /// </summary>
- [DataContract]
- [Serializable]
- public class FlowMeterAlarmItem: INotifyPropertyChanged
- {
- public event PropertyChangedEventHandler PropertyChanged;
- public void InvokePropertyChanged(string propertyName)
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
- }
- }
- public void InvokePropertyChanged()
- {
- PropertyInfo[] ps = this.GetType().GetProperties();
- foreach (PropertyInfo p in ps)
- {
- InvokePropertyChanged(p.Name);
- if (p.PropertyType == typeof (ICommand))
- {
- DelegateCommand<string> cmd = p.GetValue(this, null) as DelegateCommand<string>;
- if (cmd != null)
- cmd.RaiseCanExecuteChanged();
- }
- }
- FieldInfo[] fi = this.GetType().GetFields();
- foreach (FieldInfo p in fi)
- {
- InvokePropertyChanged(p.Name);
- if (p.FieldType == typeof (ICommand))
- {
- DelegateCommand<string> cmd = p.GetValue(this) as DelegateCommand<string>;
- if (cmd != null)
- cmd.RaiseCanExecuteChanged();
- }
- }
- }
- [DataMember]
- public string Name { get; set; }
- [DataMember]
- public string DeviceType { get; set; }
- [DataMember]
- public double LowLimit { get; set; }
- [DataMember]
- public double UpperLimit { get; set; }
- [DataMember]
- public string Unit { get; set; }
-
- }
- }
|