| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | using System;using System.Collections.Generic;using System.Linq;using System.Net.Configuration;using System.Text;using System.Threading.Tasks;using System.Xml;using Aitex.Core.Common.DeviceData;using Aitex.Core.RT.DataCenter;using Aitex.Core.RT.Device;using Aitex.Core.RT.Event;using Aitex.Core.RT.IOCore;using Aitex.Core.RT.OperationCenter;using Aitex.Core.RT.SCCore;using Aitex.Core.Util;namespace MECF.Framework.Common.Device.Bases{    public abstract class ChillerBase : BaseDevice, IDevice    {        public virtual bool IsOn { get; set; }        public virtual bool IsError { get; set; }        public virtual bool IsStable { get; set; }        public virtual bool IsRunning { get; set; }        public virtual bool IsControl { get; set; }                public virtual float Temperature { get; set; }        public virtual float CoolantInletTcFeedback { get; set; }        public virtual float ControlTcFeedback { get; set; }        public virtual float CoolantOutletTcFeedback { get; set; }        public virtual AITChillerData DeviceData { get; set; }        protected ChillerBase() : base()        {        }        protected ChillerBase(string module, string name, string display, string id) : base(module, name, display, id)        {        }        public virtual bool Initialize()        {            DATA.Subscribe($"{Module}.{Name}.DeviceData", () => DeviceData);            DATA.Subscribe($"{Module}.{Name}.IsOn", () => IsRunning);            DATA.Subscribe($"{Module}.{Name}.Temperature", () => Temperature);            OP.Subscribe($"{Module}.{Name}.SetPowerOnOff", (function, args) =>            {                bool isEnable = Convert.ToBoolean((string)args[0]);                SetChillerOnOff(isEnable);                return true;            });            OP.Subscribe($"{Module}.{Name}.ChillerOn", (function, args) =>            {                SetChillerOnOff(true);                return true;            });            OP.Subscribe($"{Module}.{Name}.ChillerOff", (function, args) =>            {                SetChillerOnOff(false);                return true;            });            OP.Subscribe($"{Module}.{Name}.Ramp", (function, args) =>            {                SetChillerTemp((float)Convert.ToDouble((string)args[0]), (float)Convert.ToDouble((string)args[1]));                return true;            });            return true;        }        public virtual void SetChillerOnOff(bool isOn) { }        public virtual void SetChillerTemp(float value, float offset) { }        public virtual void Terminate() { }        public virtual void Monitor() { }        public virtual void Reset() { }        public virtual bool ReConnect()        {            return true;        }    }}
 |