| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 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 PumpBase : BaseDevice, IDevice    {        public virtual bool IsOn { get; set; }        public virtual bool IsError { get; set; }        public virtual bool IsStable { get; set; }        public virtual bool IsOverTemperature { get; set; }        public virtual float Speed { get; set; }        public virtual float Temperature { get; set; }         public virtual AITPumpData DeviceData { get; set; }        protected PumpBase() : base()        {        }        protected PumpBase(string module, string name) : base(module, name, name, name)        {        }        public virtual bool Initialize()        {            DATA.Subscribe($"{Module}.{Name}.DeviceData", () => DeviceData);            DATA.Subscribe($"{Module}.{Name}.IsOn", () => IsOn);            DATA.Subscribe($"{Module}.{Name}.IsError", () => IsError);            DATA.Subscribe($"{Module}.{Name}.IsOverTemperature", () => IsOverTemperature);            DATA.Subscribe($"{Module}.{Name}.Speed", () => Speed);            DATA.Subscribe($"{Module}.{Name}.Temperature", () => Temperature);            OP.Subscribe($"{Module}.{Name}.SetPumpOn", (function, args) =>            {                SetPumpOnOff(true);                return true;            });            OP.Subscribe($"{Module}.{Name}.SetPumpOff", (function, args) =>            {                SetPumpOnOff(false);                return true;            });            OP.Subscribe($"{Module}.{Name}.PumpOn", (function, args) =>            {                SetPumpOnOff(true);                return true;            });            OP.Subscribe($"{Module}.{Name}.PumpOff", (function, args) =>            {                SetPumpOnOff(false);                return true;            });            return true;        }         public virtual void SetPumpOnOff(bool isOn)        {                     }          public virtual void Terminate()        {        }        public virtual void Monitor()        {        }        public virtual void Reset()        {        }    }}
 |