using Aitex.Core.RT.DataCenter; using Aitex.Core.RT.Device; using Aitex.Core.RT.OperationCenter; using MECF.Framework.Common.CommonData.DeviceData; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; using System.Xml; namespace MECF.Framework.Common.Device.Bases { public class TempratureHumidityBase : BaseDevice, IDevice { public virtual bool IsConnected => true; public virtual bool IsCH1On { get; set; } public virtual bool IsCH2On { get; set; } public virtual float FrequencyFeedBack { get; set; } public virtual float FrequencySetPoint { get; set; } public virtual bool IsCH1Alarm { get; set; } public virtual bool IsCH2Alarm { get; set; } public virtual bool IsCH1Warning { get; set; } public virtual bool IsCH2Warning { get; set; } public virtual float TemperatureSetpoint { get; set; } public virtual float TemperatureFeedback { get; set; } public virtual float HumiditySetpoint { get; set; } public virtual float HumidityFeedback { get; set; } public virtual float TemperaturePFeedback { get; set; } public virtual float HumidityPFeedback { get; set; } public virtual float TemperatureIFeedback { get; set; } public virtual float HumidityIFeedback { get; set; } public virtual float TemperatureDFeedback { get; set; } public virtual float HumidityDFeedback { get; set; } public virtual float TemperatureOffsetFeedback { get; set; } public virtual float HumidityOffsetFeedback { get; set; } public virtual float TemperaturePSetpoint { get; set; } public virtual float HumidityPSetpoint { get; set; } public virtual float TemperatureISetpoint { get; set; } public virtual float HumidityISetpoint { get; set; } public virtual float TemperatureDSetpoint { get; set; } public virtual float HumidityDSetpoint { get; set; } public virtual float TemperatureOffsetSetpoint { get; set; } public virtual float HumidityOffsetSetpoint { get; set; } public virtual float CH1WaterFlow { get; set; } public virtual float CH2WaterFlow { get; set; } public virtual float TemperatureHighLimit { get; set; } public virtual float TemperatureLowLimit { get; set; } public virtual AITTempratureHumidityData DeviceData { get; set; } protected TempratureHumidityBase() : base() { } protected TempratureHumidityBase(string module, XmlElement node, string ioModule = "") { base.Module = string.IsNullOrEmpty(node.GetAttribute("module")) ? module : node.GetAttribute("module"); base.Name = node.GetAttribute("id"); } public virtual bool Initialize() { DATA.Subscribe($"{Module}.{Name}.DeviceData", () => DeviceData); DATA.Subscribe($"{Module}.{Name}.IsCH1On", () => IsCH1On); DATA.Subscribe($"{Module}.{Name}.IsCH2On", () => IsCH2On); DATA.Subscribe($"{Module}.{Name}.IsCH1Alarm", () => IsCH1Alarm); DATA.Subscribe($"{Module}.{Name}.IsCH2Alarm", () => IsCH2Alarm); DATA.Subscribe($"{Module}.{Name}.TemperatureSetpoint", () => TemperatureSetpoint); DATA.Subscribe($"{Module}.{Name}.HumiditySetpoint", () => HumiditySetpoint); DATA.Subscribe($"{Module}.{Name}.TemperatureFeedback", () => TemperatureFeedback); DATA.Subscribe($"{Module}.{Name}.HumidityFeedback", () => HumidityFeedback); DATA.Subscribe($"{Module}.{Name}.CH1WaterFlow", () => CH1WaterFlow); DATA.Subscribe($"{Module}.{Name}.CH2WaterFlow", () => CH2WaterFlow); return true; } public virtual void Monitor() { } public virtual void Reset() { } public virtual void Terminate() { } } }